(address . guix-patches@gnu.org)
Hi,
the first patch installs qt extensions, so qmake projects can use
“CONFIG+=phonon4qt5”. The second patch adds the phonon gstreamer
backend, so phonon can actually play back media :0)
Thomas
From ee8c6f45a8bc67910a279e95bfdc0defe18f37db Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <post@thomasdanckaert.be>
Date: Thu, 2 Mar 2017 09:33:43 +0100
Subject: [PATCH 1/2] gnu: phonon: Install Qt extensions.
* gnu/packages/kde-frameworks.scm (phonon)[arguments]: Add
-DPHONON-INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT configure flag, and patch the
installation directory.
---
gnu/packages/kde-frameworks.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
Toggle diff (102 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 36c285156..6ff754b07 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -119,7 +120,18 @@ common build settings used in software produced by the KDE community.")
(arguments
`(#:configure-flags
'("-DCMAKE_CXX_FLAGS=-fPIC"
- "-DPHONON_BUILD_PHONON4QT5=ON")))
+ "-DPHONON_BUILD_PHONON4QT5=ON"
+ "-DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'patch-installdir
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((regex (string-append "(INSTALL DESTINATION \")"
+ (assoc-ref inputs "qtbase"))))
+ (substitute* "cmake_install.cmake"
+ ((regex all dest)
+ (string-append dest (assoc-ref outputs "out")))))
+ #t)))))
(home-page "https://phonon.kde.org")
(synopsis "KDE's multimedia library")
(description "KDE's multimedia library.")
--
2.11.1
From 052b821a937a67b83693e2db35149651552e371c Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <post@thomasdanckaert.be>
Date: Thu, 2 Mar 2017 11:20:53 +0100
Subject: [PATCH 2/2] gnu: Add phonon-backend-gstreamer.
* gnu/packages/kde-frameworks.scm (phonon-backend-gstreamer): New variable.
---
gnu/packages/kde-frameworks.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 6ff754b07..778f217e0 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -43,6 +43,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -137,6 +138,41 @@ common build settings used in software produced by the KDE community.")
(description "KDE's multimedia library.")
(license license:lgpl2.1+)))
+(define-public phonon-backend-gstreamer
+ (package
+ (name "phonon-backend-gstreamer")
+ (version "4.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kde/stable/phonon"
+ name "/" version "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("phonon" ,phonon)
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("libxml2" ,libxml2)))
+ (arguments
+ `(#:configure-flags
+ '( "-DPHONON_BUILD_PHONON4QT5=ON")))
+ (home-page "https://phonon.kde.org")
+ (synopsis "Phonon backend which uses GStreamer")
+ (description "Phonon makes use of backend libraries to provide sound.
+Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
+ ;; license: source files mention "either version 2.1 or 3"
+ (license license:lgpl2.1 license:lgpl3)))
+
(define-public gpgmepp
(package
(name "gpgmepp")
--
2.11.1