From 8566d5f9ad1d2b77c3b534978ed2c9f78ee3f1e0 Mon Sep 17 00:00:00 2001 From: "pe@pijul.org" Date: Wed, 7 Feb 2018 18:47:44 +0100 Subject: [PATCH 1/4] Xjump: init at 2.9.3 --- pkgs/games/xjump/default.nix | 27 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 28 insertions(+) create mode 100644 pkgs/games/xjump/default.nix diff --git a/pkgs/games/xjump/default.nix b/pkgs/games/xjump/default.nix new file mode 100644 index 000000000000..7fd89777a9ef --- /dev/null +++ b/pkgs/games/xjump/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, gcc, autoconf, automake, xorg, ... }: + +stdenv.mkDerivation rec { + name = "xjump-${version}"; + version = "2.9.3"; + src = fetchFromGitHub { + owner = "hugomg"; + repo = "xjump"; + rev = "e7f20fb8c2c456bed70abb046c1a966462192b80"; + sha256 = "0hq4739cvi5a47pxdc0wwkj2lmlqbf1xigq0v85qs5bq3ixmq2f7"; + }; + buildInputs = [ gcc autoconf automake xorg.libX11 xorg.libXt xorg.libXpm xorg.libXaw ]; + preConfigure = '' + autoreconf --install + ''; + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/xjump + install -m 755 xjump $out/bin + cp -R themes $out/share/xjump + ''; + meta = with stdenv.lib; { + description = "The falling tower game"; + maintainers = with maintainers; [ pmeunier ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22ce05089f85..41e62ab46b4b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18846,6 +18846,7 @@ with pkgs; tk = tk-8_5; }; + xjump = callPackage ../games/xjump { }; # TODO: the corresponding nix file is missing # xracer = callPackage ../games/xracer { }; From d697a404ab8ded5ba043a25f9ffe83a3d600a051 Mon Sep 17 00:00:00 2001 From: "pe@pijul.org" Date: Sun, 11 Feb 2018 17:31:35 +0100 Subject: [PATCH 2/4] xjump: taking review into account --- pkgs/games/xjump/default.nix | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/pkgs/games/xjump/default.nix b/pkgs/games/xjump/default.nix index 7fd89777a9ef..520b7ccdfb9b 100644 --- a/pkgs/games/xjump/default.nix +++ b/pkgs/games/xjump/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gcc, autoconf, automake, xorg, ... }: +{ stdenv, fetchFromGitHub, autoconf, automake, libX11, libXt, libXpm, libXaw, localStateDir?"/var" }: stdenv.mkDerivation rec { name = "xjump-${version}"; @@ -9,19 +9,13 @@ stdenv.mkDerivation rec { rev = "e7f20fb8c2c456bed70abb046c1a966462192b80"; sha256 = "0hq4739cvi5a47pxdc0wwkj2lmlqbf1xigq0v85qs5bq3ixmq2f7"; }; - buildInputs = [ gcc autoconf automake xorg.libX11 xorg.libXt xorg.libXpm xorg.libXaw ]; - preConfigure = '' - autoreconf --install - ''; - installPhase = '' - mkdir -p $out/bin - mkdir -p $out/share/xjump - install -m 755 xjump $out/bin - cp -R themes $out/share/xjump - ''; + nativeBuildInputs = [ autoconf automake ]; + buildInputs = [ libX11 libXt libXpm libXaw ]; + preConfigure = "autoreconf --install"; + configureFlags = ["--localstatedir=${localStateDir}"]; + meta = with stdenv.lib; { description = "The falling tower game"; maintainers = with maintainers; [ pmeunier ]; - platforms = platforms.linux; }; } From 41f4bfd5f755c273b49acf05d35a03ccc2cffbe8 Mon Sep 17 00:00:00 2001 From: "pe@pijul.org" Date: Mon, 12 Feb 2018 08:37:18 +0100 Subject: [PATCH 3/4] Adding the license for xjump --- pkgs/games/xjump/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/games/xjump/default.nix b/pkgs/games/xjump/default.nix index 520b7ccdfb9b..29c89637c1dd 100644 --- a/pkgs/games/xjump/default.nix +++ b/pkgs/games/xjump/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "The falling tower game"; + license = licenses.gpl2; maintainers = with maintainers; [ pmeunier ]; }; } From 8e16019d139ee8cdb66e199650543976a6680711 Mon Sep 17 00:00:00 2001 From: "pe@pijul.org" Date: Tue, 20 Feb 2018 09:20:05 +0100 Subject: [PATCH 4/4] xjump: patch for darwin --- pkgs/games/xjump/darwin.patch | 21 +++++++++++++++++++++ pkgs/games/xjump/default.nix | 9 +++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 pkgs/games/xjump/darwin.patch 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";