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 new file mode 100644 index 000000000000..df9ff30f2101 --- /dev/null +++ b/pkgs/games/xjump/default.nix @@ -0,0 +1,27 @@ +{ stdenv, buildPlatform, fetchFromGitHub, autoconf, automake, libX11, libXt, libXpm, libXaw, localStateDir?null }: + +stdenv.mkDerivation rec { + name = "xjump-${version}"; + version = "2.9.3"; + src = fetchFromGitHub { + owner = "hugomg"; + repo = "xjump"; + rev = "e7f20fb8c2c456bed70abb046c1a966462192b80"; + sha256 = "0hq4739cvi5a47pxdc0wwkj2lmlqbf1xigq0v85qs5bq3ixmq2f7"; + }; + nativeBuildInputs = [ autoconf automake ]; + buildInputs = [ libX11 libXt libXpm libXaw ]; + preConfigure = "autoreconf --install"; + 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"; + license = licenses.gpl2; + maintainers = with maintainers; [ pmeunier ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 58e476dd0682..fa1847d51889 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19037,6 +19037,7 @@ with pkgs; tk = tk-8_5; }; + xjump = callPackage ../games/xjump { }; # TODO: the corresponding nix file is missing # xracer = callPackage ../games/xracer { };