about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/vdrift
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/games/vdrift
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/games/vdrift')
-rw-r--r--nixpkgs/pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch27
-rw-r--r--nixpkgs/pkgs/games/vdrift/default.nix60
2 files changed, 87 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch b/nixpkgs/pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch
new file mode 100644
index 000000000000..6794e8018aff
--- /dev/null
+++ b/nixpkgs/pkgs/games/vdrift/0001-Ignore-missing-data-for-installation.patch
@@ -0,0 +1,27 @@
+From 7ebe252a8488a63675d1c50c0faa1bdc5ff97889 Mon Sep 17 00:00:00 2001
+From: Linus Heckemann <git@sphalerite.org>
+Date: Fri, 5 Jan 2018 21:27:28 +0100
+Subject: [PATCH] Ignore missing data for installation
+
+This is for packaging vdrift separately from its data in nixpkgs.
+---
+ SConstruct | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 4394de0b..beef29a4 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -511,9 +511,6 @@ env.Alias(target = 'bin-package', source = bin_archive)
+ #----------------#
+ Export(['env', 'version', 'src_dir', 'bin_dir'])
+ if 'install' in COMMAND_LINE_TARGETS:
+-    if not os.path.isfile('data/SConscript'):
+-        raise 'VDrift data not found. Please make sure data is placed in vdrift directory. See README.md and http://wiki.vdrift.net.' 
+-    SConscript('data/SConscript')
+     # desktop appdata installation
+     install_desktop = env.Install(env['destdir'] + env['prefix'] + '/share/applications', 'vdrift.desktop')
+     install_appdata = env.Install(env['destdir'] + env['prefix'] + '/share/appdata', 'vdrift.appdata.xml')
+-- 
+2.15.0
+
diff --git a/nixpkgs/pkgs/games/vdrift/default.nix b/nixpkgs/pkgs/games/vdrift/default.nix
new file mode 100644
index 000000000000..6c571da561c5
--- /dev/null
+++ b/nixpkgs/pkgs/games/vdrift/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU_combined, SDL2, SDL2_image
+, libvorbis, bullet, curl, gettext, writeTextFile
+
+, data ? fetchsvn {
+    url = "svn://svn.code.sf.net/p/vdrift/code/vdrift-data";
+    rev = "1386";
+    sha256 = "0ka6zir9hg0md5p03dl461jkvbk05ywyw233hnc3ka6shz3vazi1";
+  }
+}:
+let
+  version = "git";
+  bin = stdenv.mkDerivation {
+    name = "vdrift-${version}";
+
+    src = fetchFromGitHub {
+      owner = "vdrift";
+      repo = "vdrift";
+      rev = "12d444ed18395be8827a21b96cc7974252fce6d1";
+      sha256 = "001wq3c4n9wzxqfpq40b1jcl16sxbqv2zbkpy9rq2wf9h417q6hg";
+    };
+
+    nativeBuildInputs = [ pkgconfig ];
+    buildInputs = [ scons libGLU_combined SDL2 SDL2_image libvorbis bullet curl gettext ];
+
+    patches = [ ./0001-Ignore-missing-data-for-installation.patch ];
+
+    buildPhase = ''
+      sed -i -e s,/usr/local,$out, SConstruct
+      export CXXFLAGS="$(pkg-config --cflags SDL2_image)"
+      scons -j$NIX_BUILD_CORES
+    '';
+    installPhase = "scons install";
+
+    meta = {
+      description = "Car racing game";
+      homepage = http://vdrift.net/;
+      license = stdenv.lib.licenses.gpl2Plus;
+      maintainers = with stdenv.lib.maintainers; [viric];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+  wrappedName = "vdrift-${version}-with-data-${toString data.rev}";
+in writeTextFile {
+  name = wrappedName;
+  text = ''
+    export VDRIFT_DATA_DIRECTORY="${data}"
+    exec ${bin}/bin/vdrift "$@"
+  '';
+  destination = "/bin/vdrift";
+  executable = true;
+  checkPhase = ''
+    ${stdenv.shell} -n $out/bin/vdrift
+  '';
+} // {
+  meta = bin.meta // {
+    hydraPlatforms = [];
+  };
+  unwrapped = bin;
+  inherit bin data;
+}