unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#73430] [PATCH] gnu: Add guile-taglib.
@ 2024-09-22 20:45 Alec Barreto
  0 siblings, 0 replies; only message in thread
From: Alec Barreto @ 2024-09-22 20:45 UTC (permalink / raw)
  To: 73430; +Cc: Alec Barreto

* gnu/packages/guile-xyz.scm (guile-taglib): New variable.

Change-Id: I68cb1945104b64f621c9e6a1689b63f66c59144e
---

This project has neither git tags nor releases, so I just filled in values of "0" for version and revision.
Do let me know if there's something else that would be better.

Separately, is there a reason why the =guile= package doesn't have "GUILE_EXTENSIONS_PATH" set in its =native-search-paths= field so that it can find foreign libs?
The "libtag_c.so" path has to be patched here (and similar patches exist in other guile packages).
Shouldn't the "lib" dir of the profile just be added to that guile path, rendering all these patches unnecessary?

Best,
Alec

 gnu/packages/guile-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 27a30e6622..b19fd443ea 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -104,6 +104,7 @@ (define-module (gnu packages guile-xyz)
   #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mes)
+  #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
@@ -1052,6 +1053,40 @@ (define-public guile-swayer
 events in Guile.")
     (license license:expat)))
 
+(define-public guile-taglib
+  (let ((commit "c056ac9eb375459c53284aa20f35b0778cfa3cea")
+        (version "0")
+        (revision "0"))
+    (package
+      (name "guile-taglib")
+      (version (git-version version revision commit))
+      (home-page "https://github.com/sbarbit/guile-taglib")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/sbarbit/guile-taglib")
+               (commit commit)))
+         (sha256
+          (base32 "07z65hqxjm6rd9cdk2b9dcxj8hgz7c9dg4iprr19jrvj4ymzrbff"))))
+      (build-system guile-build-system)
+      (native-inputs (list guile-3.0))
+      (propagated-inputs (list taglib))
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-taglib-path
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "taglib.scm"
+                  (("libtag_c.so")
+                   (search-input-file inputs "/lib/libtag_c.so"))))))))
+      (synopsis "Guile bindings for the taglib library")
+      (description
+       "This package provides Guile bindings for the taglib C library.
+It can be used to access and modify metadata for audio files.")
+      (license license:gpl2+))))
+
 (define-public guile-syntax-highlight
   (package
     (name "guile-syntax-highlight")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-09-22 20:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-22 20:45 [bug#73430] [PATCH] gnu: Add guile-taglib Alec Barreto

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).