;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.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.
;;;
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages libffcall)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages glib)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages image)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xml)
+ #:use-module (ice-9 match))
+
+(define-public gnustep-make
+ (package
+ (name "gnustep-make")
+ (version "2.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.gnustep.org/pub/gnustep/core/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1khiygfkz0zhh9b5nybn40g0xnnjxchk24n49hff1bwanszir84h"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f)) ; no check target
+ (native-inputs
+ `(("which" ,which)))
+ (home-page "http://gnustep.org")
+ (synopsis "GNUstep make package")
+ (description "The makefile package is a simple, powerful and extensible way
+to write makefiles for a GNUstep-based project. It allows the user to write a
+project without having to deal with the complex issues associated with
+configuration, building, installation, and packaging. It also allows the user
+to easily create cross-compiled binaries.")
+ (license gpl3+)))
(define-public windowmaker
(package
(name "windowmaker")
- (version "0.95.7")
+ (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
- "1acph0nq6fsb452sl7j7a7kcc87zqqaw7qms1p8ijar19dn4hbc4"))))
+ "055pqvlkhipyjn7m6bb3fs4zz9rd1ynzl0mmwbhp05ihc3zmh8zj"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-cons-before
- 'configure 'pre-configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; 'wmaker' wants to invoke 'wmaker.inst' the first time,
- ;; and the 'wmsetbg', so make sure it uses the right ones.
- ;; We can't use a wrapper here because that would pollute
- ;; $PATH in the whole session.
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (substitute* "src/main.c"
- (("\"wmaker\\.inst")
- (string-append "\"" bin "/wmaker.inst")))
- (substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
- (("\"wmsetbg")
- (string-append "\"" bin "/wmsetbg")))
- ;; Add enough cells to the command character array to
- ;; allow passing our large path to the wmsetbg binary.
- ;; The path to wmsetbg in Guix requires 67 extra characters.
- (substitute* "src/defaults.c"
- (("len = strlen\\(text\\) \\+ 40;")
- (string-append "len = strlen(text) + 107;")))))
- (alist-cons-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)))))
- %standard-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)
+ ;; 'wmaker' wants to invoke 'wmaker.inst' the first time,
+ ;; and the 'wmsetbg', so make sure it uses the right ones.
+ ;; We can't use a wrapper here because that would pollute
+ ;; $PATH in the whole session.
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (substitute* "src/main.c"
+ (("\"wmaker\\.inst")
+ (string-append "\"" bin "/wmaker.inst")))
+ (substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
+ (("\"wmsetbg")
+ (string-append "\"" bin "/wmsetbg")))
+ ;; Add enough cells to the command character array to
+ ;; allow passing our large path to the wmsetbg binary.
+ ;; The path to wmsetbg in Guix requires 67 extra characters.
+ (substitute* "src/defaults.c"
+ (("len = strlen\\(text\\) \\+ 40;")
+ (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
(define-public wmbattery
(package
(name "wmbattery")
- (version "2.50")
+ (version "2.54")
(source (origin
(method url-fetch)
(uri (string-append
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)
("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.
(define-public wmnd
(package
(name "wmnd")
- (version "0.4.17")
+ (version "0.4.18")
(source (origin
(method url-fetch)
(uri (string-append
name "-" version ".tar.gz"))
(sha256
(base32
- "1amkbiwgr31gwkcp7wrjsr7aj1kns8bpmjpv70n86wb8v9mpm828"))))
+ "01s37d8cfpncza1mlw13ar4rcwbrc1vgaj3ifhglmlcnzvvayg0n"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
(define-public wmcpuload
(package
(name "wmcpuload")
- (version "1.0.1")
+ (version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append
name "_" version ".orig.tar.gz"))
(sha256
(base32
- "0irlns4cvxy2mnicx75bya166hdxq7h8bphds3ligijcl9fzgs6n"))))
+ "1334y0axnxydwv05d172f405iljrfakg4kcyg9kmn46v6ywv424g"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
("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
(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
name "/" name "-" version ".tar.gz"))
(sha256
(base32
- "101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))))
+ "101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))
+ (patches
+ (search-patches "wmfire-update-for-new-gdk-versions.patch"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+-2)