biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / glamoroustoolkit / default.nix
blob3a32bfdaddaa2343659600ded651045b9bbb0730
1 { lib
2 , stdenv
3 , fetchzip
4 , wrapGAppsHook
5 , cairo
6 , dbus
7 , fontconfig
8 , freetype
9 , glib
10 , gtk3
11 , libX11
12 , libXcursor
13 , libXext
14 , libXi
15 , libXrandr
16 , libXrender
17 , libgit2
18 , libglvnd
19 , libuuid
20 , libxcb
23 stdenv.mkDerivation (finalAttrs: {
24   pname = "glamoroustoolkit";
25   version = "1.0.11";
27   src = fetchzip {
28     url = "https://github.com/feenkcom/gtoolkit-vm/releases/download/v${finalAttrs.version}/GlamorousToolkit-x86_64-unknown-linux-gnu.zip";
29     stripRoot = false;
30     hash = "sha256-GQeYR232zoHLIt1AzznD7rp6u4zMiAdj1+0OfXfT6AQ=";
31   };
33   nativeBuildInputs = [ wrapGAppsHook ];
35   sourceRoot = ".";
37   dontConfigure = true;
38   dontBuild = true;
39   dontPatchELF = true;
41   installPhase = ''
42     runHook preInstall
44     install -d $out/bin $out/lib
45     cp -r $src/bin $src/lib $out/
46     cp ${./GlamorousToolkit-GetImage} $out/bin/GlamorousToolkit-GetImage
48     runHook postInstall
49   '';
51 preFixup = let
52     libPath = lib.makeLibraryPath [
53       cairo
54       dbus
55       fontconfig
56       freetype
57       glib
58       gtk3
59       libX11
60       libXcursor
61       libXext
62       libXi
63       libXrandr
64       libXrender
65       libglvnd
66       libuuid
67       libxcb
68       stdenv.cc.cc.lib
69     ];
70   in ''
71     chmod +x $out/lib/*.so
72     patchelf \
73       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
74       --set-rpath "${libPath}:$out/lib" \
75       $out/bin/GlamorousToolkit $out/bin/GlamorousToolkit-cli
76     patchelf --shrink-rpath \
77       $out/bin/GlamorousToolkit $out/bin/GlamorousToolkit-cli
78     patchelf \
79       --set-rpath "${libPath}:$out/lib" \
80       $out/lib/*.so
81     patchelf --shrink-rpath $out/lib/*.so
82     #
83     # shrink-rpath gets it wrong for the following libraries,
84     # restore the full rpath.
85     #
86     patchelf \
87       --set-rpath "${libPath}:$out/lib" \
88       $out/lib/libPharoVMCore.so \
89       $out/lib/libWinit.so \
90       $out/lib/libPixels.so
91     patchelf --set-rpath $out/lib $out/lib/libssl.so
93     ln -s $out/lib/libcrypto.so $out/lib/libcrypto.so.1.1
94     ln -s $out/lib/libcairo.so $out/lib/libcairo.so.2
95     rm $out/lib/libgit2.so
96     ln -s "${libgit2}/lib/libgit2.so" $out/lib/libgit2.so.1.1
97   '';
99   meta = {
100     homepage = "https://gtoolkit.com";
101     description = "The GlamorousToolkit Development Environment";
102     license = lib.licenses.mit;
103     maintainers = [ lib.maintainers.akgrant43 ];
104     platforms = [ "x86_64-linux" ];
105     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
106   };