* [bug#72569] [PATCH 1/4] gnu: Add backward-cpp.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
@ 2024-08-11 5:16 ` Adam Faiz via Guix-patches via
2024-08-17 12:15 ` Liliana Marie Prikler
2024-08-11 5:17 ` [bug#72569] [PATCH 2/4] gnu: Add sort-h Adam Faiz via Guix-patches via
` (6 subsequent siblings)
7 siblings, 1 reply; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-11 5:16 UTC (permalink / raw)
To: 72569
From edcd1203111fe557c22e4b9053d0dcf6cc690794 Mon Sep 17 00:00:00 2001
Message-ID: <edcd1203111fe557c22e4b9053d0dcf6cc690794.1723353069.git.adam.faiz@disroot.org>
In-Reply-To: <cover.1723353069.git.adam.faiz@disroot.org>
References: <cover.1723353069.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 08:40:08 +0800
Subject: [PATCH 1/4] gnu: Add backward-cpp.
* gnu/packages/debug.scm (backward-cpp): New variable.
---
gnu/packages/debug.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 2cdf87e266..4e652ba94d 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -513,6 +513,32 @@ (define-public qemu-for-american-fuzzy-lop
;; Several tests fail on MIPS.
(supported-systems (delete "mips64el-linux" %supported-systems))))))
+(define-public backward-cpp
+ (package
+ (name "backward-cpp")
+ (version "1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bombela/backward-cpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1b2h03iwfhcsg8i4f125mlrjf8l1y7qsr2gsbkv0z03i067lykns"))))
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-DBACKWARD_SHARED=ON")))
+ (build-system cmake-build-system)
+ (inputs
+ (list libiberty zlib))
+ (synopsis "Stack trace pretty printer for C++")
+ (description
+ "Backward-cpp is a stack trace pretty printer for C++.")
+ (home-page "https://github.com/bombela/backward-cpp")
+ (license license:expat)))
+
(define-public aflplusplus
(package
(inherit american-fuzzy-lop)
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH 1/4] gnu: Add backward-cpp.
2024-08-11 5:16 ` [bug#72569] [PATCH 1/4] gnu: Add backward-cpp Adam Faiz via Guix-patches via
@ 2024-08-17 12:15 ` Liliana Marie Prikler
0 siblings, 0 replies; 12+ messages in thread
From: Liliana Marie Prikler @ 2024-08-17 12:15 UTC (permalink / raw)
To: Adam Faiz, 72569
Am Sonntag, dem 11.08.2024 um 13:16 +0800 schrieb Adam Faiz:
> --- a/gnu/packages/debug.scm
> +++ b/gnu/packages/debug.scm
> @@ -513,6 +513,32 @@ (define-public qemu-for-american-fuzzy-lop
> ;; Several tests fail on MIPS.
> (supported-systems (delete "mips64el-linux" %supported-
> systems))))))
>
> +(define-public backward-cpp
> + (package
> + (name "backward-cpp")
> + (version "1.6")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/bombela/backward-cpp")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> +
> "1b2h03iwfhcsg8i4f125mlrjf8l1y7qsr2gsbkv0z03i067lykns"))))
> + (arguments
> + (list
> + #:configure-flags
> + #~(list "-DBACKWARD_SHARED=ON")))
> + (build-system cmake-build-system)
> + (inputs
> + (list libiberty zlib))
> + (synopsis "Stack trace pretty printer for C++")
> + (description
> + "Backward-cpp is a stack trace pretty printer for C++.")
We might want to give this a better description, e.g. saying that it
prints out annotated stacktraces or something.
> + (home-page "https://github.com/bombela/backward-cpp")
> + (license license:expat)))
> +
> (define-public aflplusplus
> (package
> (inherit american-fuzzy-lop)
Note: you should pick a wiser location, (e.g. below aflplusplus), so as
to not break this sequence of packages.
Cheers
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH 2/4] gnu: Add sort-h.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
2024-08-11 5:16 ` [bug#72569] [PATCH 1/4] gnu: Add backward-cpp Adam Faiz via Guix-patches via
@ 2024-08-11 5:17 ` Adam Faiz via Guix-patches via
2024-08-17 12:26 ` Liliana Marie Prikler
2024-08-11 5:18 ` [bug#72569] [PATCH 3/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
` (5 subsequent siblings)
7 siblings, 1 reply; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-11 5:17 UTC (permalink / raw)
To: 72569
From 0af97f6bab6c523903c075b2578245fc280e6613 Mon Sep 17 00:00:00 2001
Message-ID: <0af97f6bab6c523903c075b2578245fc280e6613.1723353069.git.adam.faiz@disroot.org>
In-Reply-To: <cover.1723353069.git.adam.faiz@disroot.org>
References: <cover.1723353069.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 08:41:05 +0800
Subject: [PATCH 2/4] gnu: Add sort-h.
* gnu/packages/c.scm (sort-h): New variable.
---
gnu/packages/c.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index a7ac359a94..0b0ff35459 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -695,6 +695,51 @@ (define-public sfsexp
expressions.")
(license license:lgpl2.1+)))
+(define-public sort-h
+ ;; The latest commit is used as there is no release.
+ (let ((commit "24f5b8b13810ad130109c7b56daf8e99ab0fe1b8")
+ (revision "0"))
+ (package
+ (name "sort-h")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/swenson/sort")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q3pgw51rjq7pb6gc7zx9i48pckyl930lcab4ngxrpa5a8flq850"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (substitute* "Makefile"
+ (("^demo:" all)
+ (string-append
+ "install:\n\t"
+ "install -d $(DESTDIR)$(PREFIX)/include\n\t"
+ "install sort.h $(DESTDIR)$(PREFIX)/include\n\t"
+ "install sort_extra.h $(DESTDIR)$(PREFIX)/include\n\n"
+ all)))))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags
+ #~(list
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build))))
+ (home-page "https://github.com/swenson/sort")
+ (synopsis "C implementation of many sorting algorithms")
+ (description "@code{sort.h} is an implementation of a ton of sorting
+algorithms in C with a user-defined type that is provided at include time.")
+ (license license:expat))))
+
(define-public sparse
(package
(name "sparse")
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH 2/4] gnu: Add sort-h.
2024-08-11 5:17 ` [bug#72569] [PATCH 2/4] gnu: Add sort-h Adam Faiz via Guix-patches via
@ 2024-08-17 12:26 ` Liliana Marie Prikler
0 siblings, 0 replies; 12+ messages in thread
From: Liliana Marie Prikler @ 2024-08-17 12:26 UTC (permalink / raw)
To: Adam Faiz, 72569
Am Sonntag, dem 11.08.2024 um 13:17 +0800 schrieb Adam Faiz:
> +(define-public sort-h
> + ;; The latest commit is used as there is no release.
> + (let ((commit "24f5b8b13810ad130109c7b56daf8e99ab0fe1b8")
> + (revision "0"))
> + (package
> + (name "sort-h")
I'd call this one c-template-sort, after the "subject" on Github.
> + (version (git-version "0.0.0" revision commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/swenson/sort")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> +
> "0q3pgw51rjq7pb6gc7zx9i48pckyl930lcab4ngxrpa5a8flq850"))
> + (modules '((guix build utils)))
> + (snippet
> + #~(begin
> + (substitute* "Makefile"
> + (("^demo:" all)
> + (string-append
> + "install:\n\t"
> + "install -d $(DESTDIR)$(PREFIX)/include\n\t"
> + "install sort.h
> $(DESTDIR)$(PREFIX)/include\n\t"
> + "install sort_extra.h
> $(DESTDIR)$(PREFIX)/include\n\n"
> + all)))))))
Note: this package might be a better fit for copy-build-system. You
can still have a check phase, but I think you'll benefit from the
install plan.
> + (build-system gnu-build-system)
> + (arguments
> + (list
> + #:make-flags
> + #~(list
> + (string-append "CC=" #$(cc-for-target))
> + (string-append "PREFIX=" #$output))
> + #:test-target "test"
> + #:phases
> + #~(modify-phases %standard-phases
> + (delete 'configure)
> + (delete 'build))))
> + (home-page "https://github.com/swenson/sort")
> + (synopsis "C implementation of many sorting algorithms")
> + (description "@code{sort.h} is an implementation of a ton of
> sorting
> +algorithms in C with a user-defined type that is provided at include
> time.")
I'd say something like "This package provides a header-only C library,
that implements several sorting algorithms. It is configured using
macros and supports user-defined types."
Cheers
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH 3/4] gnu: openclonk: Fix build.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
2024-08-11 5:16 ` [bug#72569] [PATCH 1/4] gnu: Add backward-cpp Adam Faiz via Guix-patches via
2024-08-11 5:17 ` [bug#72569] [PATCH 2/4] gnu: Add sort-h Adam Faiz via Guix-patches via
@ 2024-08-11 5:18 ` Adam Faiz via Guix-patches via
2024-08-11 5:20 ` [bug#72569] [PATCH 4/4] gnu: openclonk: Use gexps and new input style Adam Faiz via Guix-patches via
` (4 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-11 5:18 UTC (permalink / raw)
To: 72569
From 628f6a299da5035b5c3b3724e78aca9bdb702ba7 Mon Sep 17 00:00:00 2001
Message-ID: <628f6a299da5035b5c3b3724e78aca9bdb702ba7.1723353069.git.adam.faiz@disroot.org>
In-Reply-To: <cover.1723353069.git.adam.faiz@disroot.org>
References: <cover.1723353069.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 09:25:30 +0800
Subject: [PATCH 3/4] gnu: openclonk: Fix build.
* gnu/packages/games.scm (openclonk): Fix build.
[source]<snippet>: Unbundle dependencies and include the <limits> header where
necessary to fix the build.
[arguments]<#:phases>: Remove workarounds for bundled backward-cpp.
[inputs]: Remove dependencies for bundled backward-cpp. Add libb2, pcg-cpp,
and sort-h.
---
gnu/packages/games.scm | 60 ++++++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 28 deletions(-)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9ad6eabad2..504dfe74de 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -123,6 +123,7 @@ (define-module (gnu packages games)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -9622,7 +9623,32 @@ (define-public openclonk
"openclonk-" version "-src.tar.bz2"))
(sha256
(base32
- "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))))
+ "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "thirdparty")
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(thirdparty/.*\\)") "")
+ (("set_property\\(.*Third-party.*\\)") "")
+ (("blake2") "b2")
+ (("thirdparty/timsort/sort\\.h") "")
+ (("thirdparty/pcg/.*\\.hpp") ""))
+ (substitute* '("src/lib/C4Random.cpp"
+ "src/landscape/C4Particles.h")
+ (("#include <pcg/pcg_random.hpp>")
+ "#include <pcg_random.hpp>"))
+ (substitute* "src/script/C4ScriptLibraries.cpp"
+ (("blake2b.hash_output.get.., raw_output_length, data, data_length, nullptr, 0.")
+ "blake2b(hash_output.get(), (const void*)raw_output_length, data, data_length, (size_t)(0), 0)"))
+ (substitute* '("src/script/C4AulParse.cpp"
+ "src/editor/C4EditCursor.cpp"
+ "src/gui/C4ScriptGuiWindow.cpp")
+ (("#include .C4Include\\.h." all)
+ (string-append "#include <limits>\n" all)))
+ (substitute* "src/lib/StdMesh.cpp"
+ (("#include .timsort/sort\\.h.")
+ "#include <sort.h>"))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DAudio_TK=OpenAL")
@@ -9641,30 +9667,7 @@ (define-public openclonk
(("PATH_SUFFIXES \"src\" \"gtest\"")
"PATH_SUFFIXES \"src\""))
#t))
- (add-after 'unpack 'adjust-backward-cpp-includes
- (lambda _
- ;; XXX: The bundled backward-cpp exports a CMake "interface"
- ;; that includes external libraries such as libdl from glibc.
- ;; By default, CMake interface includes are treated as "system
- ;; headers", and GCC behaves poorly when glibc is passed as a
- ;; system header (causing #include_next failures).
-
- ;; Here we prevent targets that consume the Backward::Backward
- ;; interface from treating it as "system includes".
- (substitute* "CMakeLists.txt"
- (("target_link_libraries\\((.+) Backward::Backward\\)" all target)
- (string-append "set_property(TARGET " target " PROPERTY "
- "NO_SYSTEM_FROM_IMPORTED true)\n"
- all)))
- #t))
- (add-after 'unpack 'add-libiberty
- ;; Build fails upon linking executables without this.
- (lambda _
- (substitute* "thirdparty/backward-cpp/BackwardConfig.cmake"
- (("set\\(LIBBFD_LIBRARIES (.*?)\\)" _ libraries)
- (string-append "set(LIBBFD_LIBRARIES " libraries " iberty)")))
- #t))
- (add-after 'add-libiberty 'lax-freealut-requirement
+ (add-after 'prepare-gmock 'lax-freealut-requirement
;; TODO: We provide freealut 1.1.0, but pkg-config somehow detects
;; it as 1.0.1. Force minimal version.
(lambda _
@@ -9689,7 +9692,7 @@ (define-public openclonk
`(("freealut" ,freealut)
("freetype" ,freetype)
("glew" ,glew)
- ("libiberty" ,libiberty)
+ ("libb2" ,libb2)
("libjpeg" ,libjpeg-turbo)
("libogg" ,libogg)
("libpng" ,libpng)
@@ -9698,11 +9701,12 @@ (define-public openclonk
("mesa" ,mesa)
("miniupnpc" ,miniupnpc)
("openal" ,openal)
+ ("pcg-cpp" ,pcg-cpp)
("qtbase" ,qtbase-5)
("readline" ,readline)
("sdl" ,sdl2)
- ("tinyxml" ,tinyxml)
- ("zlib" ,zlib)))
+ ("sort-h" ,sort-h)
+ ("tinyxml" ,tinyxml)))
(home-page "https://www.openclonk.org/")
(synopsis
"Multiplayer action game where you control small and nimble humanoids")
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH 4/4] gnu: openclonk: Use gexps and new input style.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
` (2 preceding siblings ...)
2024-08-11 5:18 ` [bug#72569] [PATCH 3/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
@ 2024-08-11 5:20 ` Adam Faiz via Guix-patches via
2024-08-28 15:25 ` [bug#72569] [PATCH v2 1/4] gnu: Add backward-cpp Adam Faiz via Guix-patches via
` (3 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-11 5:20 UTC (permalink / raw)
To: 72569
From 6059afbbe3f6a841021193775c1bf1d317dafefe Mon Sep 17 00:00:00 2001
Message-ID: <6059afbbe3f6a841021193775c1bf1d317dafefe.1723353069.git.adam.faiz@disroot.org>
In-Reply-To: <cover.1723353069.git.adam.faiz@disroot.org>
References: <cover.1723353069.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 12:50:34 +0800
Subject: [PATCH 4/4] gnu: openclonk: Use gexps and new input style.
* gnu/packages/games.scm (openclonk)[arguments]: Use gexps.
[source]: Reindent.
[native-inputs]: Drop labels.
[inputs]: Drop labels.
---
gnu/packages/games.scm | 177 +++++++++++++++++++++--------------------
1 file changed, 90 insertions(+), 87 deletions(-)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 504dfe74de..d8e7dc88fa 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -9616,97 +9616,100 @@ (define-public openclonk
(package
(name "openclonk")
(version "8.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://www.openclonk.org/builds/release/" version "/"
- "openclonk-" version "-src.tar.bz2"))
- (sha256
- (base32
- "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- (delete-file-recursively "thirdparty")
- (substitute* "CMakeLists.txt"
- (("add_subdirectory\\(thirdparty/.*\\)") "")
- (("set_property\\(.*Third-party.*\\)") "")
- (("blake2") "b2")
- (("thirdparty/timsort/sort\\.h") "")
- (("thirdparty/pcg/.*\\.hpp") ""))
- (substitute* '("src/lib/C4Random.cpp"
- "src/landscape/C4Particles.h")
- (("#include <pcg/pcg_random.hpp>")
- "#include <pcg_random.hpp>"))
- (substitute* "src/script/C4ScriptLibraries.cpp"
- (("blake2b.hash_output.get.., raw_output_length, data, data_length, nullptr, 0.")
- "blake2b(hash_output.get(), (const void*)raw_output_length, data, data_length, (size_t)(0), 0)"))
- (substitute* '("src/script/C4AulParse.cpp"
- "src/editor/C4EditCursor.cpp"
- "src/gui/C4ScriptGuiWindow.cpp")
- (("#include .C4Include\\.h." all)
- (string-append "#include <limits>\n" all)))
- (substitute* "src/lib/StdMesh.cpp"
- (("#include .timsort/sort\\.h.")
- "#include <sort.h>"))))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.openclonk.org/builds/release/" version "/"
+ "openclonk-" version "-src.tar.bz2"))
+ (sha256
+ (base32
+ "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "thirdparty")
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(thirdparty/.*\\)") "")
+ (("set_property\\(.*Third-party.*\\)") "")
+ (("blake2") "b2")
+ (("thirdparty/timsort/sort\\.h") "")
+ (("thirdparty/pcg/.*\\.hpp") ""))
+ (substitute* '("src/lib/C4Random.cpp"
+ "src/landscape/C4Particles.h")
+ (("#include <pcg/pcg_random.hpp>")
+ "#include <pcg_random.hpp>"))
+ (substitute* "src/script/C4ScriptLibraries.cpp"
+ (("blake2b.hash_output.get.., raw_output_length, data, data_length, nullptr, 0.")
+ "blake2b(hash_output.get(), (const void*)raw_output_length, data, data_length, (size_t)(0), 0)"))
+ (substitute* '("src/script/C4AulParse.cpp"
+ "src/editor/C4EditCursor.cpp"
+ "src/gui/C4ScriptGuiWindow.cpp")
+ (("#include .C4Include\\.h." all)
+ (string-append "#include <limits>\n" all)))
+ (substitute* "src/lib/StdMesh.cpp"
+ (("#include .timsort/sort\\.h.")
+ "#include <sort.h>"))))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DAudio_TK=OpenAL")
- #:test-target "tests"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'prepare-gmock
- (lambda* (#:key inputs #:allow-other-keys)
- (mkdir "gmock")
- (copy-recursively (assoc-ref inputs "googlemock") "gmock")
- (substitute* "tests/CMakeLists.txt"
- (("/usr/src/gmock")
- (string-append (getcwd) "/gmock/googlemock"))
- (("/usr/src/gtest")
- (string-append (getcwd) "/gmock/googletest"))
- (("PATH_SUFFIXES \"src\" \"gtest\"")
- "PATH_SUFFIXES \"src\""))
- #t))
- (add-after 'prepare-gmock 'lax-freealut-requirement
- ;; TODO: We provide freealut 1.1.0, but pkg-config somehow detects
- ;; it as 1.0.1. Force minimal version.
- (lambda _
- (substitute* "cmake/FindAudio.cmake"
- (("freealut>=1.1.0") "freealut>=1.0.1"))
- #t))
- (add-after 'lax-freealut-requirement 'fix-directories
- ;; Prefer "$out/share/openclonk" over
- ;; "$out/share/games/openclonk". Also install "openclonk"
- ;; binary in "bin/", not "games/".
- (lambda _
- (substitute* "CMakeLists.txt"
- (("share/games/openclonk") "share/openclonk")
- (("TARGETS openclonk DESTINATION games")
- "TARGETS openclonk DESTINATION bin"))
- #t)))))
+ (list
+ #:configure-flags
+ #~(list "-DAudio_TK=OpenAL")
+ #:test-target "tests"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-gmock
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gmock (search-input-directory inputs "/googlemock"))
+ (gtest (search-input-directory inputs "/googletest")))
+ (mkdir "gmock")
+ (copy-recursively gmock "gmock/googlemock")
+ (copy-recursively gtest "gmock/googletest")
+ (substitute* "tests/CMakeLists.txt"
+ (("/usr/src/gmock")
+ (string-append (getcwd) "/gmock/googlemock"))
+ (("/usr/src/gtest")
+ (string-append (getcwd) "/gmock/googletest"))
+ (("PATH_SUFFIXES \"src\" \"gtest\"")
+ "PATH_SUFFIXES \"src\"")))))
+ (add-after 'prepare-gmock 'lax-freealut-requirement
+ ;; TODO: We provide freealut 1.1.0, but pkg-config somehow detects
+ ;; it as 1.0.1. Force minimal version.
+ (lambda _
+ (substitute* "cmake/FindAudio.cmake"
+ (("freealut>=1.1.0") "freealut>=1.0.1"))))
+ (add-after 'lax-freealut-requirement 'fix-directories
+ ;; Prefer "$out/share/openclonk" over
+ ;; "$out/share/games/openclonk". Also install "openclonk"
+ ;; binary in "bin/", not "games/".
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("share/games/openclonk") "share/openclonk")
+ (("TARGETS openclonk DESTINATION games")
+ "TARGETS openclonk DESTINATION bin")))))))
(native-inputs
- `(("googlemock" ,(package-source googletest))
- ("googletest" ,googletest)
- ("pkg-config" ,pkg-config)))
+ (list (package-source googletest)
+ googletest
+ pkg-config))
(inputs
- `(("freealut" ,freealut)
- ("freetype" ,freetype)
- ("glew" ,glew)
- ("libb2" ,libb2)
- ("libjpeg" ,libjpeg-turbo)
- ("libogg" ,libogg)
- ("libpng" ,libpng)
- ("libvorbis" ,libvorbis)
- ("libxrandr" ,libxrandr)
- ("mesa" ,mesa)
- ("miniupnpc" ,miniupnpc)
- ("openal" ,openal)
- ("pcg-cpp" ,pcg-cpp)
- ("qtbase" ,qtbase-5)
- ("readline" ,readline)
- ("sdl" ,sdl2)
- ("sort-h" ,sort-h)
- ("tinyxml" ,tinyxml)))
+ (list freealut
+ freetype
+ glew
+ libb2
+ libjpeg-turbo
+ libogg
+ libpng
+ libvorbis
+ libxrandr
+ mesa
+ miniupnpc
+ openal
+ pcg-cpp
+ qtbase-5
+ readline
+ sdl2
+ sort-h
+ tinyxml))
(home-page "https://www.openclonk.org/")
(synopsis
"Multiplayer action game where you control small and nimble humanoids")
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH v2 1/4] gnu: Add backward-cpp.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
` (3 preceding siblings ...)
2024-08-11 5:20 ` [bug#72569] [PATCH 4/4] gnu: openclonk: Use gexps and new input style Adam Faiz via Guix-patches via
@ 2024-08-28 15:25 ` Adam Faiz via Guix-patches via
2024-08-28 15:27 ` [bug#72569] [PATCH v2 2/4] gnu: Add c-template-sort Adam Faiz via Guix-patches via
` (2 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-28 15:25 UTC (permalink / raw)
To: 72569; +Cc: Liliana Marie Prikler
From 91bf9bff2c3c365d006a0e88024db50f416cd436 Mon Sep 17 00:00:00 2001
Message-ID: <91bf9bff2c3c365d006a0e88024db50f416cd436.1724856297.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 08:40:08 +0800
Subject: [PATCH v2 1/4] gnu: Add backward-cpp.
* gnu/packages/debug.scm (backward-cpp): New variable.
---
gnu/packages/debug.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 2cdf87e266..4795ae530e 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -566,6 +566,33 @@ (define-public aflplusplus
redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, etc.
@end itemize")))
+(define-public backward-cpp
+ (package
+ (name "backward-cpp")
+ (version "1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bombela/backward-cpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1b2h03iwfhcsg8i4f125mlrjf8l1y7qsr2gsbkv0z03i067lykns"))))
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-DBACKWARD_SHARED=ON")))
+ (build-system cmake-build-system)
+ (inputs
+ (list libiberty zlib))
+ (synopsis "Stack trace pretty printer for C++")
+ (description
+ "Backward-cpp is a stack trace pretty printer for C++.
+It can print annotated stack traces using debug info in the executable.")
+ (home-page "https://github.com/bombela/backward-cpp")
+ (license license:expat)))
+
(define-public stress-make
(let ((commit "97815bed8060de33952475b3498767c91f59ffd9")
(revision "2")) ;No official source distribution
base-commit: b20956651a53a8f23828fdeb6945e1a31e6997a8
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH v2 2/4] gnu: Add c-template-sort.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
` (4 preceding siblings ...)
2024-08-28 15:25 ` [bug#72569] [PATCH v2 1/4] gnu: Add backward-cpp Adam Faiz via Guix-patches via
@ 2024-08-28 15:27 ` Adam Faiz via Guix-patches via
2024-08-28 15:34 ` [bug#72569] [PATCH v2 3/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
2024-08-28 15:36 ` [bug#72569] [PATCH v2 4/4] gnu: openclonk: Use gexps and new input style Adam Faiz via Guix-patches via
7 siblings, 0 replies; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-28 15:27 UTC (permalink / raw)
To: 72569; +Cc: Liliana Marie Prikler
From 666ad0b1961163d67a07abe0e25d4b50fdd98f12 Mon Sep 17 00:00:00 2001
Message-ID: <666ad0b1961163d67a07abe0e25d4b50fdd98f12.1724856297.git.adam.faiz@disroot.org>
In-Reply-To: <91bf9bff2c3c365d006a0e88024db50f416cd436.1724856297.git.adam.faiz@disroot.org>
References: <91bf9bff2c3c365d006a0e88024db50f416cd436.1724856297.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 08:41:05 +0800
Subject: [PATCH v2 2/4] gnu: Add c-template-sort.
* gnu/packages/c.scm (c-template-sort): New variable.
---
gnu/packages/c.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index a7ac359a94..f74c763f75 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -695,6 +695,41 @@ (define-public sfsexp
expressions.")
(license license:lgpl2.1+)))
+(define-public c-template-sort
+ ;; The latest commit is used as there is no release.
+ (let ((commit "24f5b8b13810ad130109c7b56daf8e99ab0fe1b8")
+ (revision "0"))
+ (package
+ (name "c-template-sort")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/swenson/sort")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q3pgw51rjq7pb6gc7zx9i48pckyl930lcab4ngxrpa5a8flq850"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:install-plan
+ #~'(("sort.h" "include/sort.h")
+ ("sort_extra.h" "include/sort_extra.h"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" (string-append "CC=" #$(cc-for-target)))))))))
+ (home-page "https://github.com/swenson/sort")
+ (synopsis "C implementation of many sorting algorithms")
+ (description "This package provides a header-only C library,
+that implements several sorting algorithms. It is configured using
+macros and supports user-defined types.")
+ (license license:expat))))
+
(define-public sparse
(package
(name "sparse")
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH v2 3/4] gnu: openclonk: Fix build.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
` (5 preceding siblings ...)
2024-08-28 15:27 ` [bug#72569] [PATCH v2 2/4] gnu: Add c-template-sort Adam Faiz via Guix-patches via
@ 2024-08-28 15:34 ` Adam Faiz via Guix-patches via
2024-08-28 15:36 ` [bug#72569] [PATCH v2 4/4] gnu: openclonk: Use gexps and new input style Adam Faiz via Guix-patches via
7 siblings, 0 replies; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-28 15:34 UTC (permalink / raw)
To: 72569; +Cc: Liliana Marie Prikler
From 499630a22aebe8921f317733143e257b09f08be3 Mon Sep 17 00:00:00 2001
Message-ID: <499630a22aebe8921f317733143e257b09f08be3.1724859175.git.adam.faiz@disroot.org>
In-Reply-To: <91bf9bff2c3c365d006a0e88024db50f416cd436.1724859175.git.adam.faiz@disroot.org>
References: <91bf9bff2c3c365d006a0e88024db50f416cd436.1724859175.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 09:25:30 +0800
Subject: [PATCH v2 3/4] gnu: openclonk: Fix build.
* gnu/packages/games.scm (openclonk): Fix build.
[source]<snippet>: Unbundle dependencies and include the <limits> header where
necessary to fix the build.
[arguments]<#:phases>: Remove workarounds for bundled backward-cpp.
[inputs]: Remove dependencies for bundled backward-cpp. Add libb2, pcg-cpp,
and c-template-sort.
---
gnu/packages/games.scm | 62 ++++++++++++++++++++++--------------------
1 file changed, 33 insertions(+), 29 deletions(-)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9ad6eabad2..850d40e66f 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -123,6 +123,7 @@ (define-module (gnu packages games)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -9622,7 +9623,32 @@ (define-public openclonk
"openclonk-" version "-src.tar.bz2"))
(sha256
(base32
- "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))))
+ "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "thirdparty")
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(thirdparty/.*\\)") "")
+ (("set_property\\(.*Third-party.*\\)") "")
+ (("blake2") "b2")
+ (("thirdparty/timsort/sort\\.h") "")
+ (("thirdparty/pcg/.*\\.hpp") ""))
+ (substitute* '("src/lib/C4Random.cpp"
+ "src/landscape/C4Particles.h")
+ (("#include <pcg/pcg_random.hpp>")
+ "#include <pcg_random.hpp>"))
+ (substitute* "src/script/C4ScriptLibraries.cpp"
+ (("blake2b.hash_output.get.., raw_output_length, data, data_length, nullptr, 0.")
+ "blake2b(hash_output.get(), (const void*)raw_output_length, data, data_length, (size_t)(0), 0)"))
+ (substitute* '("src/script/C4AulParse.cpp"
+ "src/editor/C4EditCursor.cpp"
+ "src/gui/C4ScriptGuiWindow.cpp")
+ (("#include .C4Include\\.h." all)
+ (string-append "#include <limits>\n" all)))
+ (substitute* "src/lib/StdMesh.cpp"
+ (("#include .timsort/sort\\.h.")
+ "#include <sort.h>"))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DAudio_TK=OpenAL")
@@ -9641,30 +9667,7 @@ (define-public openclonk
(("PATH_SUFFIXES \"src\" \"gtest\"")
"PATH_SUFFIXES \"src\""))
#t))
- (add-after 'unpack 'adjust-backward-cpp-includes
- (lambda _
- ;; XXX: The bundled backward-cpp exports a CMake "interface"
- ;; that includes external libraries such as libdl from glibc.
- ;; By default, CMake interface includes are treated as "system
- ;; headers", and GCC behaves poorly when glibc is passed as a
- ;; system header (causing #include_next failures).
-
- ;; Here we prevent targets that consume the Backward::Backward
- ;; interface from treating it as "system includes".
- (substitute* "CMakeLists.txt"
- (("target_link_libraries\\((.+) Backward::Backward\\)" all target)
- (string-append "set_property(TARGET " target " PROPERTY "
- "NO_SYSTEM_FROM_IMPORTED true)\n"
- all)))
- #t))
- (add-after 'unpack 'add-libiberty
- ;; Build fails upon linking executables without this.
- (lambda _
- (substitute* "thirdparty/backward-cpp/BackwardConfig.cmake"
- (("set\\(LIBBFD_LIBRARIES (.*?)\\)" _ libraries)
- (string-append "set(LIBBFD_LIBRARIES " libraries " iberty)")))
- #t))
- (add-after 'add-libiberty 'lax-freealut-requirement
+ (add-after 'prepare-gmock 'lax-freealut-requirement
;; TODO: We provide freealut 1.1.0, but pkg-config somehow detects
;; it as 1.0.1. Force minimal version.
(lambda _
@@ -9686,10 +9689,11 @@ (define-public openclonk
("googletest" ,googletest)
("pkg-config" ,pkg-config)))
(inputs
- `(("freealut" ,freealut)
+ `(("c-template-sort" ,c-template-sort)
+ ("freealut" ,freealut)
("freetype" ,freetype)
("glew" ,glew)
- ("libiberty" ,libiberty)
+ ("libb2" ,libb2)
("libjpeg" ,libjpeg-turbo)
("libogg" ,libogg)
("libpng" ,libpng)
@@ -9698,11 +9702,11 @@ (define-public openclonk
("mesa" ,mesa)
("miniupnpc" ,miniupnpc)
("openal" ,openal)
+ ("pcg-cpp" ,pcg-cpp)
("qtbase" ,qtbase-5)
("readline" ,readline)
("sdl" ,sdl2)
- ("tinyxml" ,tinyxml)
- ("zlib" ,zlib)))
+ ("tinyxml" ,tinyxml)))
(home-page "https://www.openclonk.org/")
(synopsis
"Multiplayer action game where you control small and nimble humanoids")
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#72569] [PATCH v2 4/4] gnu: openclonk: Use gexps and new input style.
2024-08-11 5:13 [bug#72569] [PATCH 0/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
` (6 preceding siblings ...)
2024-08-28 15:34 ` [bug#72569] [PATCH v2 3/4] gnu: openclonk: Fix build Adam Faiz via Guix-patches via
@ 2024-08-28 15:36 ` Adam Faiz via Guix-patches via
2024-08-31 16:32 ` bug#72569: " Liliana Marie Prikler
7 siblings, 1 reply; 12+ messages in thread
From: Adam Faiz via Guix-patches via @ 2024-08-28 15:36 UTC (permalink / raw)
To: 72569; +Cc: Liliana Marie Prikler
From 1b08445834336938d9448a452a38c5c67742ed10 Mon Sep 17 00:00:00 2001
Message-ID: <1b08445834336938d9448a452a38c5c67742ed10.1724859175.git.adam.faiz@disroot.org>
In-Reply-To: <91bf9bff2c3c365d006a0e88024db50f416cd436.1724859175.git.adam.faiz@disroot.org>
References: <91bf9bff2c3c365d006a0e88024db50f416cd436.1724859175.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 11 Aug 2024 12:50:34 +0800
Subject: [PATCH v2 4/4] gnu: openclonk: Use gexps and new input style.
* gnu/packages/games.scm (openclonk)[arguments]: Use gexps.
[source]: Reindent.
[native-inputs]: Drop labels.
[inputs]: Drop labels.
---
gnu/packages/games.scm | 177 +++++++++++++++++++++--------------------
1 file changed, 90 insertions(+), 87 deletions(-)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 850d40e66f..f05be5bea2 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -9616,97 +9616,100 @@ (define-public openclonk
(package
(name "openclonk")
(version "8.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://www.openclonk.org/builds/release/" version "/"
- "openclonk-" version "-src.tar.bz2"))
- (sha256
- (base32
- "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- (delete-file-recursively "thirdparty")
- (substitute* "CMakeLists.txt"
- (("add_subdirectory\\(thirdparty/.*\\)") "")
- (("set_property\\(.*Third-party.*\\)") "")
- (("blake2") "b2")
- (("thirdparty/timsort/sort\\.h") "")
- (("thirdparty/pcg/.*\\.hpp") ""))
- (substitute* '("src/lib/C4Random.cpp"
- "src/landscape/C4Particles.h")
- (("#include <pcg/pcg_random.hpp>")
- "#include <pcg_random.hpp>"))
- (substitute* "src/script/C4ScriptLibraries.cpp"
- (("blake2b.hash_output.get.., raw_output_length, data, data_length, nullptr, 0.")
- "blake2b(hash_output.get(), (const void*)raw_output_length, data, data_length, (size_t)(0), 0)"))
- (substitute* '("src/script/C4AulParse.cpp"
- "src/editor/C4EditCursor.cpp"
- "src/gui/C4ScriptGuiWindow.cpp")
- (("#include .C4Include\\.h." all)
- (string-append "#include <limits>\n" all)))
- (substitute* "src/lib/StdMesh.cpp"
- (("#include .timsort/sort\\.h.")
- "#include <sort.h>"))))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.openclonk.org/builds/release/" version "/"
+ "openclonk-" version "-src.tar.bz2"))
+ (sha256
+ (base32
+ "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "thirdparty")
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(thirdparty/.*\\)") "")
+ (("set_property\\(.*Third-party.*\\)") "")
+ (("blake2") "b2")
+ (("thirdparty/timsort/sort\\.h") "")
+ (("thirdparty/pcg/.*\\.hpp") ""))
+ (substitute* '("src/lib/C4Random.cpp"
+ "src/landscape/C4Particles.h")
+ (("#include <pcg/pcg_random.hpp>")
+ "#include <pcg_random.hpp>"))
+ (substitute* "src/script/C4ScriptLibraries.cpp"
+ (("blake2b.hash_output.get.., raw_output_length, data, data_length, nullptr, 0.")
+ "blake2b(hash_output.get(), (const void*)raw_output_length, data, data_length, (size_t)(0), 0)"))
+ (substitute* '("src/script/C4AulParse.cpp"
+ "src/editor/C4EditCursor.cpp"
+ "src/gui/C4ScriptGuiWindow.cpp")
+ (("#include .C4Include\\.h." all)
+ (string-append "#include <limits>\n" all)))
+ (substitute* "src/lib/StdMesh.cpp"
+ (("#include .timsort/sort\\.h.")
+ "#include <sort.h>"))))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DAudio_TK=OpenAL")
- #:test-target "tests"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'prepare-gmock
- (lambda* (#:key inputs #:allow-other-keys)
- (mkdir "gmock")
- (copy-recursively (assoc-ref inputs "googlemock") "gmock")
- (substitute* "tests/CMakeLists.txt"
- (("/usr/src/gmock")
- (string-append (getcwd) "/gmock/googlemock"))
- (("/usr/src/gtest")
- (string-append (getcwd) "/gmock/googletest"))
- (("PATH_SUFFIXES \"src\" \"gtest\"")
- "PATH_SUFFIXES \"src\""))
- #t))
- (add-after 'prepare-gmock 'lax-freealut-requirement
- ;; TODO: We provide freealut 1.1.0, but pkg-config somehow detects
- ;; it as 1.0.1. Force minimal version.
- (lambda _
- (substitute* "cmake/FindAudio.cmake"
- (("freealut>=1.1.0") "freealut>=1.0.1"))
- #t))
- (add-after 'lax-freealut-requirement 'fix-directories
- ;; Prefer "$out/share/openclonk" over
- ;; "$out/share/games/openclonk". Also install "openclonk"
- ;; binary in "bin/", not "games/".
- (lambda _
- (substitute* "CMakeLists.txt"
- (("share/games/openclonk") "share/openclonk")
- (("TARGETS openclonk DESTINATION games")
- "TARGETS openclonk DESTINATION bin"))
- #t)))))
+ (list
+ #:configure-flags
+ #~(list "-DAudio_TK=OpenAL")
+ #:test-target "tests"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-gmock
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gmock (search-input-directory inputs "/googlemock"))
+ (gtest (search-input-directory inputs "/googletest")))
+ (mkdir "gmock")
+ (copy-recursively gmock "gmock/googlemock")
+ (copy-recursively gtest "gmock/googletest")
+ (substitute* "tests/CMakeLists.txt"
+ (("/usr/src/gmock")
+ (string-append (getcwd) "/gmock/googlemock"))
+ (("/usr/src/gtest")
+ (string-append (getcwd) "/gmock/googletest"))
+ (("PATH_SUFFIXES \"src\" \"gtest\"")
+ "PATH_SUFFIXES \"src\"")))))
+ (add-after 'prepare-gmock 'lax-freealut-requirement
+ ;; TODO: We provide freealut 1.1.0, but pkg-config somehow detects
+ ;; it as 1.0.1. Force minimal version.
+ (lambda _
+ (substitute* "cmake/FindAudio.cmake"
+ (("freealut>=1.1.0") "freealut>=1.0.1"))))
+ (add-after 'lax-freealut-requirement 'fix-directories
+ ;; Prefer "$out/share/openclonk" over
+ ;; "$out/share/games/openclonk". Also install "openclonk"
+ ;; binary in "bin/", not "games/".
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("share/games/openclonk") "share/openclonk")
+ (("TARGETS openclonk DESTINATION games")
+ "TARGETS openclonk DESTINATION bin")))))))
(native-inputs
- `(("googlemock" ,(package-source googletest))
- ("googletest" ,googletest)
- ("pkg-config" ,pkg-config)))
+ (list (package-source googletest)
+ googletest
+ pkg-config))
(inputs
- `(("c-template-sort" ,c-template-sort)
- ("freealut" ,freealut)
- ("freetype" ,freetype)
- ("glew" ,glew)
- ("libb2" ,libb2)
- ("libjpeg" ,libjpeg-turbo)
- ("libogg" ,libogg)
- ("libpng" ,libpng)
- ("libvorbis" ,libvorbis)
- ("libxrandr" ,libxrandr)
- ("mesa" ,mesa)
- ("miniupnpc" ,miniupnpc)
- ("openal" ,openal)
- ("pcg-cpp" ,pcg-cpp)
- ("qtbase" ,qtbase-5)
- ("readline" ,readline)
- ("sdl" ,sdl2)
- ("tinyxml" ,tinyxml)))
+ (list c-template-sort
+ freealut
+ freetype
+ glew
+ libb2
+ libjpeg-turbo
+ libogg
+ libpng
+ libvorbis
+ libxrandr
+ mesa
+ miniupnpc
+ openal
+ pcg-cpp
+ qtbase-5
+ readline
+ sdl2
+ tinyxml))
(home-page "https://www.openclonk.org/")
(synopsis
"Multiplayer action game where you control small and nimble humanoids")
--
2.41.0
^ permalink raw reply related [flat|nested] 12+ messages in thread