diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2008-06-14 20:55:48 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2008-06-14 20:55:48 +0000 |
commit | 7219a09001291ef236ad8ac02713096bec0d0c08 (patch) | |
tree | f14a36e929e646e9977f3f4bbccd64b6d1516860 | |
parent | 80b2254cbb90bfb93dbe1bb5a58866db68e17ae4 (diff) |
* ioquake: updated to 1.34rc3.
* rss-glx: fixed the build. * Removed the OpenGL wrapper stuff, it's no longer needed (thanks to the RUNPATH you just need to put the appropriate libGL.so in the LD_LIBRARY_PATH). svn path=/nixpkgs/trunk/; revision=12093
-rw-r--r-- | pkgs/build-support/opengl/mesa-switch.sh | 45 | ||||
-rw-r--r-- | pkgs/games/quake3/game/builder.sh | 7 | ||||
-rw-r--r-- | pkgs/games/quake3/game/default.nix | 26 | ||||
-rw-r--r-- | pkgs/games/quake3/wrapper/builder.sh | 24 | ||||
-rw-r--r-- | pkgs/games/quake3/wrapper/default.nix | 9 | ||||
-rw-r--r-- | pkgs/games/ut2004demo/default.nix | 1 | ||||
-rw-r--r-- | pkgs/games/ut2004demo/make-wrapper.sh | 4 | ||||
-rw-r--r-- | pkgs/misc/screensavers/rss-glx/default.nix | 12 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 8 |
9 files changed, 44 insertions, 92 deletions
diff --git a/pkgs/build-support/opengl/mesa-switch.sh b/pkgs/build-support/opengl/mesa-switch.sh deleted file mode 100644 index 7b9dfe3906104..0000000000000 --- a/pkgs/build-support/opengl/mesa-switch.sh +++ /dev/null @@ -1,45 +0,0 @@ -profileName=opengl -profileDir=/nix/var/nix/profiles -profile=$profileDir/$profileName - -if test -z "$OPENGL_DRIVER"; then - if test -d "$profile/lib"; then - OPENGL_DRIVER=$profile - fi - # OpenGL driver for current X server on NixOS. - if test -d /var/run/opengl-driver; then - OPENGL_DRIVER=/var/run/opengl-driver - fi -fi - -if test -z "$OPENGL_DRIVER"; then - - cat <<EOF -====================================================================== -This program uses OpenGL for 3D graphics. For best performance, you -should use a hardware-accelerated implementation of OpenGL. Since you -have not enabled one, a software implementation (Mesa) will be used. -This will probably be quite slow. - -This program will look for a hardware-accelerated implementation of -OpenGL in the "$profileName" profile of your Nix installation. For -instance, to enable the (hopefully) accelerated driver provided by -your (non-NixOS) Linux distribution, try - - $ nix-env -p $profile -i xorg-sys-opengl - -Alternatively, you can set the OPENGL_DRIVER environment variable to -point at the package containing the OpenGL implementation. -====================================================================== - -EOF - - OPENGL_DRIVER=$mesa -fi - -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}$OPENGL_DRIVER/lib - -hook="$OPENGL_DRIVER/nix-support/opengl-hook" -if test -e "$hook"; then - source "$hook" -fi diff --git a/pkgs/games/quake3/game/builder.sh b/pkgs/games/quake3/game/builder.sh deleted file mode 100644 index 9082b8f21ad5e..0000000000000 --- a/pkgs/games/quake3/game/builder.sh +++ /dev/null @@ -1,7 +0,0 @@ -source $stdenv/setup - -ensureDir $out/baseq3 -installTargets=copyfiles -installFlags="COPYDIR=$out" - -genericBuild diff --git a/pkgs/games/quake3/game/default.nix b/pkgs/games/quake3/game/default.nix index c7fe303b5efff..292748c4546ab 100644 --- a/pkgs/games/quake3/game/default.nix +++ b/pkgs/games/quake3/game/default.nix @@ -1,11 +1,29 @@ {stdenv, fetchurl, x11, SDL, mesa, openal}: stdenv.mkDerivation { - name = "quake3-icculus-1.33pre526"; + name = "ioquake3-1.34-pre-rc3"; + src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/quake3-icculus-r526.tar.bz2; - md5 = "63429347b918052c27cdb5c1d15939ad"; + url = http://ioquake3.org/files/ioquake3_1.34-rc3.tar.bz2; + sha256 = "008vah60z0n9h1qp373xbqvhwfbyywbbhd1np0h0yw66g0qzchzv"; }; - builder = ./builder.sh; + + patchFlags = "-p0"; + + patches = [ + # Fix for compiling on gcc 4.2. + (fetchurl { + url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/games-fps/quake3/files/quake3-1.34_rc3-gcc42.patch?rev=1.1"; + sha256 = "06c9lxfczcby5q29pim231mr2wdkvbv36xp9zbxp9vk0dfs8rv9x"; + }) + ]; + buildInputs = [x11 SDL mesa openal]; + + preInstall = '' + ensureDir $out/baseq3 + installTargets=copyfiles + installFlags="COPYDIR=$out" + ''; + } diff --git a/pkgs/games/quake3/wrapper/builder.sh b/pkgs/games/quake3/wrapper/builder.sh index 4a477bac56114..e4c91a39b8fb3 100644 --- a/pkgs/games/quake3/wrapper/builder.sh +++ b/pkgs/games/quake3/wrapper/builder.sh @@ -1,6 +1,5 @@ source $stdenv/setup - ensureDir $out/baseq3 for i in $paks; do if test -d "$paks/baseq3"; then @@ -8,20 +7,9 @@ for i in $paks; do fi done - -ensureDir $out/bin - -cat >$out/bin/quake3 <<EOF -#! $SHELL -e - -mesa=$mesa - -$(cat $mesaSwitch) - -exec $game/ioquake3.i386 \ - +set fs_basepath $out \ - +set r_allowSoftwareGL 1 \ - "\$@" -EOF - -chmod +x $out/bin/quake3 +# We add Mesa to the end of $LD_LIBRARY_PATH to provide fallback +# software rendering. GCC is needed so that libgcc_s.so can be found +# when Mesa is used. +makeWrapper $game/ioquake3.i386 $out/bin/quake3 \ + --suffix-each LD_LIBRARY_PATH ':' "$mesa/lib $gcc/lib" \ + --add-flags "+set fs_basepath $out +set r_allowSoftwareGL 1" diff --git a/pkgs/games/quake3/wrapper/default.nix b/pkgs/games/quake3/wrapper/default.nix index a15efc77c2cb5..84d93cefa21c9 100644 --- a/pkgs/games/quake3/wrapper/default.nix +++ b/pkgs/games/quake3/wrapper/default.nix @@ -1,11 +1,14 @@ -{stdenv, fetchurl, game, paks, mesa, name, description}: +{stdenv, fetchurl, game, paks, mesa, name, description, makeWrapper}: stdenv.mkDerivation { builder = ./builder.sh; - inherit game paks mesa name; + + buildInputs = [makeWrapper]; - mesaSwitch = ../../../build-support/opengl/mesa-switch.sh; + inherit game paks mesa name; + gcc = stdenv.gcc.gcc; + meta = { inherit description; }; diff --git a/pkgs/games/ut2004demo/default.nix b/pkgs/games/ut2004demo/default.nix index 1c8b42891a4b3..04efc0049dd01 100644 --- a/pkgs/games/ut2004demo/default.nix +++ b/pkgs/games/ut2004demo/default.nix @@ -18,7 +18,6 @@ let { builder = ./make-wrapper.sh; inherit raw mesa; inherit (xlibs) libX11 libXext; - mesaSwitch = ../../build-support/opengl/mesa-switch.sh; }; } diff --git a/pkgs/games/ut2004demo/make-wrapper.sh b/pkgs/games/ut2004demo/make-wrapper.sh index d42adf1af0696..5dbb451272adc 100644 --- a/pkgs/games/ut2004demo/make-wrapper.sh +++ b/pkgs/games/ut2004demo/make-wrapper.sh @@ -5,10 +5,6 @@ ensureDir $out/bin cat > $out/bin/ut2004demo <<EOF #! $SHELL -e -mesa=$mesa - -$(cat $mesaSwitch) - cd $raw/System LD_LIBRARY_PATH=$libX11/lib:$libXext/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH ./ut2004-bin "\$@" diff --git a/pkgs/misc/screensavers/rss-glx/default.nix b/pkgs/misc/screensavers/rss-glx/default.nix index 8e45bd8d0d4bf..fb7cf569fdf5a 100644 --- a/pkgs/misc/screensavers/rss-glx/default.nix +++ b/pkgs/misc/screensavers/rss-glx/default.nix @@ -1,16 +1,16 @@ -{stdenv, fetchurl, x11, mesa}: +{stdenv, fetchurl, x11, mesa, pkgconfig, imagemagick, libtiff, bzip2}: stdenv.mkDerivation { name = "rss-glx-0.8.1"; - builder = ./builder.sh; + + #builder = ./builder.sh; src = fetchurl { url = mirror://sourceforge/rss-glx/rss-glx_0.8.1.tar.bz2; md5 = "a2bdf0e10ee4e89c8975f313c5c0ba6f"; }; - buildInputs = [x11 mesa]; - inherit mesa; - - mesaSwitch = ../../../build-support/opengl/mesa-switch.sh; + buildInputs = [x11 mesa pkgconfig imagemagick libtiff bzip2]; + + NIX_CFLAGS_COMPILE = "-I${imagemagick}/include/ImageMagick"; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8bc6195bb02cb..b5c0a3872d19e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6758,9 +6758,9 @@ let pkgs = rec { }; quake3demo = import ../games/quake3/wrapper { - name = "quake3-demo"; + name = "quake3-demo-${quake3game.name}"; description = "Demo of Quake 3 Arena, a classic first-person shooter"; - inherit fetchurl stdenv mesa; + inherit fetchurl stdenv mesa makeWrapper; game = quake3game; paks = [quake3demodata]; }; @@ -7078,7 +7078,7 @@ let pkgs = rec { }; rssglx = import ../misc/screensavers/rss-glx { - inherit fetchurl stdenv x11 mesa; + inherit fetchurl stdenv x11 mesa pkgconfig imagemagick libtiff bzip2; }; xlockmore = import ../misc/screensavers/xlockmore { @@ -7116,7 +7116,7 @@ let pkgs = rec { */ texFunctions = import ../misc/tex/nix { - inherit stdenv perl tetex graphviz ghostscript imagemagick; + inherit stdenv perl tetex graphviz ghostscript; }; texLiveFun = builderDefsPackage (import ../misc/tex/texlive) { |