summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendursaga <hendursaga@aol.com>2023-09-08 12:29:08 -0400
committerLudovic Courtès <ludo@gnu.org>2023-09-18 23:35:30 +0200
commit1fa438fd1caa7429b3a576b6beb6abaf85080df2 (patch)
tree916f3380bb8269dab4f15fab7390a1bb7879625f
parent429a543d2222b12ffd014e1a8dc072c7ece8ad9e (diff)
gnu: Add alure.
* gnu/packages/audio.scm (alure): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/audio.scm32
-rw-r--r--gnu/packages/patches/alure-dumb-2.patch30
3 files changed, 63 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index de3cb0332c..e05f687467 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -902,6 +902,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
+ %D%/packages/patches/alure-dumb-2.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/anki-mpv-args.patch \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 3ab496bcdf..5136d5c9cf 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3330,6 +3330,38 @@ buffers, and audio capture.")
(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/alure-releases/"
+ "alure-" 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();
+