aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2019-12-08 18:16:40 +0100
committerHartmut Goebel <h.goebel@crazy-compilers.com>2019-12-26 16:44:53 +0100
commit49d40e60b8d52e3f88b6cc26827f8795b5d48658 (patch)
tree4bd50e16d486f5e285b46a9680e7bb6fc92795fa
parentd695c51dad90ee868fa2494c055d72f6b7b86f0e (diff)
downloadguix-49d40e60b8d52e3f88b6cc26827f8795b5d48658.tar
guix-49d40e60b8d52e3f88b6cc26827f8795b5d48658.tar.gz
gnu: Add kmplayer.
`guix lint` reports two CVEs, both are unrelated: - CVE-2018-5200: for vendor "pandora" and some 4.2.2.x version - CVE-2019-9133: windows only (I assume it it alsow relates to the "pandora" vendor, since the version the CVE refers to as "solving the issue" does not exist at KDE.) * gnu/packages/kde-multimedia.scm (kmplayer): New variable. * gnu/packages/patches/kmplayer-aarch64.patch, gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch: New files. * gnu/local.mk: Add them.
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/kde-multimedia.scm66
-rw-r--r--gnu/packages/patches/kmplayer-aarch64.patch57
-rw-r--r--gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch42
4 files changed, 167 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c351975cfe..61dfbb9d5b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1044,6 +1044,8 @@ dist_patch_DATA = \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
%D%/packages/patches/kpackage-allow-external-paths.patch \
+ %D%/packages/patches/kmplayer-aarch64.patch \
+ %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \
%D%/packages/patches/kpmcore-fix-tests.patch \
%D%/packages/patches/kpmcore-remove-broken-test.patch \
%D%/packages/patches/kobodeluxe-paths.patch \
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index f96ef795dd..df8c051483 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -299,6 +299,72 @@ This package is part of the KDE multimedia module.")
(license ;; GPL for programs, LGPL for libraries, FDL for documentation
(list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+(define-public kmplayer
+ (package
+ (name "kmplayer")
+ (version "0.12.0b")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/kmplayer/0.12"
+ "/kmplayer-" version ".tar.bz2"))
+ (sha256
+ (base32 "0wzdxym4fc83wvqyhcwid65yv59a2wvp1lq303cn124mpnlwx62y"))
+ (patches (search-patches
+ "kmplayer-aarch64.patch"
+ "kmplayer-upstream_Fix-build-with-Qt-5.9.patch"))))
+ (build-system qt-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ("kdoctools" ,kdoctools)))
+ (inputs
+ `(("kconfig" ,kconfig)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kdelibs4support" ,kdelibs4support)
+ ("ki18n" ,ki18n)
+ ("kinit" ,kinit)
+ ("kio" ,kio)
+ ("kparts" ,kparts)
+ ("kmediaplayer" ,kmediaplayer)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("libxcb" ,libxcb) ;; FIXME: why does cmake not find XEVIE and XPRINT?
+ ("oxygen-icons" ,oxygen-icons) ; default icon set
+ ("phonon" ,phonon)
+ ("qtbase" ,qtbase)
+ ("cairo" ,cairo)
+ ("qtsvg" ,qtsvg)
+ ("qtx11extras" ,qtx11extras)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-cursor" ,xcb-util-cursor)
+ ("xcb-util-errors" ,xcb-util-errors)
+ ("xcb-util-image" ,xcb-util-image)
+ ("xcb-util-keysyms" ,xcb-util-keysyms)
+ ("xcb-util-wm" ,xcb-util-wm)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append
+ "-DCMAKE_CXX_FLAGS=-I"
+ (assoc-ref %build-inputs "qtx11extras") "/include/qt5"))))
+ (home-page "https://kde.org/applications/multimedia/org.kde.kmplayer")
+ (synopsis "Media player using mplayer/phonon as backend")
+ (description "Kmplayer can play all the audio/video supported by
+mplayer/phonon from a local file or URL and be embedded in Konqueror and
+KHTML. It also plays DVDs.
+
+Some features:
+@itemize
+@item play DVD/VCD movies (from file or url and from a video device)
+@item embed inside konqueror (movie is played inside konqueror)
+@item embed inside khtml (movie playback inside a html page)
+@item Movie recording using mencoder (part of the mplayer package)
+@item No video during recording, but you can always open a new window and play it
+@item Broadcasting, http streaming, using ffserver/ffmpeg
+@item For TV sources, you need v4lctl (part of the xawtv package)
+@end itemize")
+ (license ;; GPL for programs, LGPL for libraries, FDL for documentation
+ (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
(define-public libkcddb
(package
(name "libkcddb")
diff --git a/gnu/packages/patches/kmplayer-aarch64.patch b/gnu/packages/patches/kmplayer-aarch64.patch
new file mode 100644
index 0000000000..76f713be96
--- /dev/null
+++ b/gnu/packages/patches/kmplayer-aarch64.patch
@@ -0,0 +1,57 @@
+Index: b/src/moz-sdk/prcpucfg.h
+===================================================================
+--- a/src/moz-sdk/prcpucfg.h
++++ b/src/moz-sdk/prcpucfg.h
+@@ -288,6 +288,52 @@
+ #define PR_BYTES_PER_WORD_LOG2 3
+ #define PR_BYTES_PER_DWORD_LOG2 3
+
++#elif defined(__aarch64__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD 8
++
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
+ #elif defined(__mc68000__)
+
+ #undef IS_LITTLE_ENDIAN
diff --git a/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch b/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch
new file mode 100644
index 0000000000..6a40dbe347
--- /dev/null
+++ b/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch
@@ -0,0 +1,42 @@
+From 3def65075c09af4961cd399e8e78ed78cca72e65 Mon Sep 17 00:00:00 2001
+From: Wolfgang Bauer <wbauer@tmo.at>
+Date: Wed, 11 Oct 2017 22:16:02 +0200
+Subject: [PATCH] Fix build with Qt 5.9
+
+Summary:
+moc 5.9 errors out when building:
+Error: Plugin Metadata file "" could not be opened: file to open is a directory
+
+Same issue and fix as https://phabricator.kde.org/D5392 for khtml.
+
+CCBUG: 377490
+
+Test Plan: builds fine now with Qt 5.9.0rc and also earlier versions.
+
+Reviewers: vriezen, pino
+
+Reviewed By: pino
+
+Subscribers: pino
+
+Differential Revision: https://phabricator.kde.org/D5985
+---
+ src/kmplayer_part.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/kmplayer_part.h b/src/kmplayer_part.h
+index f90f85d..0fddbaa 100644
+--- a/src/kmplayer_part.h
++++ b/src/kmplayer_part.h
+@@ -36,7 +36,7 @@ namespace KMPlayer {
+
+ class KMPlayerFactory : public KPluginFactory {
+ Q_OBJECT
+- Q_PLUGIN_METADATA(IID "org.kde.KPluginFactory" FILE "")
++ Q_PLUGIN_METADATA(IID "org.kde.KPluginFactory")
+ Q_INTERFACES(KPluginFactory)
+ public:
+ KMPlayerFactory();
+--
+2.14.2
+