From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: [PATCH] gnu: kde: Add kdelibs. Date: Tue, 4 Nov 2014 22:37:54 +0100 Message-ID: <20141104213754.GA15142@debian> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51726) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xllng-0007D5-V7 for guix-devel@gnu.org; Tue, 04 Nov 2014 16:38:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xllnb-0006Hd-L2 for guix-devel@gnu.org; Tue, 04 Nov 2014 16:38:04 -0500 Received: from mout.kundenserver.de ([212.227.126.131]:52363) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xllnb-0006Gw-3p for guix-devel@gnu.org; Tue, 04 Nov 2014 16:37:59 -0500 Content-Disposition: inline List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Hello, thanks to Ludovic's help with debugging Qt and dbus, I finally have a working recipe for kdelibs that allows me to compile the KDE "Hello, world" tutorial at https://techbase.kde.org/Development/Tutorials/First_program It looks like all KDE programs require at least kdelibs, qt, phonon and automoc4 to compile; but as these are not needed for running the program, it seems inappropriate to make them propagated inputs. The configure flags "-DCMAKE_SHARED_LINKER_FLAGS=-lQtNetwork -lQtXml" "-DCMAKE_EXE_LINKER_FLAGS=-lQtCore" look like bugs in kdelibs to me; but I wonder if reporting them makes sense. I sense the answer that we should simply keep Qt in a standard location... Quite a few of the tests fail, and already the first one (which is a simple compression and archiver test) hangs at 100% CPU before being killed after 1500s. I can try to run all the tests and see whether there is some useful output. Otherwise hunting down the test failures looks hopeless. Comments are welcome. Andreas * gnu/packages/kde.scm (kdelibs): New variable. --- gnu/packages/kde.scm | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 8c2673e..602f5fb 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -17,14 +17,22 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages kde) - #:use-module ((guix licenses) #:select (bsd-2 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+)) + #:use-module ((guix licenses) #:select (bsd-2 lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) + #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages docbook) #:use-module (gnu packages doxygen) + #:use-module (gnu packages flex) #:use-module (gnu packages geeqie) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages image) + #:use-module (gnu packages linux) + #:use-module (gnu packages openssl) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) @@ -225,3 +233,92 @@ calculation of sha1 for every file crawled (synopsis "oxygen icon theme for the KDE desktop") (description "KDE desktop environment") (license lgpl3+))) + +(define-public kdelibs + (package + (name "kdelibs") + (version "4.14.2") + (source (origin + (method url-fetch) + (uri (string-append "http://download.kde.org/stable/" version + "/src/" name "-" + version ".tar.xz")) + (sha256 + (base32 + "0nw9zl54wdzw26l9l1a520ykjqgrzc1dx9aa6y015k0ry1vmlx1r")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("attica" ,attica) + ("automoc4" ,automoc4) + ("bison" ,bison) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("flex" ,flex) + ("giflib" ,giflib) + ("libdbusmenu-qt" ,libdbusmenu-qt) + ("libice" ,libice) + ("libjpeg" ,libjpeg-8) + ("libpng" ,libpng) + ("libsm" ,libsm) + ("libx11" ,libx11) + ("libxau" ,libxau) + ("libxcomposite" ,libxcomposite) + ("libxcursor" ,libxcursor) + ("libxdamage" ,libxdamage) + ("libxdmcp" ,libxdmcp) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft) + ("libxi" ,libxi) + ("libxinerama" ,libxinerama) + ("libxkbfile" ,libxkbfile) + ("libxml2" ,libxml2) + ("libxpm" ,libxpm) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) + ("libxscrnsaver" ,libxscrnsaver) + ("libxslt" ,libxslt) + ("libxt" ,libxt) + ("libxtst" ,libxtst) + ("libxv" ,libxv) + ("libxxf86vm" ,libxxf86vm) + ("openssl" ,openssl) + ("pcre" ,pcre) + ("perl" ,perl) + ("phonon" ,phonon) + ("python" ,python-wrapper) + ("qt" ,qt-4) + ("shared-mime-info" ,shared-mime-info) + ("soprano" ,soprano) + ("strigi" ,strigi) + ("eudev" ,eudev) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ; currently failing + #:configure-flags + (list "-DCMAKE_SHARED_LINKER_FLAGS=-lQtNetwork -lQtXml" + "-DCMAKE_EXE_LINKER_FLAGS=-lQtCore" + (string-append "-DDOCBOOKXML_CURRENTDTD_DIR=" + (assoc-ref %build-inputs "docbook-xml") + "/xml/dtd/docbook/") + (let* ((docbook-xsl (assoc-ref %build-inputs "docbook-xsl")) + (docbook-xsl-version ,(package-version docbook-xsl))) + (string-append "-DDOCBOOKXSL_DIR=" + docbook-xsl + "/xml/xsl/docbook-xsl-" + docbook-xsl-version + "/"))) + #:phases + (alist-cons-before + 'configure 'patch-bin-sh + (lambda _ + (substitute* "cmake/modules/kde4_exec_via_sh.cmake" + (("/bin/sh") (which "sh")))) + %standard-phases))) + (home-page "http://www.kde.org/") + (synopsis "Main libraries for the KDE desktop") + (description "KDE desktop environment") + (license lgpl2.0))) ; the libraries; examples are under GPL -- 2.1.2