gnu: Add python-pyshp.
[jackhill/guix/guix.git] / gnu / packages / gnustep.scm
index 195249c..012afeb 100644 (file)
@@ -1,6 +1,8 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -34,7 +36,8 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (ice-9 match))
 
 (define-public gnustep-make
   (package
@@ -64,18 +67,22 @@ to easily create cross-compiled binaries.")
 (define-public windowmaker
   (package
     (name "windowmaker")
-    (version "0.95.8")
+    (version "0.95.9")
+    (synopsis "NeXTSTEP-like window manager")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://windowmaker.org/pub/source/release/WindowMaker-"
-                    version ".tar.gz"))
+                    "https://github.com/window-maker/wmaker/releases/download/"
+                    "wmaker-" version "/WindowMaker-" version ".tar.gz"))
               (sha256
                (base32
-                "12p8kljqgx5hnic0zvs5mxwp7kg21sb6qjagb2qw8ydvf5amrgwx"))))
+                "055pqvlkhipyjn7m6bb3fs4zz9rd1ynzl0mmwbhp05ihc3zmh8zj"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 match))
+       #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'pre-configure
            (lambda* (#:key outputs #:allow-other-keys)
@@ -96,28 +103,49 @@ to easily create cross-compiled binaries.")
                ;; The path to wmsetbg in Guix requires 67 extra characters.
                (substitute* "src/defaults.c"
                  (("len = strlen\\(text\\) \\+ 40;")
-                  (string-append "len = strlen(text) + 107;"))))))
-         (add-after 'install 'wrap
-            (lambda* (#:key outputs #:allow-other-keys)
-              (let* ((out (assoc-ref outputs "out"))
-                     (bin (string-append out "/bin")))
-                ;; In turn, 'wmaker.inst' wants to invoke 'wmmenugen'
-                ;; etc., so make sure everything is in $PATH.
-                (wrap-program (string-append bin "/wmaker.inst")
-                              `("PATH" ":" prefix (,bin)))))))))
+                  (string-append "len = strlen(text) + 107;")))
+               #t)))
+         (add-after 'install 'install-xsession
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (xsessions (string-append out "/share/xsessions")))
+               (mkdir-p xsessions)
+               (call-with-output-file
+                   (string-append xsessions "/windowmaker.desktop")
+                 (lambda (port)
+                   (format port "~
+                    [Desktop Entry]~@
+                    Name=Window Maker~@
+                    Comment=~a~@
+                    Exec=~a/bin/wmaker~@
+                    Type=Application~%"
+                           (string-map (match-lambda
+                                         (#\newline #\space)
+                                         (chr chr))
+                                       ,synopsis) out))))
+             #t))
+         (add-after 'install-xsession 'wrap
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               ;; In turn, 'wmaker.inst' wants to invoke 'wmmenugen'
+               ;; etc., so make sure everything is in $PATH.
+               (wrap-program (string-append bin "/wmaker.inst")
+                 `("PATH" ":" prefix (,bin)))
+               #t))))))
     (inputs
      `(("libxmu" ,libxmu)
        ("libxft" ,libxft)
        ("libx11" ,libx11)
+       ("libxinerama" ,libxinerama)
        ("fontconfig" ,fontconfig)
-       ("libjpeg" ,libjpeg)
+       ("libjpeg" ,libjpeg-turbo)
        ("giflib" ,giflib)
        ("libpng" ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://windowmaker.org/")
-    (synopsis "NeXTSTEP-like window manager")
+    (home-page "https://windowmaker.org/")
     (description
      "Window Maker is an X11 window manager originally designed to provide
 integration support for the GNUstep Desktop Environment.  In every way
@@ -130,7 +158,7 @@ interface.  It is fast, feature rich, easy to configure, and easy to use.")
 (define-public wmbattery
   (package
     (name "wmbattery")
-    (version "2.50")
+    (version "2.54")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -138,22 +166,9 @@ interface.  It is fast, feature rich, easy to configure, and easy to use.")
                     version ".orig.tar.gz"))
               (sha256
                (base32
-                "0hi6bivv3xd2k68w08krndfl68wdx7nmc2wjzsmcd4q3qgwgyk44"))
-              (modules '((guix build utils)))
-              (snippet
-               ;; Fix memory leak:
-               ;; <https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00466.html>.
-               '(substitute* "upower.c"
-                  (("up = up_client_new\\(\\);")
-                   (string-append "if (!up)\n"
-                                  "                up = up_client_new();"))))))
+                "1r4n58mwkm69y1pjs7l64hg8r1lpndrzyrfl2rdgd4zi6v0jhyyw"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:tests? #f              ; no "check" target
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'autoconf
-           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+    (arguments '(#:tests? #f)) ; no "check" target
     (inputs
      `(("glib" ,glib)
        ("libx11" ,libx11)
@@ -161,10 +176,8 @@ interface.  It is fast, feature rich, easy to configure, and easy to use.")
        ("libxpm" ,libxpm)
        ("upower" ,upower)))
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("pkg-config" ,pkg-config)))
-    (home-page "http://windowmaker.org/dockapps/?name=wmbattery")
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://www.dockapps.net/wmbattery")
     (synopsis "Display laptop battery info")
     (description
      "Wmbattery displays the status of your laptop's battery in a small icon.
@@ -176,7 +189,7 @@ graph), and battery status (high - green, low - yellow, or critical - red).")
 (define-public wmnd
   (package
     (name "wmnd")
-    (version "0.4.17")
+    (version "0.4.18")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -184,7 +197,7 @@ graph), and battery status (high - green, low - yellow, or critical - red).")
                     name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1amkbiwgr31gwkcp7wrjsr7aj1kns8bpmjpv70n86wb8v9mpm828"))))
+                "01s37d8cfpncza1mlw13ar4rcwbrc1vgaj3ifhglmlcnzvvayg0n"))))
     (build-system gnu-build-system)
     (inputs
      `(("libx11" ,libx11)
@@ -202,7 +215,7 @@ other compatible window managers.")
 (define-public wmcpuload
   (package
     (name "wmcpuload")
-    (version "1.0.1")
+    (version "1.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -210,7 +223,7 @@ other compatible window managers.")
                     name "_" version ".orig.tar.gz"))
               (sha256
                (base32
-                "0irlns4cvxy2mnicx75bya166hdxq7h8bphds3ligijcl9fzgs6n"))))
+                "1334y0axnxydwv05d172f405iljrfakg4kcyg9kmn46v6ywv424g"))))
     (build-system gnu-build-system)
     (inputs
      `(("libx11" ,libx11)
@@ -218,7 +231,7 @@ other compatible window managers.")
        ("libxpm" ,libxpm)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://windowmaker.org/dockapps/?name=wmcpuload")
+    (home-page "https://www.dockapps.net/wmcpuload")
     (synopsis "Monitor CPU usage")
     (description
      "Wmcpuload displays the current CPU usage, expressed as a percentile and a
@@ -241,21 +254,16 @@ on.")
                (base32
                 "1lx276ba8r2yydhmwj1g586jdqg695ad89ng36fr3mb067gvb2rz"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'autoconf
-           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
-    ;; wmclock requires autoreconf to generate its configure script.
     (inputs
      `(("libx11" ,libx11)
        ("libxext" ,libxext)
        ("libxpm" ,libxpm)))
+    ;; wmclock requires autoreconf to generate its configure script.
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)))
-    (home-page "http://windowmaker.org/dockapps/?name=wmclock")
+    (home-page "https://www.dockapps.net/wmclock")
     (synopsis "Display the date and time")
     (description
      "wmclock is an applet for Window Maker which displays the date and time in