Use patches for my pull requests
This commit is contained in:
parent
bfc1702f36
commit
0a55457b38
8 changed files with 321 additions and 32 deletions
159
patches/119540.patch
Normal file
159
patches/119540.patch
Normal file
|
@ -0,0 +1,159 @@
|
|||
From 456aa2db499409ab500d98c464b3321d4b7cecc3 Mon Sep 17 00:00:00 2001
|
||||
From: Charlotte Van Petegem <charlotte@vanpetegem.me>
|
||||
Date: Thu, 15 Apr 2021 15:40:20 +0200
|
||||
Subject: [PATCH 1/2] nixos-rebuild: Allow remote building when using flakes
|
||||
|
||||
---
|
||||
.../linux/nixos-rebuild/nixos-rebuild.sh | 65 +++++++++++++++----
|
||||
1 file changed, 53 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
|
||||
index 5874f334fedb9..6e31e174c849a 100644
|
||||
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
|
||||
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
|
||||
@@ -214,6 +214,49 @@ nixBuild() {
|
||||
fi
|
||||
}
|
||||
|
||||
+nixFlakeBuild() {
|
||||
+ if [ -z "$buildHost" ]; then
|
||||
+ nix build "$@" --out-link "${tmpDir}/result"
|
||||
+ readlink -f "${tmpDir}/result"
|
||||
+ else
|
||||
+ local attr="$1"
|
||||
+ shift 1
|
||||
+ local evalArgs=()
|
||||
+ local buildArgs=()
|
||||
+ while [ "$#" -gt 0 ]; do
|
||||
+ local i="$1"; shift 1
|
||||
+ case "$i" in
|
||||
+ --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file)
|
||||
+ evalArgs+=("$i")
|
||||
+ ;;
|
||||
+ --update-input)
|
||||
+ local j="$1"; shift 1
|
||||
+ evalArgs+=("$i" "$j")
|
||||
+ ;;
|
||||
+ --override-input)
|
||||
+ local j="$1"; shift 1
|
||||
+ local k="$1"; shift 1
|
||||
+ evalArgs+=("$i" "$j" "$k")
|
||||
+ ;;
|
||||
+ *)
|
||||
+ buildArgs+=("$i")
|
||||
+ ;;
|
||||
+ esac
|
||||
+ done
|
||||
+
|
||||
+ local drv="$(nix "${flakeFlags[@]}" eval --raw "${attr}.drvPath" "${evalArgs[@]}" "${extraBuildArgs[@]}")"
|
||||
+ if [ -a "$drv" ]; then
|
||||
+ NIX_SSHOPTS=$SSHOPTS nix "${flakeFlags[@]}" copy --derivation --to "ssh://$buildHost" "$drv"
|
||||
+ # The 'nix-command flakes' part in "${flakeFlags[@]}" is seen as two separate args over SSH
|
||||
+ buildHostCmd nix --experimental-features "'nix-command flakes'" build "${buildArgs[@]}" --out-link "${tmpDir}/result" "$drv"
|
||||
+ buildHostCmd readlink -f "${tmpDir}/result"
|
||||
+ else
|
||||
+ echo "nix eval failed"
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
|
||||
if [ -z "$action" ]; then showSyntax; fi
|
||||
|
||||
@@ -315,8 +358,14 @@ fi
|
||||
|
||||
tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
|
||||
SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60"
|
||||
+if [ -n "$buildHost" -a -n "$flake" ]; then
|
||||
+ buildHostCmd mkdir -p "$tmpDir"
|
||||
+fi
|
||||
|
||||
cleanup() {
|
||||
+ if [ -n "$buildHost" -a -n "$flake" ]; then
|
||||
+ buildHostCmd rm -rf "$tmpDir"
|
||||
+ fi
|
||||
for ctrl in "$tmpDir"/ssh-*; do
|
||||
ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true
|
||||
done
|
||||
@@ -418,10 +467,7 @@ if [ -z "$rollback" ]; then
|
||||
if [[ -z $flake ]]; then
|
||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' --no-out-link -A system "${extraBuildFlags[@]}")"
|
||||
else
|
||||
- outLink=$tmpDir/result
|
||||
- nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \
|
||||
- "${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link $outLink
|
||||
- pathToConfig="$(readlink -f $outLink)"
|
||||
+ pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}")"
|
||||
fi
|
||||
copyToTarget "$pathToConfig"
|
||||
targetHostCmd nix-env -p "$profile" --set "$pathToConfig"
|
||||
@@ -429,24 +475,19 @@ if [ -z "$rollback" ]; then
|
||||
if [[ -z $flake ]]; then
|
||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A system -k "${extraBuildFlags[@]}")"
|
||||
else
|
||||
- nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}"
|
||||
- pathToConfig="$(readlink -f ./result)"
|
||||
+ pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}")"
|
||||
fi
|
||||
elif [ "$action" = build-vm ]; then
|
||||
if [[ -z $flake ]]; then
|
||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A vm -k "${extraBuildFlags[@]}")"
|
||||
else
|
||||
- nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vm" \
|
||||
- "${extraBuildFlags[@]}" "${lockFlags[@]}"
|
||||
- pathToConfig="$(readlink -f ./result)"
|
||||
+ pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.vm" "${extraBuildFlags[@]}" "${lockFlags[@]}")"
|
||||
fi
|
||||
elif [ "$action" = build-vm-with-bootloader ]; then
|
||||
if [[ -z $flake ]]; then
|
||||
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A vmWithBootLoader -k "${extraBuildFlags[@]}")"
|
||||
else
|
||||
- nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vmWithBootLoader" \
|
||||
- "${extraBuildFlags[@]}" "${lockFlags[@]}"
|
||||
- pathToConfig="$(readlink -f ./result)"
|
||||
+ pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.vmWithBootLoader" "${extraBuildFlags[@]}" "${lockFlags[@]}")"
|
||||
fi
|
||||
else
|
||||
showSyntax
|
||||
|
||||
From fa827f3f624659d822666bc79d36534d6d3ea9d1 Mon Sep 17 00:00:00 2001
|
||||
From: Charlotte Van Petegem <charlotte@vanpetegem.me>
|
||||
Date: Fri, 16 Apr 2021 12:42:26 +0200
|
||||
Subject: [PATCH 2/2] nixos-rebuild: Use old-style nix command when building
|
||||
flake on a remote host
|
||||
|
||||
---
|
||||
pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh | 10 +---------
|
||||
1 file changed, 1 insertion(+), 9 deletions(-)
|
||||
|
||||
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
|
||||
index 6e31e174c849a..01d0fa823b9b5 100644
|
||||
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
|
||||
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
|
||||
@@ -247,9 +247,7 @@ nixFlakeBuild() {
|
||||
local drv="$(nix "${flakeFlags[@]}" eval --raw "${attr}.drvPath" "${evalArgs[@]}" "${extraBuildArgs[@]}")"
|
||||
if [ -a "$drv" ]; then
|
||||
NIX_SSHOPTS=$SSHOPTS nix "${flakeFlags[@]}" copy --derivation --to "ssh://$buildHost" "$drv"
|
||||
- # The 'nix-command flakes' part in "${flakeFlags[@]}" is seen as two separate args over SSH
|
||||
- buildHostCmd nix --experimental-features "'nix-command flakes'" build "${buildArgs[@]}" --out-link "${tmpDir}/result" "$drv"
|
||||
- buildHostCmd readlink -f "${tmpDir}/result"
|
||||
+ buildHostCmd nix-store -r "$drv" "${buildArgs[@]}"
|
||||
else
|
||||
echo "nix eval failed"
|
||||
exit 1
|
||||
@@ -358,14 +356,8 @@ fi
|
||||
|
||||
tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
|
||||
SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60"
|
||||
-if [ -n "$buildHost" -a -n "$flake" ]; then
|
||||
- buildHostCmd mkdir -p "$tmpDir"
|
||||
-fi
|
||||
|
||||
cleanup() {
|
||||
- if [ -n "$buildHost" -a -n "$flake" ]; then
|
||||
- buildHostCmd rm -rf "$tmpDir"
|
||||
- fi
|
||||
for ctrl in "$tmpDir"/ssh-*; do
|
||||
ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true
|
||||
done
|
136
patches/119643.patch
Normal file
136
patches/119643.patch
Normal file
|
@ -0,0 +1,136 @@
|
|||
From 66f9ad192710d18d44322f49c87bba64d2beec11 Mon Sep 17 00:00:00 2001
|
||||
From: Charlotte Van Petegem <charlotte@vanpetegem.me>
|
||||
Date: Fri, 16 Apr 2021 18:40:48 +0200
|
||||
Subject: [PATCH 1/2] zeroad: Split data from binaries again
|
||||
|
||||
The rootdir patch was lost in the update to 0.0.24b. Adding it allows
|
||||
hydra to build the game. It can't when the binaries depend on the data
|
||||
since the data is too big for hydra.
|
||||
---
|
||||
pkgs/games/0ad/game.nix | 10 +++-----
|
||||
pkgs/games/0ad/rootdir_env.patch | 39 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 42 insertions(+), 7 deletions(-)
|
||||
create mode 100644 pkgs/games/0ad/rootdir_env.patch
|
||||
|
||||
diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix
|
||||
index bb3b7c0138aff..81965b116be67 100644
|
||||
--- a/pkgs/games/0ad/game.nix
|
||||
+++ b/pkgs/games/0ad/game.nix
|
||||
@@ -2,7 +2,7 @@
|
||||
, pkg-config, spidermonkey_78, boost, icu, libxml2, libpng, libsodium
|
||||
, libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
|
||||
, openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2
|
||||
-, gloox, nvidia-texture-tools, zeroad-data
|
||||
+, gloox, nvidia-texture-tools
|
||||
, withEditor ? true, wxGTK
|
||||
}:
|
||||
|
||||
@@ -50,6 +50,8 @@ stdenv.mkDerivation rec {
|
||||
"-I${fmt.dev}/include"
|
||||
];
|
||||
|
||||
+ patches = [ ./rootdir_env.patch ];
|
||||
+
|
||||
configurePhase = ''
|
||||
# Delete shipped libraries which we don't need.
|
||||
rm -rf libraries/source/{enet,miniupnpc,nvtt,spidermonkey}
|
||||
@@ -62,7 +64,6 @@ stdenv.mkDerivation rec {
|
||||
${lib.optionalString withEditor "--enable-atlas"} \
|
||||
--bindir="$out"/bin \
|
||||
--libdir="$out"/lib/0ad \
|
||||
- --datadir="$out"/share/0ad/data \
|
||||
--without-tests \
|
||||
-j $NIX_BUILD_CORES
|
||||
popd
|
||||
@@ -85,11 +86,6 @@ stdenv.mkDerivation rec {
|
||||
# Copy l10n data.
|
||||
install -Dm755 -t $out/share/0ad/data/l10n binaries/data/l10n/*
|
||||
|
||||
- # Link in game data from package
|
||||
- ln -s ${zeroad-data}/share/0ad/data/config $out/share/0ad/data/config
|
||||
- ln -s ${zeroad-data}/share/0ad/data/mods $out/share/0ad/data/mods
|
||||
- ln -s ${zeroad-data}/share/0ad/data/tools $out/share/0ad/data/tools
|
||||
-
|
||||
# Copy libraries.
|
||||
install -Dm644 -t $out/lib/0ad binaries/system/*.so
|
||||
|
||||
diff --git a/pkgs/games/0ad/rootdir_env.patch b/pkgs/games/0ad/rootdir_env.patch
|
||||
new file mode 100644
|
||||
index 0000000000000..95463c7e2df46
|
||||
--- /dev/null
|
||||
+++ b/pkgs/games/0ad/rootdir_env.patch
|
||||
@@ -0,0 +1,39 @@
|
||||
+diff --git a/source/ps/GameSetup/Paths.cpp b/source/ps/GameSetup/Paths.cpp
|
||||
+index 474364e..bf084b4 100644
|
||||
+--- a/source/ps/GameSetup/Paths.cpp
|
||||
++++ b/source/ps/GameSetup/Paths.cpp
|
||||
+@@ -155,32 +155,8 @@ Paths::Paths(const CmdLineArgs& args)
|
||||
+
|
||||
+ /*static*/ OsPath Paths::Root(const OsPath& argv0)
|
||||
+ {
|
||||
+-#if OS_ANDROID
|
||||
+- return OsPath("/sdcard/0ad"); // TODO: this is kind of bogus
|
||||
+-#else
|
||||
+-
|
||||
+- // get full path to executable
|
||||
+- OsPath pathname = sys_ExecutablePathname(); // safe, but requires OS-specific implementation
|
||||
+- if(pathname.empty()) // failed, use argv[0] instead
|
||||
+- {
|
||||
+- errno = 0;
|
||||
+- pathname = wrealpath(argv0);
|
||||
+- if(pathname.empty())
|
||||
+- WARN_IF_ERR(StatusFromErrno());
|
||||
+- }
|
||||
+-
|
||||
+- // make sure it's valid
|
||||
+- if(!FileExists(pathname))
|
||||
+- {
|
||||
+- LOGERROR("Cannot find executable (expected at '%s')", pathname.string8());
|
||||
+- WARN_IF_ERR(StatusFromErrno());
|
||||
+- }
|
||||
+-
|
||||
+- for(size_t i = 0; i < 2; i++) // remove "system/name.exe"
|
||||
+- pathname = pathname.Parent();
|
||||
+- return pathname;
|
||||
+-
|
||||
+-#endif
|
||||
++ UNUSED2(argv0);
|
||||
++ return OsPath(getenv("ZEROAD_ROOTDIR"));
|
||||
+ }
|
||||
+
|
||||
+ /*static*/ OsPath Paths::RootData(const OsPath& argv0)
|
||||
|
||||
From 8d6375ba029851c053388ff95ed445d2ae0a56cc Mon Sep 17 00:00:00 2001
|
||||
From: Charlotte Van Petegem <charlotte@vanpetegem.me>
|
||||
Date: Fri, 16 Apr 2021 18:42:32 +0200
|
||||
Subject: [PATCH 2/2] zeroad: Add myself as a maintainer
|
||||
|
||||
---
|
||||
pkgs/games/0ad/data.nix | 1 +
|
||||
pkgs/games/0ad/game.nix | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/pkgs/games/0ad/data.nix b/pkgs/games/0ad/data.nix
|
||||
index 5cb28b3f3bd63..9533af21b15d1 100644
|
||||
--- a/pkgs/games/0ad/data.nix
|
||||
+++ b/pkgs/games/0ad/data.nix
|
||||
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A free, open-source game of ancient warfare -- data files";
|
||||
homepage = "https://play0ad.com/";
|
||||
license = licenses.cc-by-sa-30;
|
||||
+ maintainers = with maintainers; [ chvp ];
|
||||
platforms = platforms.linux;
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix
|
||||
index 81965b116be67..feaf4347329c4 100644
|
||||
--- a/pkgs/games/0ad/game.nix
|
||||
+++ b/pkgs/games/0ad/game.nix
|
||||
@@ -101,6 +101,7 @@ stdenv.mkDerivation rec {
|
||||
gpl2 lgpl21 mit cc-by-sa-30
|
||||
licenses.zlib # otherwise masked by pkgs.zlib
|
||||
];
|
||||
+ maintainers = with maintainers; [ chvp ];
|
||||
platforms = subtractLists platforms.i686 platforms.linux;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue