python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / misc / mongodb-compass / default.nix
blobd946a1918008c9df2cdd276fa757fe23516e665f
2 alsa-lib,
3 at-spi2-atk,
4 at-spi2-core,
5 atk,
6 cairo,
7 cups,
8 curl,
9 dbus,
10 dpkg,
11 expat,
12 fetchurl,
13 fontconfig,
14 freetype,
15 gdk-pixbuf,
16 glib,
17 gtk3,
18 lib,
19 libdrm,
20 libnotify,
21 libsecret,
22 libuuid,
23 libxcb,
24 libxkbcommon,
25 mesa,
26 nspr,
27 nss,
28 pango,
29 stdenv,
30 systemd,
31 wrapGAppsHook,
32 xorg,
35 let
36   version = "1.33.1";
38   rpath = lib.makeLibraryPath [
39     alsa-lib
40     at-spi2-atk
41     at-spi2-core
42     atk
43     cairo
44     cups
45     curl
46     dbus
47     expat
48     fontconfig
49     freetype
50     gdk-pixbuf
51     glib
52     gtk3
53     libdrm
54     libnotify
55     libsecret
56     libuuid
57     libxcb
58     libxkbcommon
59     mesa
60     nspr
61     nss
62     pango
63     stdenv.cc.cc
64     systemd
65     xorg.libX11
66     xorg.libXScrnSaver
67     xorg.libXcomposite
68     xorg.libXcursor
69     xorg.libXdamage
70     xorg.libXext
71     xorg.libXfixes
72     xorg.libXi
73     xorg.libXrandr
74     xorg.libXrender
75     xorg.libXtst
76     xorg.libxkbfile
77     xorg.libxshmfence
78     (lib.getLib stdenv.cc.cc)
79   ];
81   src =
82     if stdenv.hostPlatform.system == "x86_64-linux" then
83       fetchurl {
84         url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb";
85         sha256 = "sha256-Db3Xv6kNAPWqeM+vZeG7GieweaThJO0CCuwm6/v4l2s=";
86       }
87     else
88       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
89       # NOTE While MongoDB Compass is available to darwin, I do not have resources to test it
90       # Feel free to make a PR adding support if desired
92 in stdenv.mkDerivation {
93   pname = "mongodb-compass";
94   inherit version;
96   inherit src;
98   buildInputs = [ dpkg wrapGAppsHook gtk3 ];
99   dontUnpack = true;
101   buildCommand = ''
102     IFS=$'\n'
104     # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
105     dpkg --fsys-tarfile $src | tar --extract
107     mkdir -p $out
108     mv usr/* $out
110     # cp -av $out/usr/* $out
111     rm -rf $out/share/lintian
113     # The node_modules are bringing in non-linux files/dependencies
114     find $out -name "*.app" -exec rm -rf {} \; || true
115     find $out -name "*.dll" -delete
116     find $out -name "*.exe" -delete
118     # Otherwise it looks "suspicious"
119     chmod -R g-w $out
121     for file in `find $out -type f -perm /0111 -o -name \*.so\*`; do
122       echo "Manipulating file: $file"
123       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
124       patchelf --set-rpath ${rpath}:$out/lib/mongodb-compass "$file" || true
125     done
127     wrapGAppsHook $out/bin/mongodb-compass
128   '';
130   meta = with lib; {
131     description = "The GUI for MongoDB";
132     maintainers = with maintainers; [ bryanasdev000 ];
133     homepage = "https://github.com/mongodb-js/compass";
134     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
135     license = licenses.sspl;
136     platforms = [ "x86_64-linux" ];
137   };