mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-24 05:00:19 +00:00
Merge pull request #320205 from yzx9/update-dbeaver-bin-darwin
dbeaver-bin: add darwin support
This commit is contained in:
commit
33c992ca44
@ -23018,6 +23018,15 @@
|
||||
githubId = 5253988;
|
||||
name = "yvt";
|
||||
};
|
||||
yzx9 = {
|
||||
email = "yuan.zx@outlook.com";
|
||||
github = "yzx9";
|
||||
githubId = 41458459;
|
||||
name = "Zexin Yuan";
|
||||
keys = [{
|
||||
fingerprint = "FE16 B281 90EF 6C3F F661 6441 C2DD 1916 FE47 1BE2";
|
||||
}];
|
||||
};
|
||||
zachcoyle = {
|
||||
email = "zach.coyle@gmail.com";
|
||||
github = "zachcoyle";
|
||||
|
@ -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";
|
||||
};
|
||||
})
|
||||
|
@ -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")
|
||||
|
Loading…
Reference in New Issue
Block a user