[PATCH 1/2] gnu: Add vdrift-data.

  • Done
  • quality assurance status badge
Details
One participant
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Maxim Cournoyer
Severity
normal
M
M
Maxim Cournoyer wrote on 21 Oct 16:53 +0200
(address . guix-patches@gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
5324807744be977b885a4fc655ef7b701cf62929.1729522372.git.maxim.cournoyer@gmail.com
* gnu/packages/patches/vdrift-data-extra-resolutions.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/games.scm (vdrift-data): New variable.

Change-Id: I960e2222ea7e9506a306692db552dc1dcc229b01
---
gnu/local.mk | 1 +
gnu/packages/games.scm | 34 +++++++++++++++++++
.../vdrift-data-extra-resolutions.patch | 24 +++++++++++++
3 files changed, 59 insertions(+)
create mode 100644 gnu/packages/patches/vdrift-data-extra-resolutions.patch

Toggle diff (91 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 89a795bfbd..16fd5d59ed 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2287,6 +2287,7 @@ dist_patch_DATA = \
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
%D%/packages/patches/vboot-utils-skip-test-workbuf.patch \
%D%/packages/patches/vcmi-disable-privacy-breach.patch \
+ %D%/packages/patches/vdrift-data-extra-resolutions.patch \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch \
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c594b8ac2a..0f64040ae1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -788,6 +788,40 @@ (define-public tetrinet
attacks you can use on opponents.")
(license license:public-domain)))
+(define-public vdrift-data
+ ;; There are no tags or releases for the vdrift data; use the latest SVN
+ ;; revision available.
+ (let ((commit 1460)
+ (revision "0"))
+ ;; The package is hidden as the game data is *required* by the install
+ ;; target of vdrift itself, and there is no need for users to manually
+ ;; install it.
+ (hidden-package
+ (package
+ (name "vdrift-data")
+ ;; The date is the last modified time shown next to the 'vdrift-data'
+ ;; directory when visiting
+ ;; https://sourceforge.net/p/vdrift/code/HEAD/tree/.
+ (version (format #f "2023-03-07-~a.~a" revision commit))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url "https://svn.code.sf.net/p/vdrift/code/vdrift-data")
+ (revision commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0izzi2na6lbp6ji83nq975w7rm2vmhsi8ngdnmwznm545ws75iai"))
+ (patches
+ (search-patches "vdrift-data-extra-resolutions.patch"))))
+ (build-system copy-build-system)
+ (arguments (list #:install-plan #~'(("." "share/games/vdrift/data"))))
+ (home-page "https://vdrift.net/")
+ (synopsis "Game data for Vdrift")
+ (description "This package contains the assets for the Vdrift racing
+game.")
+ (license license:gpl3+))))) ;assumed same as Vdrift itself
+
(define-public vitetris
(package
(name "vitetris")
diff --git a/gnu/packages/patches/vdrift-data-extra-resolutions.patch b/gnu/packages/patches/vdrift-data-extra-resolutions.patch
new file mode 100644
index 0000000000..49b557d897
--- /dev/null
+++ b/gnu/packages/patches/vdrift-data-extra-resolutions.patch
@@ -0,0 +1,24 @@
+Upstream status: https://github.com/VDrift/vdrift/issues/200
+
+Index: vdrift-data/settings/options.config
+===================================================================
+--- vdrift-data/settings/options.config (revision 1460)
++++ vdrift-data/settings/options.config (working copy)
+@@ -316,7 +316,7 @@
+ type = string
+ default = 800,600
+ values = list
+-num_vals = 21
++num_vals = 22
+ opt00 = 640 x 480
+ val00 = 640,480
+ opt01 = 800 x 480
+@@ -359,6 +359,8 @@
+ val19 = 2560,1440
+ opt20 = 2560 x 1600
+ val20 = 2560,1600
++opt21 = 3840 x 2160
++val21 = 3840,2160
+
+ [ display.shadow_distance ]
+ desc = Set the distance at which shadows become visible

base-commit: 59b2a60d0041882d732e1766e28f0df5a1ef1ac1
--
2.46.0
M
M
Maxim Cournoyer wrote on 21 Oct 17:11 +0200
[PATCH 2/2] gnu: Add vdrift.
(address . 73931@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
7c1afc74305f5533fce6b2f0c64c634eb15c72ee.1729522372.git.maxim.cournoyer@gmail.com
* gnu/packages/games.scm (vdrift): New variable.

Change-Id: I55b5884a9d7d4a9e874e76c6a7c8af4974dce701
---
gnu/packages/games.scm | 63 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0f64040ae1..686475612e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -822,6 +822,69 @@ (define-public vdrift-data
game.")
(license license:gpl3+))))) ;assumed same as Vdrift itself
+(define-public vdrift
+ ;; The latest release is from 2014, and lacks build system and other
+ ;; unreleased improvements; use the latest commit.
+ (let ((commit "c85725b7b861db3f7e579456ec704f0134d46812")
+ (revision "0"))
+ (package
+ (name "vdrift")
+ (version (git-version "2014-10-20" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/VDrift/vdrift")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fndwrjdy1rxnhn8vpw2hv02vgdg3p5qnjmvx679dhwn57cd0773"))))
+ (build-system scons-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:scons-flags #~(list (string-append "prefix=" #$output)
+ "release=1"
+ "verbose=1")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'setup-vdrift-data
+ (lambda _
+ ;; The locale data must be made writable, as gettext
+ ;; translation files are generated and written there as part
+ ;; of the installation script.
+ (copy-recursively (search-input-directory
+ %build-inputs
+ "share/games/vdrift/data")
+ "data")
+ (for-each make-file-writable (find-files "data/locale")))))))
+ (native-inputs (list gettext-minimal pkg-config vdrift-data))
+ (inputs (list bullet curl libvorbis mesa sdl2 zlib))
+ (home-page "https://vdrift.net/")
+ (synopsis "Racing simulator")
+ (description "VDrift aims to provide an accurate driving physics
+emulation, based on real world data of the actual vehicles, employing a full
+rigid body simulation and a complex tire model. VDrift features:
+@itemize
+@item Over 45 tracks based on famous real-world tracks
+@item Over 45 cars based on real-world vehicles
+@item Very realistic, simulation-grade driving physics
+@item Mouse/joystick/gamepad/wheel/keyboard support
+@item Fully modeled tracks, scenery and terrain
+@item Several different camera modes
+@item Basic replay system with Skip Forward/Skip Backward
+@item Fully customizable controls
+@item Joystick, mouse and keyboard input filtering
+@item Brake and reverse lights
+@item Driver aids: automatic shifting, traction control, anti-lock braking
+@item Experimental force feedback
+@item Race against up to 3 AI with variable difficultly
+@item Engine and road sounds
+@end itemize
+The recommended input method is a steering wheel with pedals and force
+feedback support.")
+ (license license:gpl3+))))
+
(define-public vitetris
(package
(name "vitetris")
--
2.46.0
M
M
Maxim Cournoyer wrote on 22 Oct 08:53 +0200
[PATCH v2 1/2] gnu: Add vdrift-data.
(address . 73931@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
73b92e58d4cb87122c5a9edacb55665691edac04.1729579976.git.maxim.cournoyer@gmail.com
* gnu/packages/patches/vdrift-data-extra-resolutions.patch: New file.
* gnu/packages/patches/vdrift-data-icons.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/games.scm (vdrift-data): New variable.

Change-Id: I960e2222ea7e9506a306692db552dc1dcc229b01
---
gnu/local.mk | 2 +
gnu/packages/games.scm | 35 +++++++++++++++++
.../vdrift-data-extra-resolutions.patch | 24 ++++++++++++
gnu/packages/patches/vdrift-data-icons.patch | 38 +++++++++++++++++++
4 files changed, 99 insertions(+)
create mode 100644 gnu/packages/patches/vdrift-data-extra-resolutions.patch
create mode 100644 gnu/packages/patches/vdrift-data-icons.patch

Toggle diff (137 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 89a795bfbd..a046a6122f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2287,6 +2287,8 @@ dist_patch_DATA = \
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
%D%/packages/patches/vboot-utils-skip-test-workbuf.patch \
%D%/packages/patches/vcmi-disable-privacy-breach.patch \
+ %D%/packages/patches/vdrift-data-extra-resolutions.patch \
+ %D%/packages/patches/vdrift-data-icons.patch \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch \
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c594b8ac2a..6525e1cb81 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -788,6 +788,41 @@ (define-public tetrinet
attacks you can use on opponents.")
(license license:public-domain)))
+(define-public vdrift-data
+ ;; There are no tags or releases for the vdrift data; use the latest SVN
+ ;; revision available.
+ (let ((commit 1460)
+ (revision "0"))
+ ;; The package is hidden as the game data is *required* by the install
+ ;; target of vdrift itself, and there is no need for users to manually
+ ;; install it.
+ (hidden-package
+ (package
+ (name "vdrift-data")
+ ;; The date is the last modified time shown next to the 'vdrift-data'
+ ;; directory when visiting
+ ;; https://sourceforge.net/p/vdrift/code/HEAD/tree/.
+ (version (format #f "2023-03-07-~a.~a" revision commit))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url "https://svn.code.sf.net/p/vdrift/code/vdrift-data")
+ (revision commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0izzi2na6lbp6ji83nq975w7rm2vmhsi8ngdnmwznm545ws75iai"))
+ (patches
+ (search-patches "vdrift-data-extra-resolutions.patch"
+ "vdrift-data-icons.patch"))))
+ (build-system copy-build-system)
+ (arguments (list #:install-plan #~'(("." "share/games/vdrift/data"))))
+ (home-page "https://vdrift.net/")
+ (synopsis "Game data for Vdrift")
+ (description "This package contains the assets for the Vdrift racing
+game.")
+ (license license:gpl3+))))) ;assumed same as Vdrift itself
+
(define-public vitetris
(package
(name "vitetris")
diff --git a/gnu/packages/patches/vdrift-data-extra-resolutions.patch b/gnu/packages/patches/vdrift-data-extra-resolutions.patch
new file mode 100644
index 0000000000..49b557d897
--- /dev/null
+++ b/gnu/packages/patches/vdrift-data-extra-resolutions.patch
@@ -0,0 +1,24 @@
+Upstream status: https://github.com/VDrift/vdrift/issues/200
+
+Index: vdrift-data/settings/options.config
+===================================================================
+--- vdrift-data/settings/options.config (revision 1460)
++++ vdrift-data/settings/options.config (working copy)
+@@ -316,7 +316,7 @@
+ type = string
+ default = 800,600
+ values = list
+-num_vals = 21
++num_vals = 22
+ opt00 = 640 x 480
+ val00 = 640,480
+ opt01 = 800 x 480
+@@ -359,6 +359,8 @@
+ val19 = 2560,1440
+ opt20 = 2560 x 1600
+ val20 = 2560,1600
++opt21 = 3840 x 2160
++val21 = 3840,2160
+
+ [ display.shadow_distance ]
+ desc = Set the distance at which shadows become visible
diff --git a/gnu/packages/patches/vdrift-data-icons.patch b/gnu/packages/patches/vdrift-data-icons.patch
new file mode 100644
index 0000000000..6c6003cc27
--- /dev/null
+++ b/gnu/packages/patches/vdrift-data-icons.patch
@@ -0,0 +1,38 @@
+Upstream-status: https://github.com/VDrift/vdrift/pull/202
+
+Index: vdrift-data/SConscript
+===================================================================
+--- vdrift-data/SConscript (revision 1460)
++++ vdrift-data/SConscript (working copy)
+@@ -10,6 +10,7 @@
+ #---------#
+ src = []
+
++# Install every single file to the data directory.
+ for root, dirs, files in os.walk("."):
+ if root.find('.svn') == -1:
+ for file in [f for f in files if not f.endswith('~')]:
+@@ -40,3 +41,6 @@
+ env.MoBuild(mo_file, po_file)
+ install = env.InstallAs(os.path.join(env.subst('$locale_directory'), mo_tgt_file), mo_file)
+ env.Alias("install", install)
++
++# Also copy the icons to a suitable location for the system.
++SConscript('textures/icons/SConscript')
+Index: vdrift-data/textures/icons/SConscript
+===================================================================
+--- vdrift-data/textures/icons/SConscript (revision 1460)
++++ vdrift-data/textures/icons/SConscript (working copy)
+@@ -19,5 +19,10 @@
+ #--------------------#
+ # Install data files #
+ #--------------------#
+-install = env.Install(Dir(env.subst('$data_directory/textures/icons')), src)
+-env.Alias('install', install)
++# Install the icons per the Icon Theme Specification (see:
++# https://specifications.freedesktop.org/icon-theme-spec/)
++iconsdir = Dir(env.subst('$icons_directory')).abspath
++install1 = env.InstallAs(iconsdir + '/16x16/apps/vdrift.png', 'vdrift-16x16.png')
++install2 = env.InstallAs(iconsdir + '/32x32/apps/vdrift.png', 'vdrift-32x32.png')
++install3 = env.InstallAs(iconsdir + '/64x64/apps/vdrift.png', 'vdrift-64x64.png')
++env.Alias('install', [install1, install2, install3])

base-commit: 59b2a60d0041882d732e1766e28f0df5a1ef1ac1
--
2.46.0
M
M
Maxim Cournoyer wrote on 22 Oct 08:53 +0200
[PATCH v2 2/2] gnu: Add vdrift.
(address . 73931@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
085562278f4f3ec9c28afc48164af689f5666a32.1729579976.git.maxim.cournoyer@gmail.com
* gnu/packages/patches/vdrift-icons.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/games.scm (vdrift): New variable.

Change-Id: I55b5884a9d7d4a9e874e76c6a7c8af4974dce701
---
Changes in v2: The icons are now properly installed.

gnu/local.mk | 1 +
gnu/packages/games.scm | 64 +++++++++++++++++++++++++
gnu/packages/patches/vdrift-icons.patch | 42 ++++++++++++++++
3 files changed, 107 insertions(+)
create mode 100644 gnu/packages/patches/vdrift-icons.patch

Toggle diff (137 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index a046a6122f..9c14308023 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2289,6 +2289,7 @@ dist_patch_DATA = \
%D%/packages/patches/vcmi-disable-privacy-breach.patch \
%D%/packages/patches/vdrift-data-extra-resolutions.patch \
%D%/packages/patches/vdrift-data-icons.patch \
+ %D%/packages/patches/vdrift-icons.patch \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch \
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 6525e1cb81..000e1fbab3 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -823,6 +823,70 @@ (define-public vdrift-data
game.")
(license license:gpl3+))))) ;assumed same as Vdrift itself
+(define-public vdrift
+ ;; The latest release is from 2014, and lacks build system and other
+ ;; unreleased improvements; use the latest commit.
+ (let ((commit "c85725b7b861db3f7e579456ec704f0134d46812")
+ (revision "0"))
+ (package
+ (name "vdrift")
+ (version (git-version "2014-10-20" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/VDrift/vdrift")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fndwrjdy1rxnhn8vpw2hv02vgdg3p5qnjmvx679dhwn57cd0773"))
+ (patches (search-patches "vdrift-icons.patch"))))
+ (build-system scons-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:scons-flags #~(list (string-append "prefix=" #$output)
+ "release=1"
+ "verbose=1")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'setup-vdrift-data
+ (lambda _
+ ;; The locale data must be made writable, as gettext
+ ;; translation files are generated and written there as part
+ ;; of the installation script.
+ (copy-recursively (search-input-directory
+ %build-inputs
+ "share/games/vdrift/data")
+ "data")
+ (for-each make-file-writable (find-files "data/locale")))))))
+ (native-inputs (list gettext-minimal pkg-config vdrift-data))
+ (inputs (list bullet curl libvorbis mesa sdl2 zlib))
+ (home-page "https://vdrift.net/")
+ (synopsis "Racing simulator")
+ (description "VDrift aims to provide an accurate driving physics
+emulation, based on real world data of the actual vehicles, employing a full
+rigid body simulation and a complex tire model. VDrift features:
+@itemize
+@item Over 45 tracks based on famous real-world tracks
+@item Over 45 cars based on real-world vehicles
+@item Very realistic, simulation-grade driving physics
+@item Mouse/joystick/gamepad/wheel/keyboard support
+@item Fully modeled tracks, scenery and terrain
+@item Several different camera modes
+@item Basic replay system with Skip Forward/Skip Backward
+@item Fully customizable controls
+@item Joystick, mouse and keyboard input filtering
+@item Brake and reverse lights
+@item Driver aids: automatic shifting, traction control, anti-lock braking
+@item Experimental force feedback
+@item Race against up to 3 AI with variable difficultly
+@item Engine and road sounds
+@end itemize
+The recommended input method is a steering wheel with pedals and force
+feedback support.")
+ (license license:gpl3+))))
+
(define-public vitetris
(package
(name "vitetris")
diff --git a/gnu/packages/patches/vdrift-icons.patch b/gnu/packages/patches/vdrift-icons.patch
new file mode 100644
index 0000000000..d2e153e267
--- /dev/null
+++ b/gnu/packages/patches/vdrift-icons.patch
@@ -0,0 +1,42 @@
+Upstream-status: https://github.com/VDrift/vdrift/pull/202
+
+diff --git a/SConstruct b/SConstruct
+index 7ba3860f..4e8874d5 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -29,6 +29,7 @@ opts.Add(BoolVariable('verbose', 'Show verbose compiling output', 1))
+ cppdefines = []
+ default_settingsdir = ".vdrift"
+ default_prefix = "/usr/local"
++default_iconsdir = "share/icons/hicolor"
+ default_datadir = "share/games/vdrift/data"
+ default_localedir = "share/locale"
+ default_bindir = "bin"
+@@ -161,8 +162,9 @@ if ARGUMENTS.get('verbose') != "1":
+ #-------------------------------#
+ opts.Add('settings', 'Directory under user\'s home dir where settings will be stored', default_settingsdir )
+ opts.Add('prefix', 'Path prefix.', default_prefix)
+-# in most case datadir doesn't exsist => do not use PathOption (Fails on build)
+-opts.Add('datadir', 'Path suffix where where VDrift data will be installed', default_datadir)
++# in most case datadir doesn't exist => do not use PathOption (Fails on build)
++opts.Add('datadir', 'Path suffix where VDrift data will be installed', default_datadir)
++opts.Add('iconsdir', 'Path suffix where VDrift icons will be installed', default_iconsdir)
+ opts.Add('localedir', 'Path where VDrift locale will be installed', default_localedir)
+ opts.Add('bindir', 'Path suffix where VDrift binary executable will be installed', default_bindir)
+
+@@ -335,6 +337,7 @@ Type: 'scons' to compile with the default options.
+ 'scons destdir=$PWD/tmp' to install to $PWD/tmp staging area.
+ 'scons datadir=' to install data files into an alternate directory.
+ 'scons bindir=games/bin' to install executable into an alternate directory.
++ 'scons iconsdir=share/icons/hicolor' to install the icons into an alternate directory.
+ 'scons localedir=/usr/share/locale' to install language files into an alternate directory.
+ 'scons release=1' to turn on compiler optimizations and disable debugging info.
+ 'scons builddir_release=build' to set release build directory.
+@@ -375,6 +378,7 @@ env = conf.Finish()
+ # directories #
+ #-------------#
+ env['data_directory'] = env['destdir'] + env['prefix'] + '/' + env['datadir']
++env['icons_directory'] = env['destdir'] + env['prefix'] + '/' + env['iconsdir']
+ env['locale_directory'] = env['destdir'] + env['prefix'] + '/' + env['localedir']
+ cppdefines.append(("SETTINGS_DIR", '"%s"' % env['settings']))
+ if sys.platform in ['win32', 'msys', 'cygwin']:
--
2.46.0
M
M
Maxim Cournoyer wrote on 23 Oct 13:53 +0200
[PATCH v3 0/2] Add VDrift.
(address . 73931@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
cover.1729684359.git.maxim.cournoyer@gmail.com
This 3rd revision removes the custom patches, now applied upstream.

Maxim Cournoyer (2):
gnu: Add vdrift-data.
gnu: Add vdrift.

gnu/packages/games.scm | 95 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)


base-commit: b8f8699a1f6e23fec46be7e086abde1270331ac9
--
2.46.0
M
M
Maxim Cournoyer wrote on 23 Oct 13:53 +0200
[PATCH v3 1/2] gnu: Add vdrift-data.
(address . 73931@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
ef4b7a6d78768d791dab2772d555faa3d164e648.1729684359.git.maxim.cournoyer@gmail.com
* gnu/packages/games.scm (vdrift-data): New variable.

Change-Id: I960e2222ea7e9506a306692db552dc1dcc229b01
---
gnu/packages/games.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 64b6b0941a..bbc0b9b09b 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -788,6 +788,38 @@ (define-public tetrinet
attacks you can use on opponents.")
(license license:public-domain)))
+(define-public vdrift-data
+ ;; There are no tags or releases for the vdrift data; use the latest SVN
+ ;; revision available.
+ (let ((commit 1463)
+ (revision "0"))
+ ;; The package is hidden as the game data is *required* by the install
+ ;; target of vdrift itself, and there is no need for users to manually
+ ;; install it.
+ (hidden-package
+ (package
+ (name "vdrift-data")
+ ;; The date is the last modified time shown next to the 'vdrift-data'
+ ;; directory when visiting
+ ;; https://sourceforge.net/p/vdrift/code/HEAD/tree/.
+ (version (format #f "2024-10-23-~a.~a" revision commit))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url "https://svn.code.sf.net/p/vdrift/code/vdrift-data")
+ (revision commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1zx08q4v3s4l5r0wxphd323h0rqp9pjb7kr08s3gb2qr85lw587h"))))
+ (build-system copy-build-system)
+ (arguments (list #:install-plan #~'(("." "share/games/vdrift/data"))))
+ (home-page "https://vdrift.net/")
+ (synopsis "Game data for Vdrift")
+ (description "This package contains the assets for the Vdrift racing
+game.")
+ (license license:gpl3+))))) ;assumed same as Vdrift itself
+
(define-public vitetris
(package
(name "vitetris")
--
2.46.0
M
M
Maxim Cournoyer wrote on 23 Oct 13:53 +0200
[PATCH v3 2/2] gnu: Add vdrift.
(address . 73931@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
7dad1540cd972785d69cc04e557eb36c960207b4.1729684359.git.maxim.cournoyer@gmail.com
* gnu/packages/games.scm (vdrift): New variable.

Change-Id: I55b5884a9d7d4a9e874e76c6a7c8af4974dce701
---
gnu/packages/games.scm | 63 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index bbc0b9b09b..901ccc544f 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -820,6 +820,69 @@ (define-public vdrift-data
game.")
(license license:gpl3+))))) ;assumed same as Vdrift itself
+(define-public vdrift
+ ;; The latest release is from 2014, and lacks build system and other
+ ;; unreleased improvements; use the latest commit.
+ (let ((commit "120ae28d2a1b43a8589c5ce3c5e02d813890d090")
+ (revision "0"))
+ (package
+ (name "vdrift")
+ (version (git-version "2014-10-20" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/VDrift/vdrift")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13id01rr6rjhmrh34p8n0ka3yfwzp62j6p8z6rc5aagnr5mn1qn0"))))
+ (build-system scons-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:scons-flags #~(list (string-append "prefix=" #$output)
+ "release=1"
+ "verbose=1")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'setup-vdrift-data
+ (lambda _
+ ;; The locale data must be made writable, as gettext
+ ;; translation files are generated and written there as part
+ ;; of the installation script.
+ (copy-recursively (search-input-directory
+ %build-inputs
+ "share/games/vdrift/data")
+ "data")
+ (for-each make-file-writable (find-files "data/locale")))))))
+ (native-inputs (list gettext-minimal pkg-config vdrift-data))
+ (inputs (list bullet curl libvorbis mesa sdl2 zlib))
+ (home-page "https://vdrift.net/")
+ (synopsis "Racing simulator")
+ (description "VDrift aims to provide an accurate driving physics
+emulation, based on real world data of the actual vehicles, employing a full
+rigid body simulation and a complex tire model. VDrift features:
+@itemize
+@item Over 45 tracks based on famous real-world tracks
+@item Over 45 cars based on real-world vehicles
+@item Very realistic, simulation-grade driving physics
+@item Mouse/joystick/gamepad/wheel/keyboard support
+@item Fully modeled tracks, scenery and terrain
+@item Several different camera modes
+@item Basic replay system with Skip Forward/Skip Backward
+@item Fully customizable controls
+@item Joystick, mouse and keyboard input filtering
+@item Brake and reverse lights
+@item Driver aids: automatic shifting, traction control, anti-lock braking
+@item Experimental force feedback
+@item Race against up to 3 AI with variable difficultly
+@item Engine and road sounds
+@end itemize
+The recommended input method is a steering wheel with pedals and force
+feedback support.")
+ (license license:gpl3+))))
+
(define-public vitetris
(package
(name "vitetris")
--
2.46.0
M
M
Maxim Cournoyer wrote on 15 Dec 15:35 +0100
control message for bug #73931
(address . control@debbugs.gnu.org)
87ikrlvws5.fsf@gmail.com
close 73931
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73931@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73931
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch