Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / no / nosql-workbench / package.nix
blobe3d1890665a5b25c44c15c2119192970e2ee5195
2   appimageTools,
3   lib,
4   fetchurl,
5   jdk21,
6   stdenv,
7   _7zz
8 }:
9 let
10   pname = "nosql-workbench";
11   version = "3.11.0";
13   src = fetchurl {
14     x86_64-darwin = {
15       url = "https://s3.amazonaws.com/nosql-workbench/NoSQL%20Workbench-mac-x64-${version}.dmg";
16       hash = "sha256-KM3aDDsQGZwUKU/or0eOoP8okAOPH7q8KL46RwfqhzM=";
17     };
18     aarch64-darwin = {
19       url = "https://s3.amazonaws.com/nosql-workbench/NoSQL%20Workbench-mac-arm64-${version}.dmg";
20       hash = "sha256-LzHiCMrDOWDuMNkkojLgKn+UG7x76wSAz0BapyWkAzU=";
21     };
22     x86_64-linux = {
23       url = "https://s3.amazonaws.com/nosql-workbench/NoSQL%20Workbench-linux-${version}.AppImage";
24       hash = "sha256-cDOSbhAEFBHvAluxTxqVpva1GJSlFhiozzRfuM4MK5c=";
25     };
26   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
28   meta = {
29     description = "Visual tool that provides data modeling, data visualization, and query development features to help you design, create, query, and manage DynamoDB tables";
30     homepage = "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/workbench.html";
31     changelog = "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkbenchDocumentHistory.html";
32     license = lib.licenses.unfree;
33     maintainers = with lib.maintainers; [ DataHearth ];
34     platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
35   };
37 if stdenv.isDarwin then stdenv.mkDerivation {
38   inherit pname version src meta;
40   sourceRoot = ".";
42   # DMG file is using APFS which is unsupported by "undmg".
43   # Instead, use "7zz" to extract the contents.
44   # "undmg" issue: https://github.com/matthewbauer/undmg/issues/4
45   nativeBuildInputs = [ _7zz ];
47   buildInputs = [ jdk21 ];
49   installPhase = ''
50     runHook preInstall
52     mkdir -p "$out/Applications"
53     mv NoSQL\ Workbench.app $out/Applications/
55     runHook postInstall
56   '';
58 } else appimageTools.wrapType2 {
59   inherit pname version src meta;
61   extraPkgs = pkgs: [
62     # Required to run DynamoDB locally
63     pkgs.jdk21
64   ];
66   extraInstallCommands = let
67     appimageContents = appimageTools.extract {
68       inherit pname version src;
69     };
70   in ''
71     # Install XDG Desktop file and its icon
72     install -Dm444 ${appimageContents}/nosql-workbench.desktop -t $out/share/applications
73     install -Dm444 ${appimageContents}/nosql-workbench.png -t $out/share/pixmaps
75     # Replace wrong exec statement in XDG Desktop file
76     substituteInPlace $out/share/applications/nosql-workbench.desktop \
77         --replace 'Exec=AppRun --no-sandbox %U' 'Exec=nosql-workbench'
78   '';