emacsPackages.treemacs: replace python3 program (#364623)
[NixPkgs.git] / pkgs / by-name / ro / robo3t / package.nix
blob784ecf6cb244b11d09cd0c454f0af1f9045549d7
2   lib,
3   stdenv,
4   fetchurl,
5   curlWithGnuTls,
6   zlib,
7   glib,
8   xorg,
9   dbus,
10   fontconfig,
11   libGL,
12   freetype,
13   xkeyboard_config,
14   makeDesktopItem,
15   makeWrapper,
18 stdenv.mkDerivation rec {
19   pname = "robo3t";
20   version = "1.4.3";
21   rev = "48f7dfd";
23   src = fetchurl {
24     url = "https://github.com/Studio3T/robomongo/releases/download/v${version}/robo3t-${version}-linux-x86_64-${rev}.tar.gz";
25     sha256 = "sha256-pH4q/O3bq45ZZn+s/12iScd0WbfkcLjK4MBdVCMXK00=";
26   };
28   icon = fetchurl {
29     url = "https://github.com/Studio3T/robomongo/raw/${rev}/install/macosx/robomongo.iconset/icon_128x128.png";
30     sha256 = "sha256-2PkUxBq2ow0wl09k8B6LJJUQ+y4GpnmoAeumKN1u5xg=";
31   };
33   desktopItem = makeDesktopItem {
34     name = "robo3t";
35     exec = "robo3t";
36     icon = icon;
37     comment = "Query GUI for mongodb";
38     desktopName = "Robo3T";
39     genericName = "MongoDB management tool";
40     categories = [
41       "Development"
42       "IDE"
43     ];
44   };
46   nativeBuildInputs = [ makeWrapper ];
48   ldLibraryPath = lib.makeLibraryPath [
49     stdenv.cc.cc
50     zlib
51     glib
52     xorg.libXi
53     xorg.libxcb
54     xorg.libXrender
55     xorg.libX11
56     xorg.libSM
57     xorg.libICE
58     xorg.libXext
59     dbus
60     fontconfig
61     freetype
62     libGL
63     curlWithGnuTls
64   ];
66   installPhase = ''
67     runHook preInstall
69     BASEDIR=$out/lib/robo3t
71     mkdir -p $BASEDIR/bin
72     cp bin/* $BASEDIR/bin
74     mkdir -p $BASEDIR/lib
75     cp -r lib/* $BASEDIR/lib
77     mkdir -p $out/share/applications
78     cp $desktopItem/share/applications/* $out/share/applications
80     mkdir -p $out/share/icons
81     cp ${icon} $out/share/icons/robomongo.png
83     patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $BASEDIR/bin/robo3t
85     mkdir $out/bin
87     makeWrapper $BASEDIR/bin/robo3t $out/bin/robo3t \
88       --suffix LD_LIBRARY_PATH : ${ldLibraryPath} \
89       --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
91     runHook postInstall
92   '';
94   meta = with lib; {
95     homepage = "https://robomongo.org/";
96     description = "Query GUI for mongodb. Formerly called Robomongo";
97     platforms = [ "x86_64-linux" ];
98     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
99     license = licenses.gpl3Only;
100     maintainers = with maintainers; [ eperuffo ];
101     mainProgram = "robo3t";
102   };