aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/graphics/avocode/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/graphics/avocode/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/graphics/avocode/default.nix102
1 files changed, 102 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/graphics/avocode/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/graphics/avocode/default.nix
new file mode 100644
index 000000000000..6d4fa501710d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/graphics/avocode/default.nix
@@ -0,0 +1,102 @@
+{ stdenv, makeDesktopItem, fetchurl, unzip
+, gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3
+, xorg, mozjpeg, makeWrapper, wrapGAppsHook, libuuid, at-spi2-core
+}:
+
+stdenv.mkDerivation rec {
+ pname = "avocode";
+ version = "4.10.4";
+
+ src = fetchurl {
+ url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
+ sha256 = "06xf5y2mljk3pd74ap9n90bhhidbzpg5c6wws361ygd4f3x86c46";
+ };
+
+ libPath = stdenv.lib.makeLibraryPath (with xorg; [
+ stdenv.cc.cc.lib
+ at-spi2-core.out
+ gdk-pixbuf
+ glib
+ gtk3
+ atk
+ at-spi2-atk
+ pango
+ cairo
+ freetype
+ fontconfig
+ dbus
+ nss
+ nspr
+ alsaLib
+ cups
+ expat
+ udev
+ libX11
+ libxcb
+ libXi
+ libXcursor
+ libXdamage
+ libXrandr
+ libXcomposite
+ libXext
+ libXfixes
+ libXrender
+ libXtst
+ libXScrnSaver
+ libuuid
+ ]);
+
+ desktopItem = makeDesktopItem {
+ name = "Avocode";
+ exec = "avocode";
+ icon = "avocode";
+ desktopName = "Avocode";
+ genericName = "Design Inspector";
+ categories = "Development;";
+ comment = "The bridge between designers and developers";
+ };
+
+ nativeBuildInputs = [makeWrapper wrapGAppsHook];
+ buildInputs = [ unzip gtk3 gnome3.adwaita-icon-theme ];
+
+ # src is producing multiple folder on unzip so we must
+ # override unpackCmd to extract it into newly created folder
+ unpackCmd = ''
+ mkdir out
+ unzip $curSrc -d out
+ '';
+
+ installPhase = ''
+ substituteInPlace avocode.desktop.in \
+ --replace /path/to/avocode-dir/Avocode $out/bin/avocode \
+ --replace /path/to/avocode-dir/avocode.png avocode
+
+ mkdir -p share/applications share/pixmaps
+ mv avocode.desktop.in share/applications/avocode.desktop
+ mv avocode.png share/pixmaps/
+
+ rm resources/cjpeg
+ cp -av . $out
+
+ mkdir $out/bin
+ ln -s $out/avocode $out/bin/avocode
+ ln -s ${mozjpeg}/bin/cjpeg $out/resources/cjpeg
+ '';
+
+ postFixup = ''
+ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/avocode
+ for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
+ patchelf --set-rpath ${libPath}:$out/ $file || true
+ done
+ '';
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ homepage = "https://avocode.com/";
+ description = "The bridge between designers and developers";
+ license = licenses.unfree;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ megheaiulian ];
+ };
+}