From patchwork Mon Oct 28 06:26:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 69581 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3B13727BBEA; Mon, 28 Oct 2024 06:29:06 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4A6EA27BBE2 for ; Mon, 28 Oct 2024 06:29:04 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t5JF4-0005Yn-CD; Mon, 28 Oct 2024 02:28:42 -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 1t5JEs-0005XM-Ci for guix-patches@gnu.org; Mon, 28 Oct 2024 02:28:30 -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 1t5JEr-0006im-AP for guix-patches@gnu.org; Mon, 28 Oct 2024 02:28:30 -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:Date:From:To:In-Reply-To:References:Subject; bh=SDiCYsnnsQDv6MKjwOQXZLo1DtRNJCXD8TvR6w6obho=; b=TgmUgpGJ3fQXoLQeLijZ3VMlWQWs1FJ4oftGIpw/t6SnwTC4FhGRWTJbAhjNcJekFGW50c3knlGMbgucGCdem1iiLZSb9FTrjuf0Fp7EL/Fm0e73PtkMTPSQMNJuilW1BaUBNKGrgCR8Ni8ijNz+Na+uexa3rxya6Soi+FRkpNd2QYV/l2kb0Brg3hxshXB/60u/VwErqgDsKY5VGrTIXjWhpqtALOLWmbLB74jEGsmTwztsBBedN8r927i3wDy575eyQE+PbdvERzv0cQea1eUOEEiP74b/1sb2pw4nwj8NcYwEbATF+liyLrez8zDE5CY3XVeBv5q4yDv+4kucAw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t5JFO-0003kK-8O; Mon, 28 Oct 2024 02:29:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#74054] [PATCH v2 1/3] gnu: Add freesolid. References: In-Reply-To: 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: Mon, 28 Oct 2024 06:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74054 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 74054@debbugs.gnu.org Cc: Maxim Cournoyer , Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= X-Debbugs-Original-Xcc: Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= Received: via spool by 74054-submit@debbugs.gnu.org id=B74054.173009689314284 (code B ref 74054); Mon, 28 Oct 2024 06:29:02 +0000 Received: (at 74054) by debbugs.gnu.org; 28 Oct 2024 06:28:13 +0000 Received: from localhost ([127.0.0.1]:51407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5JEa-0003iK-By for submit@debbugs.gnu.org; Mon, 28 Oct 2024 02:28:13 -0400 Received: from mail-pg1-f169.google.com ([209.85.215.169]:51254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5JEW-0003i3-LF for 74054@debbugs.gnu.org; Mon, 28 Oct 2024 02:28:10 -0400 Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-7ede82dbb63so461328a12.2 for <74054@debbugs.gnu.org>; Sun, 27 Oct 2024 23:27:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730096791; x=1730701591; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=SDiCYsnnsQDv6MKjwOQXZLo1DtRNJCXD8TvR6w6obho=; b=ACgF8sQaxqb87mBFtEXYyhZcSnW5RLlz35FbaFMZ3YjSx7zc5nJXhG7Td3tw+INvIh arwtVps85+u0m4gm8yXasvrXZkbjcxZVd3pf9IkGFpXvP/Q5OUukJNDj6YLpBa4QbZbH w+np8teVdzFRWyrdvdL8tfK5N+1DfyZddrpAJNJoY6mTRsVnDpc4Ojwdl+gUen76LTek dIIdfvK0Et+Pi0Iyny7DaMzyPSeevxr7+Ft6Y0YNteee9DkS6X/CfyaJzeObQPSoMi/L HWj+lZgy2QmBgZ9F/foF8XcUXpxEa545U0RvNZhhNuXAzD6ZdzVEAhBQ4+rKyB64/nLs KyoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730096791; x=1730701591; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=SDiCYsnnsQDv6MKjwOQXZLo1DtRNJCXD8TvR6w6obho=; b=SY+vr+6++cugLe7lcXJjNouQuiz3wyN+KJzyzaVfrq4a5LBaHLghnVuYRbTQcbO9in tjnccx4zaCC1CQp0FyfvBPRkaI6IlzC33O2NVFYksYmB2QNpVMBlWNdMpYKdDl/ClLO5 5R3QalcD7MNLZcdCLK9tC0FSyWAOUY7NXE2qNyc4dyWd+H0ZQoOhIdMz+qyrDysFJq2V gX7dAbjnfspRVV4o9bR2Tto/rXSFK+tea2JUc9bxz5Dv0U+3gWd9R6/Z4PUsUQhsGsxw +Sbnnm2ifQZzCHGnoMQmfn6qfH9FhFe46NyuDxiHJjm0UR4mj9tSYMRDPckRjgMrumSo 23Fw== X-Gm-Message-State: AOJu0YygD+IHzoXdoggCjfsx5L0fqMNL6iUJg83/YtiybeJjZJUg+Dvk itWJ1miT7stD+GlfRNuV3Jik93T+kTMGrSwiBKk+mBziW2WbpF5hsvQllQS2 X-Google-Smtp-Source: AGHT+IEvbMM4d/G+ksNaxqP9yB0HobZe/IXn0LlbBiTryvdlLQTt+vYHAU0sTsQTVV3VtgSGl8v0hw== X-Received: by 2002:a05:6a21:e92:b0:1d9:282f:3d16 with SMTP id adf61e73a8af0-1d9a84de027mr9686360637.32.1730096790407; Sun, 27 Oct 2024 23:26:30 -0700 (PDT) Received: from localhost.localdomain (vps-6234970c.vps.ovh.ca. [51.222.13.224]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a3fdf2sm4993850b3a.214.2024.10.27.23.26.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 23:26:29 -0700 (PDT) From: Maxim Cournoyer Date: Mon, 28 Oct 2024 15:26:06 +0900 Message-ID: X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/game-development.scm (freesolid): New variable. * gnu/packages/patches/freesolid-configure.patch: New file. * gnu/packages/patches/freesolid-pkgconfig.patch: Likewise. * gnu/packages/patches/freesolid-automake.patch: Likewise. * gnu/packages/patches/freesolid-autotools.patch: Likewise. * gnu/local.mk (dist_patch_DATA): Register them. Change-Id: I557332031a30d944f451d0a62c763e5b41c4e29b --- Changes in v2: - Fix corrupted freesolid-automake.patch gnu/local.mk | 4 + gnu/packages/game-development.scm | 30 ++++++++ gnu/packages/patches/freesolid-automake.patch | 60 +++++++++++++++ .../patches/freesolid-autotools.patch | 73 +++++++++++++++++++ .../patches/freesolid-configure.patch | 58 +++++++++++++++ .../patches/freesolid-pkgconfig.patch | 46 ++++++++++++ 6 files changed, 271 insertions(+) create mode 100644 gnu/packages/patches/freesolid-automake.patch create mode 100644 gnu/packages/patches/freesolid-autotools.patch create mode 100644 gnu/packages/patches/freesolid-configure.patch create mode 100644 gnu/packages/patches/freesolid-pkgconfig.patch base-commit: e4e1e16bc1b27684b55e6bf047f9f669e1a0c7b5 diff --git a/gnu/local.mk b/gnu/local.mk index 911af88627..73121dce5d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1289,6 +1289,10 @@ dist_patch_DATA = \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/freeimage-CVE-2020-21428.patch \ %D%/packages/patches/freeimage-CVE-2020-22524.patch \ + %D%/packages/patches/freesolid-automake.patch \ + %D%/packages/patches/freesolid-autotools.patch \ + %D%/packages/patches/freesolid-configure.patch \ + %D%/packages/patches/freesolid-pkgconfig.patch \ %D%/packages/patches/fulcrum-1.9.1-unbundled-libraries.patch \ %D%/packages/patches/fuse-glibc-2.34.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index ee869c9cc5..25cc021f6f 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2022 dan ;;; Copyright © 2023, 2024 John Kehayias ;;; Copyright © 2024 Nicolas Graves +;;; Copyright © 2024 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -2796,6 +2797,35 @@ (define-public flatzebra double-buffering.") (license license:gpl2+))) +(define-public freesolid + (package + (name "freesolid") + (version "2.1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/FreeSOLID-" + version ".zip")) + (sha256 + (base32 + "0wxqiv1ba227kwxpgwf6in9ai1lcamhmp1ib1c1chq4xvnpwdvc9")) + (patches (search-patches "freesolid-autotools.patch" + "freesolid-pkgconfig.patch" + "freesolid-configure.patch" + "freesolid-automake.patch")))) + (build-system gnu-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'force-reboostrap + (lambda _ + (delete-file "bootstrap.sh") + (delete-file "configure")))))) + (native-inputs (list autoconf automake libtool unzip)) + (home-page "https://sourceforge.net/projects/freesolid/") + (synopsis "3D collision detection C++ library") + (description "FreeSOLID is a library for collision detection of +three-dimensional objects undergoing rigid motion and deformation. FreeSOLID +is designed to be used in interactive 3D graphics applications.") + (license license:lgpl2.0+))) + (define-public libccd (package (name "libccd") diff --git a/gnu/packages/patches/freesolid-automake.patch b/gnu/packages/patches/freesolid-automake.patch new file mode 100644 index 0000000000..09e6b905a9 --- /dev/null +++ b/gnu/packages/patches/freesolid-automake.patch @@ -0,0 +1,60 @@ +FreeSOLID-2.1.1-Makefile.am-update.patch + +From: Alec Leamas + +This patch causes a few extra header files to be installed; they are used by +Speed-Dreams for example. + +Source: https://src.fedoraproject.org/rpms/FreeSOLID/raw/rawhide/f/FreeSOLID-2.1.1-Makefile.am-update.patch +Rebased on top of 2.1.2 by Maxim Cournoyer +Upstream-status: https://sourceforge.net/p/freesolid/patches/11/ + +--- + + Makefile.am | 20 ++++++++++++++++++-- + libsolid/Makefile.am | 2 +- + 2 files changed, 19 insertions(+), 3 deletions(-) + +--- a/Makefile.am 2024-10-28 15:17:22.787773430 +0900 ++++ b/Makefile.am 2024-10-28 15:19:02.367752961 +0900 +@@ -1,8 +1,24 @@ + ACLOCAL_AMFLAGS = -I m4 + SUBDIRS = libmoto libbroad libsolid sample doc + +-EXTRA_DIST = include ++EXTRA_DIST = FreeSOLID.pc.in + bin_SCRIPTS = freesolid-config + + pkgconfigdir = $(libdir)/pkgconfig +-dist_pkgconfig_DATA = FreeSOLID.pc ++nodist_pkgconfig_DATA = FreeSOLID.pc ++ ++FreeSOLID_3Ddir = $(includedir)/FreeSOLID/3D ++FreeSOLID_3D_HEADERS = ++FreeSOLID_3D_HEADERS += include/3D/Basic.h ++FreeSOLID_3D_HEADERS += include/3D/Matrix.h ++FreeSOLID_3D_HEADERS += include/3D/Point.h ++FreeSOLID_3D_HEADERS += include/3D/Quaternion.h ++FreeSOLID_3D_HEADERS += include/3D/Tuple3.h ++FreeSOLID_3D_HEADERS += include/3D/Tuple4.h ++FreeSOLID_3D_HEADERS += include/3D/Vector.h ++ ++FreeSOLID_SOLIDdir = $(includedir)/FreeSOLID/SOLID ++FreeSOLID_SOLID_HEADERS = ++FreeSOLID_SOLID_HEADERS += include/SOLID/solid.h ++FreeSOLID_SOLID_HEADERS += include/SOLID/broad.h ++FreeSOLID_SOLID_HEADERS += include/SOLID/types.h + +diff --git a/libsolid/Makefile.am b/libsolid/Makefile.am +index f722be3..623b2e8 100644 +--- a/libsolid/Makefile.am ++++ b/libsolid/Makefile.am +@@ -21,7 +21,7 @@ libFreeSOLID_la_SOURCES = \ + ../libmoto/MT_Vector4.cpp + + +-libFreeSOLID_la_LDFLAGS = -no-undefined -version-info @FREESOLID_CURRENT@:@FREESOLID_REVISION@:@FREESOLID_AGE@ -release @VERSION@ ++libFreeSOLID_la_LDFLAGS = -no-undefined -version-info @FREESOLID_CURRENT@:@FREESOLID_REVISION@:@FREESOLID_AGE@ + + AM_CPPFLAGS = @CPPFLAGS@ + LIBS = @QHULL_LIBS@ -lm diff --git a/gnu/packages/patches/freesolid-autotools.patch b/gnu/packages/patches/freesolid-autotools.patch new file mode 100644 index 0000000000..df99bdcd67 --- /dev/null +++ b/gnu/packages/patches/freesolid-autotools.patch @@ -0,0 +1,73 @@ +Upstream-status: https://sourceforge.net/p/freesolid/patches/1/ + +Resolve Autoconf warnings. + +diff --git a/Makefile.am b/Makefile.am +index 4914f44..77b157a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,4 +1,5 @@ ++ACLOCAL_AMFLAGS = -I m4 + SUBDIRS = libmoto libbroad libsolid sample doc + + EXTRA_DIST = include +-bin_SCRIPTS = freesolid-config +\ No newline at end of file ++bin_SCRIPTS = freesolid-config +diff --git a/configure.in b/configure.in +index 7d61ba5..41a761c 100644 +--- a/configure.in ++++ b/configure.in +@@ -1,5 +1,6 @@ + dnl Process this file with autoconf to produce a configure script. + AC_INIT(sample/sample.cpp) ++AC_CONFIG_MACRO_DIR([m4]) + + AC_CANONICAL_SYSTEM + PACKAGE=FreeSOLID +@@ -22,17 +23,14 @@ AC_PROG_CXX + AC_PROG_CC + AC_PROG_CPP + AC_PROG_INSTALL +-AC_PROG_RANLIB + AC_PROG_LIBTOOL + + CPPFLAGS="$CPPFLAGS -I../include -I./include -I. -I../libbroad -I../libmoto" + AC_SUBST(CPPFLAGS) + + dnl Checks for libraries. +-dnl Replace `main' with a function in -lm: +-AC_CHECK_LIB(m, main) +-dnl Replace `main' with a function in -lqhull: +-AC_CHECK_LIB(qhull, main, s_have_qhull=yes) ++AC_CHECK_LIB(m, ceil) ++AC_CHECK_LIB(qhull, qh_initbuild, s_have_qhull=yes) + + if test "X${s_have_qhull}" = Xyes; then + QHULL_LIBS="-lqhull" +diff --git a/libsolid/Makefile.am b/libsolid/Makefile.am +index cc295c7..f722be3 100644 +--- a/libsolid/Makefile.am ++++ b/libsolid/Makefile.am +@@ -23,7 +23,7 @@ libFreeSOLID_la_SOURCES = \ + + libFreeSOLID_la_LDFLAGS = -no-undefined -version-info @FREESOLID_CURRENT@:@FREESOLID_REVISION@:@FREESOLID_AGE@ -release @VERSION@ + +-CPPFLAGS = @CPPFLAGS@ ++AM_CPPFLAGS = @CPPFLAGS@ + LIBS = @QHULL_LIBS@ -lm + + pkginclude_HEADERS = \ +diff --git a/sample/Makefile.am b/sample/Makefile.am +index 5559fb0..eaa705f 100644 +--- a/sample/Makefile.am ++++ b/sample/Makefile.am +@@ -4,7 +4,7 @@ sample_SOURCES = sample.cpp + x_wing_SOURCES = x_wing.cpp + teapot_SOURCES = teapot.cpp + +-CPPFLAGS = @CPPFLAGS@ ++AM_CPPFLAGS = @CPPFLAGS@ + + LDADD = ../libsolid/libFreeSOLID.la + diff --git a/gnu/packages/patches/freesolid-configure.patch b/gnu/packages/patches/freesolid-configure.patch new file mode 100644 index 0000000000..0460b631a7 --- /dev/null +++ b/gnu/packages/patches/freesolid-configure.patch @@ -0,0 +1,58 @@ +Fixes an incompatibility with Libtool 2+. + +Rebased on FreeSOLID-2.1.2. + +Originally retrieved from Fedora (see: +https://src.fedoraproject.org/rpms/FreeSOLID/raw/rawhide/f/FreeSOLID-2.1.1-configure.patch). + +Upstream-status: https://sourceforge.net/p/freesolid/patches/10/ + +--- FreeSOLID-2.1.1/configure.in.orig 2012-05-24 20:58:30.000000000 +0200 ++++ FreeSOLID-2.1.1/configure.in 2012-05-24 21:08:00.932445488 +0200 +@@ -1,8 +1,11 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(sample/sample.cpp) ++AC_INIT + AC_CONFIG_MACRO_DIR([m4]) ++AC_CONFIG_SRCDIR([sample/sample.cpp]) + +-AC_CANONICAL_SYSTEM ++AC_CONFIG_MACRO_DIR([m4]) ++ ++AC_CANONICAL_TARGET + PACKAGE=FreeSOLID + VERSION=2.1.1 + FREESOLID_CURRENT=2 +@@ -15,15 +18,14 @@ + + AM_INIT_AUTOMAKE($PACKAGE, $VERSION) + +-AM_CONFIG_HEADER(include/config.h) ++AC_CONFIG_HEADERS([include/config.h]) + + dnl Checks for programs. +-AC_LIBTOOL_WIN32_DLL + AC_PROG_CXX + AC_PROG_CC + AC_PROG_CPP + AC_PROG_INSTALL +-AC_PROG_LIBTOOL ++LT_INIT([win32-dll]) + + CPPFLAGS="$CPPFLAGS -I../include -I./include -I. -I../libbroad -I../libmoto" + AC_SUBST(CPPFLAGS) +@@ -52,11 +54,6 @@ + AC_CHECK_FUNCS(sqrt) + AC_CHECK_FUNCS(fabs) + +-AC_OUTPUT([ doc/Makefile +- sample/Makefile +- Makefile +- libbroad/Makefile +- libmoto/Makefile +- libsolid/Makefile +- freesolid-config +- FreeSOLID.pc]) ++AC_CONFIG_FILES([doc/Makefile sample/Makefile Makefile libbroad/Makefile libmoto/Makefile libsolid/Makefile freesolid-config]) ++AC_CONFIG_FILES([FreeSOLID.pc]) ++AC_OUTPUT diff --git a/gnu/packages/patches/freesolid-pkgconfig.patch b/gnu/packages/patches/freesolid-pkgconfig.patch new file mode 100644 index 0000000000..564293c082 --- /dev/null +++ b/gnu/packages/patches/freesolid-pkgconfig.patch @@ -0,0 +1,46 @@ +Upstream-status: https://sourceforge.net/p/freesolid/patches/5/ + +diff --git a/FreeSOLID.pc.in b/FreeSOLID.pc.in +new file mode 100644 +index 0000000..c354f05 +--- /dev/null ++++ b/FreeSOLID.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: FreeSolid ++Description: 3D collision detection C++ library ++Version: @VERSION@ ++ ++Libs: -L${libdir} -lFreeSOLID @QHULL_LIBS@ ++Cflags: -I${includedir} -I${includedir}/FreeSOLID ++ +diff --git a/configure.in b/configure.in +index 41a761c..a4bc7d4 100644 +--- a/configure.in ++++ b/configure.in +@@ -52,4 +52,11 @@ dnl Checks for library functions. + AC_CHECK_FUNCS(sqrt) + AC_CHECK_FUNCS(fabs) + +-AC_OUTPUT(doc/Makefile sample/Makefile Makefile libbroad/Makefile libmoto/Makefile libsolid/Makefile freesolid-config) ++AC_OUTPUT([ doc/Makefile ++ sample/Makefile ++ Makefile ++ libbroad/Makefile ++ libmoto/Makefile ++ libsolid/Makefile ++ freesolid-config ++ FreeSOLID.pc]) +--- a/Makefile.am 2024-10-28 10:49:24.006849578 +0900 ++++ b/Makefile.am 2024-10-28 10:50:13.378839511 +0900 +@@ -3,3 +3,6 @@ + + EXTRA_DIST = include + bin_SCRIPTS = freesolid-config ++ ++pkgconfigdir = $(libdir)/pkgconfig ++dist_pkgconfig_DATA = FreeSOLID.pc From patchwork Mon Oct 28 06:26:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 69579 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0AFA627BBE2; Mon, 28 Oct 2024 06:28:55 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 7722827BBE9 for ; Mon, 28 Oct 2024 06:28:52 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t5JEv-0005Xx-5K; Mon, 28 Oct 2024 02:28:33 -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 1t5JEs-0005XN-Cg for guix-patches@gnu.org; Mon, 28 Oct 2024 02:28:30 -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 1t5JEq-0006in-K4 for guix-patches@gnu.org; Mon, 28 Oct 2024 02:28:29 -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=8rN0MnQ27ptl1Vf8X1aJBF0oQZplqkePMRo3i2fqpf8=; b=kF4r8ItyzbulFOAH+SLaUZNfJGRSm+5ejiqzKQ5l92bRc/1pfp4erXFroZgjBIcRBNsKJF/HGnBfpkxgErLtNSxAOVoOWAbVQ390bkINtSOJhyk/zTa2MNgndPCcBiGOBz1rQDuHcprchsY5HQs1Lq7HMHDqRGA4fHT3oFFw2s4t38aOe45nwKYT2i+U9vfib+Cj4JzSHi4xpDYPdYoocMxKb+9BhcDU51xBOUhXX2YPkbASR7eEv3qcz/VvZRnwzPvz+7t14iW9klMsuCQQnKVO89yRLjk4y1ExasYxpFBs+WSuN/rZIeJ6IE7AlzpEMNTVJ2EOY9qi5XjAC0CYIA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t5JFO-0003kQ-Ly; Mon, 28 Oct 2024 02:29:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#74054] [PATCH v2 2/3] gnu: plib: Build with -fPIC. 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: Mon, 28 Oct 2024 06:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74054 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 74054@debbugs.gnu.org Cc: Maxim Cournoyer , Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= X-Debbugs-Original-Xcc: Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= Received: via spool by 74054-submit@debbugs.gnu.org id=B74054.173009690014304 (code B ref 74054); Mon, 28 Oct 2024 06:29:02 +0000 Received: (at 74054) by debbugs.gnu.org; 28 Oct 2024 06:28:20 +0000 Received: from localhost ([127.0.0.1]:51410 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5JEh-0003ie-Mu for submit@debbugs.gnu.org; Mon, 28 Oct 2024 02:28:19 -0400 Received: from mail-ot1-f52.google.com ([209.85.210.52]:61700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5JEf-0003iJ-Dp for 74054@debbugs.gnu.org; Mon, 28 Oct 2024 02:28:17 -0400 Received: by mail-ot1-f52.google.com with SMTP id 46e09a7af769-7180dc76075so1978573a34.3 for <74054@debbugs.gnu.org>; Sun, 27 Oct 2024 23:27:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730096795; x=1730701595; 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=8rN0MnQ27ptl1Vf8X1aJBF0oQZplqkePMRo3i2fqpf8=; b=ATJhKy67PJiAlXRalbpRn3eg2X7KKToq6dTzRE7KJpda2k/6nmdcbXRtNZrOwt3yjn rGpMXvOikV0snhc4CDy2vsGOEdhwLCNu7KQFYXSqBXBPCgtaxEE1gY1A6XBecrU2/NEU SXfYv6dQbHgGVHqT8zlIV+fTbUk9KFB3U8Z8EKZ/NaR3jzb3Ogv6dlvLtnADWX62dCQP dd8frabQ8MP5NNqMfsyNcDg3cxGRGKXJa+yt3M3DhAaFi2U0l8vAka+ASL0toy6zYtXb RKqlm5idzo60EX+Gc/Cl71IbtaqnWfhHElhG+Qwl8a33szusHFQr61/5YEbMWwDFk4kn pYVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730096795; x=1730701595; 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=8rN0MnQ27ptl1Vf8X1aJBF0oQZplqkePMRo3i2fqpf8=; b=uXo5BwKxHQAQS+aJUFIJZ4iAvPbXVca4HZXQ1jZ5dT3FyaX1R8z6T+JOJuzf02mjfA roN9ngB+2ys9F/UjJr7Jeb4+Dn7exN9fZ/SJuckeZSY1LgPnpHuJ3t8dHAg71eIJKLWU pBofDNuNxv2Vh7rCwJpElrxGHdwUU/UT0+n5wIjArretqEbE/iCcCQPZ4txUhgaFV2j2 fH00LsAQLuBtujiKo9HdSdjtanZyOn5gkQCIybHIxpVJPkiGsvZSDgqVqSzkwxMrvVEA 4GzDjF1ACFEtENF3w+xFdpHmgoURe6LVh7Wq9meueYyRV6b3hdF+6qqxMazDXZoKIM+K pc3A== X-Gm-Message-State: AOJu0Yy2Da0eckMZ7mkHrV/JpmGH8ihMR1pNx1t9sFYPDqaOGqLhb5vq eqIn2iKAhzExXKZDNbxG13Cf9Idf5YbeL5oV0JlLFfGPtzcW4wsSQjHxu7BN X-Google-Smtp-Source: AGHT+IHENyp/AhEY3wBFso/LlH90Bxs7IRdP3MBluKqQ5x+HnG2fPi6c7RxNoeB1UAX9mPmfi2fzlQ== X-Received: by 2002:a05:6830:3688:b0:718:c42:48c3 with SMTP id 46e09a7af769-718682a137fmr6290680a34.32.1730096795510; Sun, 27 Oct 2024 23:26:35 -0700 (PDT) Received: from localhost.localdomain (vps-6234970c.vps.ovh.ca. [51.222.13.224]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a3fdf2sm4993850b3a.214.2024.10.27.23.26.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 23:26:35 -0700 (PDT) From: Maxim Cournoyer Date: Mon, 28 Oct 2024 15:26:07 +0900 Message-ID: <50a1e682b5774829dbc1a9b0e625c69b38fd070a.1730096728.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/game-development.scm (plib) [configure-flags]: New argument. [inputs]: Move field after... [native-inputs]: ... this one. Change-Id: Ieddfb8814632f74c98d0e2cda949709b718c7a0d --- (no changes since v1) gnu/packages/game-development.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 25cc021f6f..73ae3ef084 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2573,10 +2573,12 @@ (define-public plib (patches (search-patches "plib-CVE-2011-4620.patch" "plib-CVE-2012-4552.patch")))) (build-system gnu-build-system) - (inputs - (list mesa libxi libxmu)) - (native-inputs - (list pkg-config)) + ;; plib exists only as a static library, per the author's choice (see: + ;; https://sourceforge.net/p/plib/mailman/message/10289018/). Build it + ;; with PIC, so that shared programs can at least "link" to it. + (arguments (list #:configure-flags #~(list "CXXFLAGS=-fPIC"))) + (native-inputs (list autoconf automake pkg-config)) + (inputs (list mesa libxi libxmu)) (home-page "https://plib.sourceforge.net/") (synopsis "Suite of portable game libraries") (description "PLIB is a set of libraries that will permit programmers to From patchwork Mon Oct 28 06:26:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 69580 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6CAF927BBEA; Mon, 28 Oct 2024 06:29:01 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C545227BBE2 for ; Mon, 28 Oct 2024 06:29:00 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t5JEw-0005YP-Gc; Mon, 28 Oct 2024 02:28:34 -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 1t5JEs-0005XL-Ca for guix-patches@gnu.org; Mon, 28 Oct 2024 02:28:30 -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 1t5JEq-0006ij-7m for guix-patches@gnu.org; Mon, 28 Oct 2024 02:28:29 -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=AD+sDDu69N5XljRZ+yEpXxoi9L7hEYyQ8JtR2nbhIqM=; b=ZsIzlu/jJlz5pJyA/dy5/ueJAV4E7Gag+gVp6OsOfhwx/FQMUmHHBYpUigm2qTUgrgeAwvNQpGBPxkszCar8EFO7gksW/iGj38LjkPrGeWR+LxpwqPCkFF1oV8n82v2IYN0ML4zx91oCvtUhVXZwYrW6Ggs4svN9YkJorGyySrNC/YX1tse6LXY1YYpi/9cNLx0ayPq4Kgl/BTUnWHeH3G9G1XqaRN5hprONnN/eJQeeR5zjFLyBjoBWWPYDOrX0npRMv8xdGVTBU5Rm5o7IsGZwiBnPkTzHbPfquJapQckBGJ7C1xOWoe0dB5n/Tcmy4PSGwoCtie3KQHzuPbLmSQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1t5JFP-0003kX-3a; Mon, 28 Oct 2024 02:29:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#74054] [PATCH v2 3/3] gnu: Add speed-dreams. 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: Mon, 28 Oct 2024 06:29:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74054 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 74054@debbugs.gnu.org Cc: Maxim Cournoyer , Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= X-Debbugs-Original-Xcc: Maxim Cournoyer , Adam Faiz , Liliana Marie Prikler , =?utf-8?b?5a6L5paH5q2m?= Received: via spool by 74054-submit@debbugs.gnu.org id=B74054.173009690414333 (code B ref 74054); Mon, 28 Oct 2024 06:29:03 +0000 Received: (at 74054) by debbugs.gnu.org; 28 Oct 2024 06:28:24 +0000 Received: from localhost ([127.0.0.1]:51414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5JEm-0003j5-1O for submit@debbugs.gnu.org; Mon, 28 Oct 2024 02:28:24 -0400 Received: from mail-pf1-f179.google.com ([209.85.210.179]:43282) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5JEk-0003iU-Lm for 74054@debbugs.gnu.org; Mon, 28 Oct 2024 02:28:23 -0400 Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-718e9c8bd83so3378275b3a.1 for <74054@debbugs.gnu.org>; Sun, 27 Oct 2024 23:27:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730096801; x=1730701601; 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=AD+sDDu69N5XljRZ+yEpXxoi9L7hEYyQ8JtR2nbhIqM=; b=HX7LJWK9SaqvQ7YbKyCyHihk3VuPMRjNiPzlEsDmOuUo5p0JfcrhxadkxAb/YGlQDr YICOINQayrj+uQfqFFnF8cOCPeIQvWpFkG2A3HnoE3EUnfJqLQXKRMXdBO3VzlnT0QN7 QsSrDQUHwSUkgxZBTEqhprFklv+faEJvgj5bW0srvq/oj18iCWwvL7CMFnUfAu+jF9Kg 04ckkGT6WWV7SHMMZombkFsKiiqbWV2oNAo18+Jql/AMZ6Akat8Z73CdaPI6LLVgoXfI 1ngqiuR5EyevS26gtRJLgt/L6RQE8Ib+AWXDjNRrMrnM9ydobRpVLV9XL/oqDvx8Aqye rrXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730096801; x=1730701601; 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=AD+sDDu69N5XljRZ+yEpXxoi9L7hEYyQ8JtR2nbhIqM=; b=NMDJkfvW+D0b+RDQxfMt93C+zEiKwGjYlhYXOhW9zCwin/k0GWeW3iRtL4sp+HvP/S nBuYXzURI6ep7wSvEL0h8W1iGN9yqg5VjojnjzMRNOXL9b5NT1nvFsEiN0OWIxkyZe3W WeIuE97VxjbJuHDSBdkaTYiFmdj5IOew6YOSyU/tQGkVYM51KYtlesvPd0JyRvDH10Rz 5a48ExjexONETWsOGjdznFfxeSgm6UquYui7IZMbXEpaJV9AYFtC8V2UUrl7yy2Vljkw GTJAFd4+DcMl+IE8wnQ1ZJJNPMWL+IoEXh+f3f1tVNQ3Z9qeEguWkl7nbao+2QW09Bv7 g2kQ== X-Gm-Message-State: AOJu0Yz8NibTJ8h2wa0D8WXlEcz1NOPC00ev47WZyWY2zY56FEeypuSD +Z//94hgOHBDQ4E0Sw0lpmjB7Jdne4F/auYosP8LnO4S0K3Mt45l0T5cWuTQ X-Google-Smtp-Source: AGHT+IGxH1BIZRLYMJ3jNFBv/+jqCI74XaxjmqyaylIzOPRHJxwDuv+rZrCGUhKMCFeClQmfUriYGw== X-Received: by 2002:a62:e20f:0:b0:71e:76dc:10f7 with SMTP id d2e1a72fcca58-72062f712edmr8918637b3a.4.1730096800474; Sun, 27 Oct 2024 23:26:40 -0700 (PDT) Received: from localhost.localdomain (vps-6234970c.vps.ovh.ca. [51.222.13.224]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a3fdf2sm4993850b3a.214.2024.10.27.23.26.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 23:26:40 -0700 (PDT) From: Maxim Cournoyer Date: Mon, 28 Oct 2024 15:26:08 +0900 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/games.scm (speed-dreams): New variable. (speed-dreams-version, speed-dreams-svn-revision): New variables. (speed-dreams-source-tarball): New procedure. (speed-dreams-base-tarball, speed-dreams-more-hq-cars-and-tracks-tarball) (speed-dreams-wip-cars-and-tracks-tarball) (speed-dreams-unmaintained-tarball): New variable. Change-Id: Id14f3556d47a80c508177940f959448520b406fc --- (no changes since v1) gnu/packages/games.scm | 122 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 64b6b0941a..be96ed895b 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -8964,6 +8964,128 @@ (define-public endless-sky license:cc-by-sa4.0 license:public-domain)))) +(define speed-dreams-version "2.3.0") +(define speed-dreams-svn-revision "8786") +(define (speed-dreams-source-tarball name sha256sum) + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/speed-dreams/" + speed-dreams-version "/" + "speed-dreams-src-" name "-" speed-dreams-version "-r" + speed-dreams-svn-revision ".tar.xz")) + (sha256 (base32 sha256sum)))) + +;;; We use the release tarballs instead of the SVN repository for their +;;; reduced weight (the tarballs do not provide the sources of the 3D models +;;; used, which are heavy, for example). +(define speed-dreams-base-tarball ;about 240 MiB + (speed-dreams-source-tarball + "base" "190480qzkllykl07s6bxd5wdbjgavs7haw6mk0hgdm7bs6rqqk0d")) + +(define speed-dreams-hq-cars-and-tracks-tarball ;about 670 MiB + (speed-dreams-source-tarball + "hq-cars-and-tracks" "16zcgwax3n0gf79hw1dg42lzsyxbnxfw6hjxdi919q5hxgm9cgsr")) + +(define speed-dreams-more-hq-cars-and-tracks-tarball ;about 760 MiB + (speed-dreams-source-tarball + "more-hq-cars-and-tracks" + "1acwiacf77qk5azyg3bbxsydk3wsp5fvgwwnhxpk273mwszjkh56")) + +;;; Although these are marked as 'WIP', the game throws (non-fatal) errors +;;; when it fails finding some "drivers" included within this pack. +(define speed-dreams-wip-cars-and-tracks-tarball ;about 400 MiB + (speed-dreams-source-tarball + "wip-cars-and-tracks" + "0wqd9bpis9bg87rsqk0dyvljax4zrp9h57mz7z3zrn6fayl1nh1q")) + +;;; This is to allow selecting the legacy Simu V2 engine (configurable in the +;;; game options). +(define speed-dreams-unmaintained-tarball ;about 60 KiB + (speed-dreams-source-tarball + "unmaintained" "1cxcrjm2508najpz2b65i8gxgvgiq7fcp13xvicpiqp6xhq3hsyi")) + +(define-public speed-dreams + (package + (name "speed-dreams") + (version speed-dreams-version) + (source speed-dreams-base-tarball) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:build-type "Release" + #:configure-flags + #~(list + "-DOPTION_OFFICIAL_ONLY=ON" ;build with content + (string-append "-DSD_BINDIR=" #$output "/bin") ;instead of 'games' + (string-append "-DSD_DATADIR=" #$output "/share/speed-dreams-2") + ;; Libdir defaults to a 'lib64/games' prefix. + (string-append "-DSD_LIBDIR=" #$output "/lib/speed-dreams-2") + ;; Use system-provided Expat and FreeSOLID + ;; libraries instead of the bundled ones. + "-DOPTION_3RDPARTY_EXPAT=ON" + "-DOPTION_3RDPARTY_SOLID=ON" + ;; Drivers and other shared objects are linked to private/internal + ;; shared libraries; have their location on the RUNPATH to satisfy + ;; the validate-runpath phase. + (string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath=" + #$output "/lib/speed-dreams-2/lib") + ;; The following flag is to avoid bogus RUNPATH warnings from the + ;; validate-runpath phase; without it, -rpath links referring to the + ;; build directory would be baked in driver modules. + "-DCMAKE_BUILD_RPATH_USE_ORIGIN=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'extract-cars-and-tracks-data + (lambda _ + ;; XXX: The current working directory is inside the cmake/ + ;; sudbirectory following the unpack phase, for some reason. + (chdir "..") + (invoke "tar" "-xvf" #$speed-dreams-hq-cars-and-tracks-tarball) + (invoke "tar" "-xvf" #$speed-dreams-more-hq-cars-and-tracks-tarball) + (invoke "tar" "-xvf" #$speed-dreams-wip-cars-and-tracks-tarball) + (invoke "tar" "-xvf" #$speed-dreams-unmaintained-tarball))) + (add-after 'install 'install-desktop-entry + (lambda* (#:key outputs #:allow-other-keys) + (make-desktop-entry-file + (string-append #$output + "/share/applications/speed-dreams.desktop") + #:name "Speed Dreams 2" + #:comment "3D racing cars simulator" + #:exec (search-input-file outputs "bin/speed-dreams-2") + #:icon (search-input-file + outputs "share/speed-dreams-2/data/icons/icon.png") + #:categories '("Game" "Simulation"))))))) + (native-inputs + (list pkg-config)) + (inputs + (list curl + enet + expat + freeglut + freesolid + freetype + libjpeg-turbo + libogg + libpng + libvorbis + openal + openscenegraph + plib + sdl2 + sdl2-mixer + zlib)) + (home-page "https://sourceforge.net/projects/speed-dreams/") + (synopsis "Car racing simulator") + (description "Speed Dreams is a car racing simulator featuring +high-quality 3D graphics and an accurate physics engine, aiming for maximum +realism. Initially forked from TORCS, it features improvements to the +graphics and physics simulation, and supports modern input methods such as +gamepads by use of the SDL library. It features more than 20 tracks and more +than 80 cars to race with.") + (license (list license:gpl2+ ;game code + license:lal1.3)))) ;assets + (define-public stepmania (package (name "stepmania")