From: Federico Beffa <beffa@ieee.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH 3/4] gnu: libcanberra: Add propagated-input.
Date: Sun, 11 Jan 2015 14:04:32 +0100 [thread overview]
Message-ID: <CAKrPhPOVbNntonUcp+sgXq8h2mwX-9Mgt0oN7V=orgXH=pqxfQ@mail.gmail.com> (raw)
In-Reply-To: <87zj9pbn1u.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 520 bytes --]
On Sun, Jan 11, 2015 at 11:59 AM, Ludovic Courtès <ludo@gnu.org> wrote:
> I’m a bit concerned about readability. What about doing it this way:
>
> 1. Make an actual patch for libcanberra, with @SOUND_THEME_DIRECTORY@
> as a placeholder for the sound-theme-freedesktop directory.
>
> 2. Add this patch to libcanberra’s ‘patches’ field.
>
> 3. Add a phase that replaces @SOUND_THEME_DIRECTORY@ with the actual
> directory.
>
> ?
Good idea! Here the updated patch.
Thanks,
Fede
[-- Attachment #2: 0003-gnu-libcanberra-Add-default-sounds-support.patch --]
[-- Type: text/x-patch, Size: 4029 bytes --]
From e73c0f3c9eaf2e0824f6fa0eda482e0c8b8544bb Mon Sep 17 00:00:00 2001
From: Federico Beffa <beffa@fbengineering.ch>
Date: Thu, 18 Dec 2014 21:32:34 +0100
Subject: [PATCH 3/4] gnu: libcanberra: Add default sounds support.
* gnu/packages/libcanberra.scm (libcanberra): Add input
'sound-theme-freedesktop'. Add "libcanberra-sound-theme-freedesktop.patch"
and related phase 'patch-default-sounds-directory to patch the default
sounds directory.
---
gnu/packages/libcanberra.scm | 31 ++++++++++++++++++++--
.../libcanberra-sound-theme-freedesktop.patch | 19 +++++++++++++
2 files changed, 48 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch
diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm
index 764c327..3d43c4f 100644
--- a/gnu/packages/libcanberra.scm
+++ b/gnu/packages/libcanberra.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages libcanberra)
#:use-module ((guix licenses) #:select (lgpl2.1+))
+ #:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -46,7 +47,21 @@
version ".tar.xz"))
(sha256
(base32
- "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2"))))
+ "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2"))
+ ;; "sound-theme-freedesktop" is the default and fall-back sound theme for
+ ;; XDG desktops and should always be present.
+ ;; http://www.freedesktop.org/wiki/Specifications/sound-theme-spec/
+ ;; We make sure libcanberra will find it.
+ ;;
+ ;; We add the default sounds store directory to the code dealing with
+ ;; XDG_DATA_DIRS and not XDG_DATA_HOME. This is because XDG_DATA_HOME
+ ;; can only be a single directory and is inspected first. XDG_DATA_DIRS
+ ;; can list an arbitrary number of directories and is only inspected
+ ;; later. This is designed to allows the user to modify any theme at
+ ;; his pleasure.
+ (patch-flags '("-p0"))
+ (patches
+ (list (search-patch "libcanberra-sound-theme-freedesktop.patch")))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
@@ -55,9 +70,21 @@
("libtool" ,libtool)
("libvorbis" ,libvorbis)
("pulseaudio" ,pulseaudio)
- ("udev" ,eudev)))
+ ("udev" ,eudev)
+ ("sound-theme-freedesktop" ,sound-theme-freedesktop)))
(native-inputs
`(("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:phases
+ (alist-cons-before
+ 'build 'patch-default-sounds-directory
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/sound-theme-spec.c"
+ (("@SOUND_THEME_DIRECTORY@")
+ (string-append
+ (assoc-ref inputs "sound-theme-freedesktop")
+ "/share"))))
+ %standard-phases)))
(home-page "http://0pointer.de/lennart/projects/libcanberra/")
(synopsis
"Implementation of the XDG Sound Theme and Name Specifications")
diff --git a/gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch b/gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch
new file mode 100644
index 0000000..212530e
--- /dev/null
+++ b/gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch
@@ -0,0 +1,19 @@
+--- src/sound-theme-spec.c.orig 2015-01-11 13:13:29.520527358 +0100
++++ src/sound-theme-spec.c 2015-01-11 13:18:40.927247628 +0100
+@@ -321,9 +321,13 @@
+ const char *g;
+
+ if (!(g = getenv("XDG_DATA_DIRS")) || *g == 0)
+- return "/usr/local/share:/usr/share";
+-
+- return g;
++ return "@SOUND_THEME_DIRECTORY@";
++ else {
++ const char *stp = ":@SOUND_THEME_DIRECTORY@";
++ size_t len = strlen(stp) + strlen(g) + 1;
++ char *g2 = (char*) malloc(len);
++ return strcat(strcpy(g2, g), stp);
++ }
+ }
+
+ static int load_theme_dir(ca_theme_data *t, const char *name) {
--
1.8.4
next prev parent reply other threads:[~2015-01-11 13:04 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-18 21:14 [PATCH 3/4] gnu: libcanberra: Add propagated-input Federico Beffa
2014-12-21 11:06 ` Ludovic Courtès
2014-12-21 15:33 ` Federico Beffa
2015-01-07 17:20 ` Federico Beffa
2015-01-07 20:11 ` Ludovic Courtès
2015-01-08 17:08 ` Federico Beffa
2015-01-08 20:39 ` Ludovic Courtès
2015-01-10 11:15 ` Federico Beffa
2015-01-10 21:13 ` Ludovic Courtès
2015-01-11 8:34 ` Federico Beffa
2015-01-11 10:59 ` Ludovic Courtès
2015-01-11 13:04 ` Federico Beffa [this message]
2015-01-11 13:34 ` Federico Beffa
2015-01-12 9:22 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKrPhPOVbNntonUcp+sgXq8h2mwX-9Mgt0oN7V=orgXH=pqxfQ@mail.gmail.com' \
--to=beffa@ieee.org \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.