biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / graphics / avocode / default.nix
bloba6a3563743b36819f4274ac49d52760137cc933c
1 { lib, stdenv, makeDesktopItem, fetchurl, unzip
2 , gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsa-lib, cups, expat, udev, gnome
3 , xorg, mozjpeg, makeWrapper, wrapGAppsHook, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon
4 }:
6 stdenv.mkDerivation rec {
7   pname = "avocode";
8   version = "4.15.6";
10   src = fetchurl {
11     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
12     sha256 = "sha256-vNQT4jyMIIAk1pV3Hrp40nawFutWCv7xtwg2gU6ejy0=";
13   };
15   libPath = lib.makeLibraryPath (with xorg; [
16     stdenv.cc.cc.lib
17     at-spi2-core.out
18     gdk-pixbuf
19     glib
20     gtk3
21     atk
22     at-spi2-atk
23     pango
24     cairo
25     freetype
26     fontconfig
27     dbus
28     nss
29     nspr
30     alsa-lib
31     cups
32     expat
33     udev
34     libX11
35     libxcb
36     libxshmfence
37     libxkbcommon
38     libXi
39     libXcursor
40     libXdamage
41     libXrandr
42     libXcomposite
43     libXext
44     libXfixes
45     libXrender
46     libXtst
47     libXScrnSaver
48     libuuid
49     libdrm
50     mesa
51   ]);
53   desktopItem = makeDesktopItem {
54     name = "Avocode";
55     exec = "avocode";
56     icon = "avocode";
57     desktopName = "Avocode";
58     genericName = "Design Inspector";
59     categories = [ "Development" ];
60     comment = "The bridge between designers and developers";
61   };
63   nativeBuildInputs = [makeWrapper wrapGAppsHook unzip];
64   buildInputs = [ gtk3 gnome.adwaita-icon-theme ];
66   # src is producing multiple folder on unzip so we must
67   # override unpackCmd to extract it into newly created folder
68   unpackCmd = ''
69     mkdir out
70     unzip $curSrc -d out
71   '';
73   installPhase = ''
74     substituteInPlace avocode.desktop.in \
75       --replace /path/to/avocode-dir/Avocode $out/bin/avocode \
76       --replace /path/to/avocode-dir/avocode.png avocode
78     mkdir -p share/applications share/pixmaps
79     mv avocode.desktop.in share/applications/avocode.desktop
80     mv avocode.png share/pixmaps/
82     rm resources/cjpeg
83     cp -av . $out
85     mkdir $out/bin
86     ln -s $out/avocode $out/bin/avocode
87     ln -s ${mozjpeg}/bin/cjpeg $out/resources/cjpeg
88   '';
90   postFixup = ''
91     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/avocode
92     for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
93       patchelf --set-rpath ${libPath}:$out/ $file || true
94     done
95   '';
97   enableParallelBuilding = true;
99   meta = with lib; {
100     homepage = "https://avocode.com/";
101     description = "The bridge between designers and developers";
102     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
103     license = licenses.unfree;
104     platforms = platforms.linux;
105     maintainers = with maintainers; [ megheaiulian ];
106   };