summary refs log tree commit diff
path: root/pkgs/games/xjump
diff options
context:
space:
mode:
authorpe@pijul.org <pe@pijul.org>2018-02-20 09:20:05 +0100
committerpe@pijul.org <pe@pijul.org>2018-02-20 10:22:50 +0100
commit8e16019d139ee8cdb66e199650543976a6680711 (patch)
treeca32a946f19f4db3de8f927fb276a9be7f4b1cac /pkgs/games/xjump
parent41f4bfd5f755c273b49acf05d35a03ccc2cffbe8 (diff)
downloadnixlib-8e16019d139ee8cdb66e199650543976a6680711.tar
nixlib-8e16019d139ee8cdb66e199650543976a6680711.tar.gz
nixlib-8e16019d139ee8cdb66e199650543976a6680711.tar.bz2
nixlib-8e16019d139ee8cdb66e199650543976a6680711.tar.lz
nixlib-8e16019d139ee8cdb66e199650543976a6680711.tar.xz
nixlib-8e16019d139ee8cdb66e199650543976a6680711.tar.zst
nixlib-8e16019d139ee8cdb66e199650543976a6680711.zip
xjump: patch for darwin
Diffstat (limited to 'pkgs/games/xjump')
-rw-r--r--pkgs/games/xjump/darwin.patch21
-rw-r--r--pkgs/games/xjump/default.nix9
2 files changed, 28 insertions, 2 deletions
diff --git a/pkgs/games/xjump/darwin.patch b/pkgs/games/xjump/darwin.patch
new file mode 100644
index 000000000000..8221677658e3
--- /dev/null
+++ b/pkgs/games/xjump/darwin.patch
@@ -0,0 +1,21 @@
+--- xjump/src/main.c	2018-02-20 09:15:15.608807657 +0100
++++ xjump-patched/src/main.c	2018-02-20 09:15:34.148949100 +0100
+@@ -604,18 +604,6 @@
+    * optimistic privilege dropping function. */
+   setgroups(0, NULL);
+ 
+-  if (setresgid(-1, realgid, realgid) != 0) {
+-    perror("Could not drop setgid privileges.  Aborting.");
+-    exit(1);
+-  }
+-
+-  /* Dropping user privileges must come last.
+-   * Otherwise we won't be able to drop group privileges anymore */
+-  if (setresuid(-1, realuid, realuid) != 0) {
+-    perror("Could not drop setuid privileges.  Aborting.");
+-    exit(1);
+-  }
+-
+   /* From now on we run with regular user privileges */
+ 
+   static XtActionsRec a_table[] = {
diff --git a/pkgs/games/xjump/default.nix b/pkgs/games/xjump/default.nix
index 29c89637c1dd..df9ff30f2101 100644
--- a/pkgs/games/xjump/default.nix
+++ b/pkgs/games/xjump/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libX11, libXt, libXpm, libXaw, localStateDir?"/var" }:
+{ stdenv, buildPlatform, fetchFromGitHub, autoconf, automake, libX11, libXt, libXpm, libXaw, localStateDir?null }:
 
 stdenv.mkDerivation rec {
   name = "xjump-${version}";
@@ -12,7 +12,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf automake ];
   buildInputs = [ libX11 libXt libXpm libXaw ];
   preConfigure = "autoreconf --install";
-  configureFlags = ["--localstatedir=${localStateDir}"];
+  patches = if buildPlatform.isDarwin then [ ./darwin.patch ] else [];
+  configureFlags =
+    if localStateDir != null then
+      ["--localstatedir=${localStateDir}"]
+    else
+      [];
 
   meta = with stdenv.lib; {
     description = "The falling tower game";