tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
gdevelop: added update script
Matteo Pacini
8 months ago
b4b2d723
be269002
+45
-1
4 changed files
expand all
collapse all
unified
split
pkgs
by-name
gd
gdevelop
darwin.nix
linux.nix
package.nix
update.sh
+7
-1
pkgs/by-name/gd/gdevelop/darwin.nix
···
6
pname,
7
version,
8
meta,
0
9
}:
10
stdenvNoCC.mkDerivation (finalAttrs: {
11
-
inherit pname version meta;
0
0
0
0
0
12
13
src = fetchurl {
14
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip";
···
6
pname,
7
version,
8
meta,
9
+
passthru,
10
}:
11
stdenvNoCC.mkDerivation (finalAttrs: {
12
+
inherit
13
+
pname
14
+
version
15
+
meta
16
+
passthru
17
+
;
18
19
src = fetchurl {
20
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip";
+2
pkgs/by-name/gd/gdevelop/linux.nix
···
6
version,
7
pname,
8
meta,
0
9
}:
10
let
11
src =
···
29
version
30
src
31
meta
0
32
;
33
34
extraInstallCommands = ''
···
6
version,
7
pname,
8
meta,
9
+
passthru,
10
}:
11
let
12
src =
···
30
version
31
src
32
meta
33
+
passthru
34
;
35
36
extraInstallCommands = ''
+3
pkgs/by-name/gd/gdevelop/package.nix
···
20
mainProgram = "gdevelop";
21
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
22
};
0
23
in
24
if stdenv.hostPlatform.isDarwin then
25
callPackage ./darwin.nix {
···
27
pname
28
version
29
meta
0
30
;
31
}
32
else
···
35
pname
36
version
37
meta
0
38
;
39
}
···
20
mainProgram = "gdevelop";
21
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
22
};
23
+
passthru.updateScript = ./update.sh;
24
in
25
if stdenv.hostPlatform.isDarwin then
26
callPackage ./darwin.nix {
···
28
pname
29
version
30
meta
31
+
passthru
32
;
33
}
34
else
···
37
pname
38
version
39
meta
40
+
passthru
41
;
42
}
+33
pkgs/by-name/gd/gdevelop/update.sh
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
#!/usr/bin/env nix-shell
2
+
#!nix-shell -i bash -p curl jq gnused
3
+
4
+
set -euo pipefail
5
+
6
+
cd "$(dirname "$0")" || exit 1
7
+
8
+
# Grab latest version from the GitHub repository
9
+
LATEST_VER="$(curl --fail -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/4ian/GDevelop/releases" | jq -r '.[0].tag_name' | sed 's/^v//')"
10
+
CURRENT_VER="$(grep -oP 'version = "\K[^"]+' package.nix)"
11
+
12
+
if [[ "$LATEST_VER" == "$CURRENT_VER" ]]; then
13
+
echo "gdevelop is up-to-date"
14
+
exit 0
15
+
fi
16
+
17
+
echo "Updating gdevelop from $CURRENT_VER to $LATEST_VER"
18
+
19
+
# Update the version
20
+
sed -i "s#version = \".*\";#version = \"$LATEST_VER\";#g" package.nix
21
+
22
+
# Update hashes
23
+
# - Linux
24
+
25
+
LINUX_HASH="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/4ian/GDevelop/releases/download/v${LATEST_VER}/GDevelop-5-${LATEST_VER}.AppImage")")"
26
+
sed -i "s#hash = \".*\"#hash = \"$LINUX_HASH\"#g" linux.nix
27
+
28
+
# - Darwin
29
+
30
+
DARWIN_HASH="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/4ian/GDevelop/releases/download/v${LATEST_VER}/GDevelop-5-${LATEST_VER}-universal-mac.zip")")"
31
+
sed -i "s#hash = \".*\"#hash = \"$DARWIN_HASH\"#g" darwin.nix
32
+
33
+
echo "Updated gdevelop to $LATEST_VER"