Hendursaga wrote 2 years ago
(address . guix-patches@gnu.org)
* gnu/packages/audio.scm (alure): New variable.
---
gnu/packages/audio.scm | 37 +++++++++++++++++++++++++
gnu/packages/patches/alure-dumb-2.patch | 30 ++++++++++++++++++++
2 files changed, 67 insertions(+)
create mode 100644 gnu/packages/patches/alure-dumb-2.patch
Toggle diff (88 lines)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 48a4f8d536..8f1647bc74 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3330,6 +3330,43 @@ (define-public freealut
(home-page "https://kcat.strangesoft.net/openal.html")
(license license:lgpl2.0)))
+(define-public alure
+ (package
+ (name "alure")
+ (version "1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://kcat.tomasu.net/"
+ name
+ "-releases/"
+ name
+ "-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0w8gsyqki21s1qb2s5ac1kj08i6nc937c0rr08xbw9w9wvd6lpj6"))
+ (patches (search-patches "alure-dumb-2.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:configure-flags '("-DMODPLUG=ON")))
+ (native-inputs (list pkg-config))
+ (inputs (list dumb
+ flac
+ mpg123
+ libmodplug
+ libsndfile
+ libvorbis
+ openal))
+ (home-page "https://kcat.tomasu.net/alure.html")
+ (synopsis "OpenAL utility library")
+ (description
+ "ALURE is a utility library to help manage common tasks with OpenAL applications.
+This includes device enumeration and initialization, file loading, and
+streaming.")
+ (license license:expat)))
+
(define-public patchage
(package
(name "patchage")
diff --git a/gnu/packages/patches/alure-dumb-2.patch b/gnu/packages/patches/alure-dumb-2.patch
new file mode 100644
index 0000000000..60d18f8570
--- /dev/null
+++ b/gnu/packages/patches/alure-dumb-2.patch
@@ -0,0 +1,30 @@
+Source: https://gitlab.archlinux.org/archlinux/packaging/packages/alure/-/blob/main/dumb-2.patch
+
+diff -Naur a/src/codec_dumb.cpp b/src/codec_dumb.cpp
+--- a/src/codec_dumb.cpp 2011-07-29 09:37:48.000000000 +0100
++++ b/src/codec_dumb.cpp 2020-05-10 15:59:48.502632496 +0100
+@@ -272,7 +272,11 @@
+
+ private:
+ // DUMBFILE iostream callbacks
++#if DUMB_VERSION >= 2*10000
++ static int skip(void *user_data, dumb_off_t offset)
++#else
+ static int skip(void *user_data, long offset)
++#endif
+ {
+ std::istream *stream = static_cast<dumbStream*>(user_data)->fstream;
+ stream->clear();
+@@ -282,7 +286,11 @@
+ return -1;
+ }
+
++#if DUMB_VERSION >= 2*10000
++ static dumb_ssize_t read(char *ptr, size_t size, void *user_data)
++#else
+ static long read(char *ptr, long size, void *user_data)
++#endif
+ {
+ std::istream *stream = static_cast<dumbStream*>(user_data)->fstream;
+ stream->clear();
+
base-commit: 451ba2e5bb523c18a2ccc941df47b598c48ef57e
--
2.40.1