diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2024-06-16 20:26:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-16 20:26:25 +0200 |
commit | 33c992ca44548fbc2c1730eb774779c75cb2d4e6 (patch) | |
tree | 2ce8038a4da72c985cfadac5775192a257c4a500 /pkgs | |
parent | b744aaaeee3d1e12248e33b61a88714e80d7b3c7 (diff) | |
parent | 224aa24a1c6ce18991dec003b29d1fbe04f8eb3e (diff) |
Merge pull request #320205 from yzx9/update-dbeaver-bin-darwin
dbeaver-bin: add darwin support
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/by-name/db/dbeaver-bin/package.nix | 94 | ||||
-rwxr-xr-x | pkgs/by-name/db/dbeaver-bin/update.sh | 4 |
2 files changed, 64 insertions, 34 deletions
diff --git a/pkgs/by-name/db/dbeaver-bin/package.nix b/pkgs/by-name/db/dbeaver-bin/package.nix index 4f516930c313a..ee80efd1c3d6f 100644 --- a/pkgs/by-name/db/dbeaver-bin/package.nix +++ b/pkgs/by-name/db/dbeaver-bin/package.nix @@ -1,23 +1,27 @@ -{ lib -, stdenvNoCC -, fetchurl -, makeWrapper -, openjdk17 -, gnused -, autoPatchelfHook -, wrapGAppsHook3 +{ + lib, + stdenvNoCC, + fetchurl, + undmg, + makeWrapper, + openjdk17, + gnused, + autoPatchelfHook, + wrapGAppsHook3, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbeaver-bin"; version = "24.0.5"; - nativeBuildInputs = [ - makeWrapper - gnused - autoPatchelfHook - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ makeWrapper ] + ++ lib.optionals (!stdenvNoCC.isDarwin) [ + gnused + wrapGAppsHook3 + autoPatchelfHook + ] + ++ lib.optionals stdenvNoCC.isDarwin [ undmg ]; src = let @@ -26,10 +30,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { suffix = selectSystem { x86_64-linux = "linux.gtk.x86_64-nojdk.tar.gz"; aarch64-linux = "linux.gtk.aarch64-nojdk.tar.gz"; + x86_64-darwin = "macos-x86_64.dmg"; + aarch64-darwin = "macos-aarch64.dmg"; }; hash = selectSystem { x86_64-linux = "sha256-q6VIr55hXn47kZrE2i6McEOfp2FBOvwB0CcUnRHFMZs="; aarch64-linux = "sha256-Xn3X1C31UALBAsZIGyMWdp0HNhJEm5N+7Go7nMs8W64="; + x86_64-darwin = "sha256-XOQaMNQHOC4dVJXIUn4l4Oa7Gohbq+JMDFusIy/U+tc="; + aarch64-darwin = "sha256-554ea5p1MR4XIHtSeByd4S/Ke4cKRZbITTNRRDoRqPI="; }; in fetchurl { @@ -40,28 +48,44 @@ stdenvNoCC.mkDerivation (finalAttrs: { dontConfigure = true; dontBuild = true; - installPhase = '' - runHook preInstall - mkdir -p $out/opt/dbeaver $out/bin - cp -r * $out/opt/dbeaver - makeWrapper $out/opt/dbeaver/dbeaver $out/bin/dbeaver \ - --prefix PATH : "${openjdk17}/bin" \ - --set JAVA_HOME "${openjdk17.home}" + sourceRoot = lib.optional stdenvNoCC.isDarwin "dbeaver.app"; - mkdir -p $out/share/icons/hicolor/256x256/apps - ln -s $out/opt/dbeaver/dbeaver.png $out/share/icons/hicolor/256x256/apps/dbeaver.png + installPhase = + if !stdenvNoCC.isDarwin then + '' + runHook preInstall + mkdir -p $out/opt/dbeaver $out/bin + cp -r * $out/opt/dbeaver + makeWrapper $out/opt/dbeaver/dbeaver $out/bin/dbeaver \ + --prefix PATH : "${openjdk17}/bin" \ + --set JAVA_HOME "${openjdk17.home}" - mkdir -p $out/share/applications - ln -s $out/opt/dbeaver/dbeaver-ce.desktop $out/share/applications/dbeaver.desktop + mkdir -p $out/share/icons/hicolor/256x256/apps + ln -s $out/opt/dbeaver/dbeaver.png $out/share/icons/hicolor/256x256/apps/dbeaver.png - substituteInPlace $out/opt/dbeaver/dbeaver-ce.desktop \ - --replace-fail "/usr/share/dbeaver-ce/dbeaver.png" "dbeaver" \ - --replace-fail "/usr/share/dbeaver-ce/dbeaver" "$out/bin/dbeaver" + mkdir -p $out/share/applications + ln -s $out/opt/dbeaver/dbeaver-ce.desktop $out/share/applications/dbeaver.desktop - sed -i '/^Path=/d' $out/share/applications/dbeaver.desktop + substituteInPlace $out/opt/dbeaver/dbeaver-ce.desktop \ + --replace-fail "/usr/share/dbeaver-ce/dbeaver.png" "dbeaver" \ + --replace-fail "/usr/share/dbeaver-ce/dbeaver" "$out/bin/dbeaver" - runHook postInstall - ''; + sed -i '/^Path=/d' $out/share/applications/dbeaver.desktop + + runHook postInstall + '' + else + '' + runHook preInstall + + mkdir -p $out/{Applications/dbeaver.app,bin} + cp -R . $out/Applications/dbeaver.app + makeWrapper $out/{Applications/dbeaver.app/Contents/MacOS,bin}/dbeaver \ + --prefix PATH : "${openjdk17}/bin" \ + --set JAVA_HOME "${openjdk17.home}" + + runHook postInstall + ''; passthru.updateScript = ./update.sh; @@ -76,8 +100,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { ''; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.asl20; - platforms = platforms.linux; - maintainers = with maintainers; [ gepbird mkg20001 ]; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ + gepbird + mkg20001 + yzx9 + ]; mainProgram = "dbeaver"; }; }) diff --git a/pkgs/by-name/db/dbeaver-bin/update.sh b/pkgs/by-name/db/dbeaver-bin/update.sh index ad8461e5a2eb8..64b965da6db07 100755 --- a/pkgs/by-name/db/dbeaver-bin/update.sh +++ b/pkgs/by-name/db/dbeaver-bin/update.sh @@ -14,7 +14,9 @@ fi for i in \ "x86_64-linux linux.gtk.x86_64-nojdk.tar.gz" \ - "aarch64-linux linux.gtk.aarch64-nojdk.tar.gz" + "aarch64-linux linux.gtk.aarch64-nojdk.tar.gz" \ + "x86_64-darwin macos-x86_64.dmg" \ + "aarch64-darwin macos-aarch64.dmg" do set -- $i prefetch=$(nix-prefetch-url "https://github.com/dbeaver/dbeaver/releases/download/$latestVersion/dbeaver-ce-$latestVersion-$2") |