Skip to content

Commit 28bc202

Browse files
authored
gdevelop: add darwin support, add maintainer (#403164)
2 parents cff688a + 640dc34 commit 28bc202

File tree

3 files changed

+98
-32
lines changed

3 files changed

+98
-32
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
stdenvNoCC,
3+
fetchurl,
4+
unzip,
5+
6+
pname,
7+
version,
8+
meta,
9+
}:
10+
stdenvNoCC.mkDerivation (finalAttrs: {
11+
inherit pname version meta;
12+
13+
src = fetchurl {
14+
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip";
15+
hash = "sha256-0FT4JHGJKy6UapuV2tXKzWm0Esr6DPqu38PllUbUtrY=";
16+
};
17+
18+
sourceRoot = ".";
19+
nativeBuildInputs = [ unzip ];
20+
21+
dontPatch = true;
22+
dontConfigure = true;
23+
dontBuild = true;
24+
dontFixup = true;
25+
26+
installPhase = ''
27+
runHook preInstall
28+
mkdir -p $out/Applications
29+
cp -r "GDevelop 5.app" $out/Applications/
30+
runHook postInstall
31+
'';
32+
33+
})

pkgs/by-name/gd/gdevelop/linux.nix

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
stdenv,
3+
fetchurl,
4+
appimageTools,
5+
6+
version,
7+
pname,
8+
meta,
9+
}:
10+
let
11+
src =
12+
if stdenv.hostPlatform.system == "x86_64-linux" then
13+
fetchurl {
14+
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}.AppImage";
15+
hash = "sha256-KV6gzPiu/45ibdzMG707vd10F6qLcm+afwJWa6WlywU=";
16+
}
17+
else
18+
throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
19+
appimageContents = appimageTools.extractType2 {
20+
inherit pname version src;
21+
postExtract = ''
22+
substituteInPlace $out/gdevelop.desktop --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=gdevelop'
23+
'';
24+
};
25+
in
26+
appimageTools.wrapType2 {
27+
inherit
28+
pname
29+
version
30+
src
31+
meta
32+
;
33+
34+
extraInstallCommands = ''
35+
mkdir -p $out/share/applications
36+
cp ${appimageContents}/gdevelop.desktop $out/share/applications
37+
mkdir -p $out/share/icons
38+
cp -r ${appimageContents}/usr/share/icons/hicolor $out/share/icons
39+
'';
40+
41+
}
Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,39 @@
11
{
22
lib,
33
stdenv,
4-
fetchurl,
5-
appimageTools,
4+
callPackage,
5+
...
66
}:
77
let
88
version = "5.5.229";
99
pname = "gdevelop";
10-
11-
src =
12-
if stdenv.hostPlatform.system == "x86_64-linux" then
13-
fetchurl {
14-
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}.AppImage";
15-
sha256 = "sha256-KV6gzPiu/45ibdzMG707vd10F6qLcm+afwJWa6WlywU=";
16-
}
17-
else
18-
throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
19-
appimageContents = appimageTools.extractType2 {
20-
inherit pname version src;
21-
postExtract = ''
22-
substituteInPlace $out/gdevelop.desktop --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=gdevelop'
23-
'';
24-
};
25-
dontPatchELF = true;
26-
in
27-
appimageTools.wrapType2 {
28-
inherit pname version src;
29-
30-
extraInstallCommands = ''
31-
mkdir -p $out/share/applications
32-
cp ${appimageContents}/gdevelop.desktop $out/share/applications
33-
mkdir -p $out/share/icons
34-
cp -r ${appimageContents}/usr/share/icons/hicolor $out/share/icons
35-
'';
36-
3710
meta = {
3811
description = "Graphical Game Development Studio";
3912
homepage = "https://gdevelop.io/";
4013
downloadPage = "https://github.com/4ian/GDevelop/releases";
4114
license = lib.licenses.mit;
4215
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
43-
maintainers = with lib.maintainers; [ tombert ];
16+
maintainers = with lib.maintainers; [
17+
tombert
18+
matteopacini
19+
];
4420
mainProgram = "gdevelop";
45-
platforms = [ "x86_64-linux" ];
21+
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
4622
};
47-
}
23+
in
24+
if stdenv.hostPlatform.isDarwin then
25+
callPackage ./darwin.nix {
26+
inherit
27+
pname
28+
version
29+
meta
30+
;
31+
}
32+
else
33+
callPackage ./linux.nix {
34+
inherit
35+
pname
36+
version
37+
meta
38+
;
39+
}

0 commit comments

Comments
 (0)