Subject: [PATCH v1 1/2] gnu: Add libgpod.

From: Sergey Trofimov <[email-masked]>
Date: Wed, 1 May 2024 10:55:52 +0200

* gnu/packages/music.scm (libgpod): New variable.
---
 gnu/packages/music.scm | 53 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 798aad11f7..1ce0570c28 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -183,6 +183,7 @@ (define-module (gnu packages music)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages ruby)
+  #:use-module (gnu packages scsi)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sphinx)
@@ -431,6 +432,58 @@ (define-public aria-maestosa
 score, keyboard, guitar, drum and controller views.")
     (license license:gpl3+)))
 
+(define-public libgpod
+  (package
+    (name "libgpod")
+    (version "0.8.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.code.sf.net/p/gtkpod/libgpod")
+             (commit "8dc5015ae036b219c4c9579a156886aa3a722aa5")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1yzngb7h1mibz4x56w9fh02vx8xi4wyq4fjc3ad0jayv3hxjjkqv"))))
+    (arguments
+     (list
+      #:configure-flags
+      #~(list
+         "--without-hal"
+         "--enable-udev"
+         (string-append "--with-udev-dir=" #$output "/lib/udev")
+         (string-append "--prefix=" #$output))
+
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-autotools-version-requirement
+            (lambda _
+              (setenv "ACLOCAL_FLAGS"
+                      (string-join
+                       (map (lambda (s) (string-append "-I " s))
+                            (string-split (getenv "ACLOCAL_PATH") #\:))
+                       " "))
+              (substitute* "configure.ac"
+                (("libplist >= 1\\.0") "libplist-2.0 >= 2.2")
+                (("-Werror") ""))
+              ;; patch for plist-2.0
+              (substitute* "tools/ipod-lockdown.c"
+                (("plist_dict_insert_item") "plist_dict_set_item"))
+              ;; it expects version-suffixed binary
+              (substitute* "gnome-autogen.sh"
+                (("automake-1\\.13") "automake")))))))
+
+    (build-system gnu-build-system)
+    (native-inputs
+     (list automake libtool autoconf intltool pkg-config `(,glib "bin") gtk-doc))
+    (propagated-inputs (list libimobiledevice gdk-pixbuf))
+    (inputs (list libxml2 sg3-utils sqlite taglib libplist))
+    (home-page "https://sourceforge.net/projects/gtkpod")
+    (synopsis "Library to access iPod contents")
+    (description "Library to access iPod contents.  Enables iPod support in
+@code{Clementine}.")
+    (license license:lgpl2.1+)))
+
 (define-public clementine
   (package
     (name "clementine")

base-commit: 7d7fca19429cf9d38125610f46333eb02fc2d3fd
prerequisite-patch-id: f9cc903b8048c8c6fde576fbf38ab110263020e3
prerequisite-patch-id: 1bcd992c56c1b094479b842032fc9731315cbf83
prerequisite-patch-id: 500c43ab90039ca164d6b0864adb110bd9bd9afe
prerequisite-patch-id: f7629448294f448f1914d9bc50a4136a05b77c03
-- 
2.41.0