all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andreas Enge <andreas@enge.fr>
To: guix-devel@gnu.org
Subject: [PATCH] gnu: kde: Add kdelibs.
Date: Tue, 4 Nov 2014 22:37:54 +0100	[thread overview]
Message-ID: <20141104213754.GA15142@debian> (raw)

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 <http://www.gnu.org/licenses/>.
 
 (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

             reply	other threads:[~2014-11-04 21:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-04 21:37 Andreas Enge [this message]
2014-11-05 13:18 ` [PATCH] gnu: kde: Add kdelibs Ludovic Courtès
2014-11-05 13:49   ` 宋文武
2014-11-05 19:22   ` Andreas Enge
  -- strict thread matches above, loose matches on Subject: below --
2014-11-05 19:50 Federico Beffa
2014-11-05 20:15 ` Ludovic Courtès
2014-11-05 20:28   ` Eric Bavier
2014-11-05 21:00     ` Federico Beffa
2014-11-05 21:18       ` Andreas Enge
2014-11-05 23:20         ` Andreas Enge
2014-11-06 11:46           ` Ludovic Courtès
2014-11-06 22:37             ` Andreas Enge
2014-11-06 22:54               ` Andreas Enge
2014-11-06 23:12                 ` Andreas Enge
2014-11-06 23:09               ` Eric Bavier
2014-11-06 23:24                 ` Andreas Enge
2014-11-07  9:20               ` Ludovic Courtès
2014-11-07 14:51                 ` Andreas Enge
2014-11-07 14:59               ` 宋文武
     [not found] <641d5f5d.31e3.14aaea456bc.Coremail.iyzsong@163.com>
2015-01-03  7:20 ` 宋文武
2015-01-03 11:06   ` Andreas Enge
2015-01-04 21:29   ` 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=20141104213754.GA15142@debian \
    --to=andreas@enge.fr \
    --cc=guix-devel@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.