From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id 4FIVOqZMF2cWUQEA62LTzQ:P1 (envelope-from ) for ; Tue, 22 Oct 2024 06:56:39 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id 4FIVOqZMF2cWUQEA62LTzQ (envelope-from ) for ; Tue, 22 Oct 2024 08:56:39 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=IFdJB8UL; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=VmwL0Edf; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1729580168; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=svIK4KbdDPWTicWyvGsb6TmXoz1aSw8g7tCMcuNxJV0=; b=Ay8rY5a/xbZOSWi+VQVSadbiklPQHK2tPv3iKuk7rPl5fxqA1amWToRNdQ5ngZrP4tcM32 3lEPKPJaO0iWhYkKFRGlW0FWXvvZbDGIAjJNfBlhW5aB8eQiKoNU3AVTQUBUWAmrCvtKQM 85vp52ovuuPcrhtBFqhvVLolEBfhbopn9DTaJ7efZUCzqTr4I0KLBLnZTe/rAXkR3w2BJT iuv57wPrMkQUU4UUagbmFRDi+Bc0Bbyv0w27YEaT4Pij73yJ7gjRJ+2uCwV22LzkgQIQaj /CUPdDD8nOeplD61GwCpQo3RewX5nlykUKyJv5fSt53UsB9iBEHMOm0iDmyh+w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1729580168; a=rsa-sha256; cv=none; b=Y3gzQc10GItExLpSW5hfcx4mauFN1PIDJ//3rUone0QH6rcQvQDnxAXzxw35gz+YXXtk9w 3no/LPAtpLeaflijVzFYwqo1OB6bhsyTFZ47pTBBu8lxYWUHUG4oh/EpqawAv+AUjS4wnM w2vxOi2FU8atbvCSGcQf/4UFeJQjjx+0p5r4kfBL4TyHwcdcCfQK3LCrWR6X+0Nq/nlhy6 3N+WGQV7Nik2nPCIs5fZwG2eMUbf8plQqtLtxonnoNYqhGNc2ZPFMLhB+yFQxKP39IalfZ sSEB82cNyUXGdYB2OdHsRTvV/uGF+DP0IQBAi91qqILzgj6tGcWwhZ5AECn5Sw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=IFdJB8UL; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=VmwL0Edf; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7DCB278FF8 for ; Tue, 22 Oct 2024 08:56:08 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t38ns-0001Jh-R9; Tue, 22 Oct 2024 02:55:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t38ns-0001JS-0k for guix-patches@gnu.org; Tue, 22 Oct 2024 02:55:40 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t38nr-0006yj-Np for guix-patches@gnu.org; Tue, 22 Oct 2024 02:55:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=svIK4KbdDPWTicWyvGsb6TmXoz1aSw8g7tCMcuNxJV0=; b=IFdJB8ULRddHH5Gw3+88qG/34Lrwybzhli6WFKymATaWOQCuCkr3k4R65aN8vDhZv624DJYRSGY81n61Gp9dEBcDz6EgPbR2BkZC2cECxHnEN8pXMBXejidn9jRuXqCwZNnLGY8RkzvXtWZIdVS9bIvbEJ+Grw1fBuA5wgXonDlDn2cTcAJQsT5OA4IJnqpIKyV2Sm0nDuy6X+x2cpQz7o6CxQg+FPkaTAnfFMVEZQItEcjv5MMlnXEpornQrAsrshtqA5d6yn4SCm/wFTZ+Jp725+KSnjUCboMlzCVtnszdHxRQpKqSr1DmVSNhSZXKrFKT5v0i4SdBd5M0dtqxQg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t38oE-0001I6-WB; Tue, 22 Oct 2024 02:56:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#73931] [PATCH v2 2/2] gnu: Add vdrift. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: maxim.cournoyer@gmail.com, adam.faiz@disroot.org, liliana.prikler@gmail.com, iyzsong@envs.net, guix-patches@gnu.org Resent-Date: Tue, 22 Oct 2024 06:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73931 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 73931@debbugs.gnu.org Cc: Maxim Cournoyer , Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= X-Debbugs-Original-Xcc: Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Received: via spool by 73931-submit@debbugs.gnu.org id=B73931.17295801364554 (code B ref 73931); Tue, 22 Oct 2024 06:56:02 +0000 Received: (at 73931) by debbugs.gnu.org; 22 Oct 2024 06:55:36 +0000 Received: from localhost ([127.0.0.1]:54391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t38nn-0001BL-Dc for submit@debbugs.gnu.org; Tue, 22 Oct 2024 02:55:36 -0400 Received: from mail-pf1-f171.google.com ([209.85.210.171]:54759) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t38nk-0001Ap-Ra for 73931@debbugs.gnu.org; Tue, 22 Oct 2024 02:55:33 -0400 Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-71e4e481692so4360710b3a.1 for <73931@debbugs.gnu.org>; Mon, 21 Oct 2024 23:55:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729580039; x=1730184839; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=svIK4KbdDPWTicWyvGsb6TmXoz1aSw8g7tCMcuNxJV0=; b=VmwL0EdfWmnEBCu56wOGgYcWNxnVhHvn1f4IO9o5U15p/B97oxHxVR6c69n188cbdX Zc+XX3CWT2gkEZKki+fdX8zVnJ0m6mya1qacbOYOT+wNF5Prt16EmgiIShEsUyIP1Eoj kKuKakjS7E37Uctq6JK85z7k8ib+IrcoTUPuF2PXJ/53cLujJbrTJFPklLNo91E170Ct HQJw1lmd59ghAMGZRcm3JFgJnvZBhjgCFEMu6u62fpF839Rjsq6JvqUoqRJLpcjfPa9c RXC3lpTOUmDh6qS5d8eihmTcu1RPjvzOZXq9QvvwZVLLqh83dJMfoHX2YvklckkXkLf4 4spA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729580039; x=1730184839; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=svIK4KbdDPWTicWyvGsb6TmXoz1aSw8g7tCMcuNxJV0=; b=Bo+UtWyxXdWolQQNtxbdyD2+Pvl8uihvAgJL9x89eiqqBK5MViSos4wcIP/r7Z2Yjb 6Z/N9XtnsOMiBwPnsXbzIxBwXjUr5dqMmdIbbgNaWAJJOctBOpBAdXDwwk7hTNu78DBH IGfXFBVuE0A3eJroYsNKdwDhPEZwcbHlGJH/50RPAdWk6oAnoBSM3I80/mcFMjWQYLe8 0Vn9zo9wDqPH47oP/G7tnxtfM4tc7Lvhh32AJspvmUd4d5A1Q7M5Zo/Mggy490zrTMvT 8YDjDy2PJAIfJt0HNrnkpgTuoeP7UKMyxOG+kRj8w1gMVJfZ3Xgfi4BlmFCzzV0WtlvU baeA== X-Gm-Message-State: AOJu0YywselmhAgks50Oth92Gyxm5DhdwRjEwVJDIXDuEP/QI3FvmQJi 0F3sCi2KUEd/Ma/odiEb9hGDQa06NhSd0Y0T2PqHkl9wZ3+NwKMME7YBRw== X-Google-Smtp-Source: AGHT+IEvT3BO2j3ZKZbCpSPK+XvunJz0L13FcWS6YWQLaFQTpQHla47iUjoH0vvbWiRax78bAOViog== X-Received: by 2002:aa7:8882:0:b0:71d:fe19:83ee with SMTP id d2e1a72fcca58-71ea31e1034mr18473053b3a.10.1729580038571; Mon, 21 Oct 2024 23:53:58 -0700 (PDT) Received: from localhost.localdomain ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71ec1218a44sm4029480b3a.0.2024.10.21.23.53.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Oct 2024 23:53:58 -0700 (PDT) From: Maxim Cournoyer Date: Tue, 22 Oct 2024 15:53:32 +0900 Message-ID: <085562278f4f3ec9c28afc48164af689f5666a32.1729579976.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <73b92e58d4cb87122c5a9edacb55665691edac04.1729579976.git.maxim.cournoyer@gmail.com> References: <73b92e58d4cb87122c5a9edacb55665691edac04.1729579976.git.maxim.cournoyer@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 2.00 X-Spam-Score: 2.00 X-Migadu-Queue-Id: 7DCB278FF8 X-Migadu-Scanner: mx13.migadu.com X-TUID: 2nbHczZIRNxR * 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 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