Mirror of GNU Guix
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1096 lines
43 KiB

build-system/gnu: Add 'bootstrap' phase. This factorizes what has become a widespread idiom. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): New procedure. (%standard-phases): Add it after 'unpack'. * guix/build/ant-build-system.scm (%standard-phases): Delete 'bootstrap. * guix/build/asdf-build-system.scm (%standard-phases/source) (%standard-phases): Likewise. * guix/build/cargo-build-system.scm (%standard-phases): Likewise. * guix/build/cmake-build-system.scm (%standard-phases): Likewise. * guix/build/dub-build-system.scm (%standard-phases): Likewise. * guix/build/emacs-build-system.scm (%standard-phases): Likewise. * guix/build/font-build-system.scm (%standard-phases): Likewise. * guix/build/go-build-system.scm (%standard-phases): Likewise. * guix/build/haskell-build-system.scm (%standard-phases): Likewise. * guix/build/minify-build-system.scm (%standard-phases): Likewise. * guix/build/ocaml-build-system.scm (%standard-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/r-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/scons-build-system.scm (%standard-phases): Likewise. * guix/build/texlive-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise. * gnu/packages/audio.scm (faad2)[arguments]: Replace 'bootstrap. (soundtouch, cuetools, bluez-alsa): Remove 'arguments'. (cava)[arguments]: Replace 'bootstrap. * gnu/packages/backup.scm (rdup): Remove 'bootstrap. * gnu/packages/bioinformatics.scm (seek)[arguments]: Replace 'bootstrap. * gnu/packages/bioinformatics.scm (htslib-for-sambamba): Remove 'arguments'. * gnu/packages/ci.scm (hydra, cuirass): Remove 'bootstrap'. * gnu/packages/crypto.scm (libb2): Remove #:phases. * gnu/packages/databases.scm (guile-wiredtiger): Likewise. * gnu/packages/debug.scm (stress-make): Remove 'bootstrap'. * gnu/packages/documentation.scm (asciidoc): Likewise. * gnu/packages/fontutils.scm (libuninameslist): Remove 'arguments'. * gnu/packages/ftp.scm (weex): Remove 'arguments'. * gnu/packages/game-development.scm (ois): Remove 'arguments'. * gnu/packages/games.scm (pioneer): Remove 'bootstrap. * gnu/packages/gnome.scm (vte-ng, byzanz): Replace 'bootstrap. (arc-theme): Remove 'arguments'. (faba-icon-theme): Remove 'bootstrap. (arc-icon-theme): Remove 'arguments'. * gnu/packages/gnunet.scm (guile-gnunet): Likewise. * gnu/packages/gtk.scm (guile-rsvg): Likewise. * gnu/packages/guile.scm (mcron2): Remove 'bootstrap. (guile-bash): Remove #:phases. (guile-git): Remove 'bootstrap. (guile-syntax-highlight): Remove 'arguments'. (guile-sjson): Likewise. * gnu/packages/java.scm (classpath-devel): Remove 'bootstrap. * gnu/packages/kodi.scm (libdvdnav/kodi) (libdvdread/kodi, libdvdcss/kodi): Likewise. * gnu/packages/libreoffice.scm (hunspell): Remove 'arguments'. * gnu/packages/libusb.scm (hidapi): Likewise. * gnu/packages/linux.scm (bridge-utils): Rename 'bootstrap' to 'patch-stuff'; move it before 'bootstrap', without autoreconf invocation. (eudev): Rename 'bootstrap' to 'patch-file-names', without 'autogen.sh' invocation; move it before 'bootstrap. (gpm): Replace 'bootstrap'. (f2fs-tools): Remove 'arguments'. (rng-tools): Remove #:phases. * gnu/packages/messaging.scm (hexchat): Rename 'bootstrap' to 'copy-intltool-makefile'; remove "autoreconf" invocation and move before 'bootstrap'. (libmesode): Remove 'arguments'. (libstrophe): Likewise. * gnu/packages/microcom.scm (microcom): Likewise. * gnu/packages/networking.scm (libnet): Remove 'bootstrap. * gnu/packages/onc-rpc.scm (libnsl): Remove 'arguments'. * gnu/packages/package-management.scm (guix): Replace 'bootstrap. * gnu/packages/sawfish.scm (librep): Remove 'arguments'. * gnu/packages/version-control.scm (findnewest): Likewise. * gnu/packages/video.scm (liba52, handbrake, motion): Replace 'bootstrap. * gnu/packages/web.scm (fcgiwrap): Remove #:phases. (tidy): Replace 'bootstrap. (gumbo-parser): Remove #:phases. * gnu/packages/wget.scm (wget2): Replace 'bootstrap. * gnu/packages/wm.scm (i3lock-color): Remove #:phases. * gnu/packages/xdisorg.scm (xclip): Likewise. * gnu/packages/xml.scm (libxls): Replace 'bootstrap'. * gnu/packages/xorg.scm (xf86-video-freedreno) (xf86-video-intel): Remove #:phases. * gnu/packages/zile.scm (zile-on-guile): Replace 'bootstrap.
4 years ago
Correct name and Email for ng0. * .mailmap: Correct name and Email for ng0. * Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Likewise. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
4 years ago
build-system/gnu: Add 'bootstrap' phase. This factorizes what has become a widespread idiom. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): New procedure. (%standard-phases): Add it after 'unpack'. * guix/build/ant-build-system.scm (%standard-phases): Delete 'bootstrap. * guix/build/asdf-build-system.scm (%standard-phases/source) (%standard-phases): Likewise. * guix/build/cargo-build-system.scm (%standard-phases): Likewise. * guix/build/cmake-build-system.scm (%standard-phases): Likewise. * guix/build/dub-build-system.scm (%standard-phases): Likewise. * guix/build/emacs-build-system.scm (%standard-phases): Likewise. * guix/build/font-build-system.scm (%standard-phases): Likewise. * guix/build/go-build-system.scm (%standard-phases): Likewise. * guix/build/haskell-build-system.scm (%standard-phases): Likewise. * guix/build/minify-build-system.scm (%standard-phases): Likewise. * guix/build/ocaml-build-system.scm (%standard-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/r-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/scons-build-system.scm (%standard-phases): Likewise. * guix/build/texlive-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise. * gnu/packages/audio.scm (faad2)[arguments]: Replace 'bootstrap. (soundtouch, cuetools, bluez-alsa): Remove 'arguments'. (cava)[arguments]: Replace 'bootstrap. * gnu/packages/backup.scm (rdup): Remove 'bootstrap. * gnu/packages/bioinformatics.scm (seek)[arguments]: Replace 'bootstrap. * gnu/packages/bioinformatics.scm (htslib-for-sambamba): Remove 'arguments'. * gnu/packages/ci.scm (hydra, cuirass): Remove 'bootstrap'. * gnu/packages/crypto.scm (libb2): Remove #:phases. * gnu/packages/databases.scm (guile-wiredtiger): Likewise. * gnu/packages/debug.scm (stress-make): Remove 'bootstrap'. * gnu/packages/documentation.scm (asciidoc): Likewise. * gnu/packages/fontutils.scm (libuninameslist): Remove 'arguments'. * gnu/packages/ftp.scm (weex): Remove 'arguments'. * gnu/packages/game-development.scm (ois): Remove 'arguments'. * gnu/packages/games.scm (pioneer): Remove 'bootstrap. * gnu/packages/gnome.scm (vte-ng, byzanz): Replace 'bootstrap. (arc-theme): Remove 'arguments'. (faba-icon-theme): Remove 'bootstrap. (arc-icon-theme): Remove 'arguments'. * gnu/packages/gnunet.scm (guile-gnunet): Likewise. * gnu/packages/gtk.scm (guile-rsvg): Likewise. * gnu/packages/guile.scm (mcron2): Remove 'bootstrap. (guile-bash): Remove #:phases. (guile-git): Remove 'bootstrap. (guile-syntax-highlight): Remove 'arguments'. (guile-sjson): Likewise. * gnu/packages/java.scm (classpath-devel): Remove 'bootstrap. * gnu/packages/kodi.scm (libdvdnav/kodi) (libdvdread/kodi, libdvdcss/kodi): Likewise. * gnu/packages/libreoffice.scm (hunspell): Remove 'arguments'. * gnu/packages/libusb.scm (hidapi): Likewise. * gnu/packages/linux.scm (bridge-utils): Rename 'bootstrap' to 'patch-stuff'; move it before 'bootstrap', without autoreconf invocation. (eudev): Rename 'bootstrap' to 'patch-file-names', without 'autogen.sh' invocation; move it before 'bootstrap. (gpm): Replace 'bootstrap'. (f2fs-tools): Remove 'arguments'. (rng-tools): Remove #:phases. * gnu/packages/messaging.scm (hexchat): Rename 'bootstrap' to 'copy-intltool-makefile'; remove "autoreconf" invocation and move before 'bootstrap'. (libmesode): Remove 'arguments'. (libstrophe): Likewise. * gnu/packages/microcom.scm (microcom): Likewise. * gnu/packages/networking.scm (libnet): Remove 'bootstrap. * gnu/packages/onc-rpc.scm (libnsl): Remove 'arguments'. * gnu/packages/package-management.scm (guix): Replace 'bootstrap. * gnu/packages/sawfish.scm (librep): Remove 'arguments'. * gnu/packages/version-control.scm (findnewest): Likewise. * gnu/packages/video.scm (liba52, handbrake, motion): Replace 'bootstrap. * gnu/packages/web.scm (fcgiwrap): Remove #:phases. (tidy): Replace 'bootstrap. (gumbo-parser): Remove #:phases. * gnu/packages/wget.scm (wget2): Replace 'bootstrap. * gnu/packages/wm.scm (i3lock-color): Remove #:phases. * gnu/packages/xdisorg.scm (xclip): Likewise. * gnu/packages/xml.scm (libxls): Replace 'bootstrap'. * gnu/packages/xorg.scm (xf86-video-freedreno) (xf86-video-intel): Remove #:phases. * gnu/packages/zile.scm (zile-on-guile): Replace 'bootstrap.
4 years ago
gnu: ghc-mtl: Remove built-in Haskell package. * gnu/packages/agda.scm (agda)[inputs]: Remove ghc-mtl. * gnu/packages/games.scm (raincat)[inputs]: Remove ghc-mtl. * gnu/packages/haskell-check.scm (ghc-tasty-ant-xml, ghc-tasty-golden, ghc-tasty, ghc-tasty-kat, ghc-tasty-rerun, ghc-crypto-cipher-tests)[inputs]: Remove ghc-mtl. * gnu/packages/haskell-crypto.scm (ghc-asn1-encoding, ghc-pem, ghc-x509, ghc-x509-store, ghc-x509-validation, ghc-x509-system)[inputs]: Remove ghc-mtl. * gnu/packages/haskell-web.scm (ghc-http, ghc-http-conduit, ghc-yesod-core)[inputs]: Remove ghc-mtl. * gnu/packages/haskell.scm (ghc-convertible, ghc-libxml, ghc-cgi, ghc-happy, ghc-haskell-src-exts, ghc-resourcet, cabal-install, ghc-indents, ghc-regex-base, ghc-regex-tdfa-rc, ghc-trifecta, ghc-zip-archive, ghc-logict, ghc-exceptions, ghc-smallcheck, ghc-syb, ghc-fgl, ghc-chasingbottoms, ghc-parsec, ghc-megaparsec, ghc-edisonapi, ghc-edisoncore, ghc-mmorph, ghc-ifelse, ghc-kan-extensions, ghc-lens, ghc-cheapskate, ghc-free, ghc-adjunctions, ghc-equivalence, ghc-texmath, ghc-texmath-for-pandoc-1, ghc-highlighting-kate, ghc-th-reify-many, ghc-th-orphans, ghc-geniplate-mirror, ghc-conduit, ghc-filemanip, ghc-juicypixels, ghc-hslua, ghc-hourglass, ghc-skylighting, ghc-skylighting-for-pandoc-1, ghc-pandoc, ghc-pandoc-1, ghc-pandoc-citeproc, ghc-regex-tdfa, ghc-stmonadtrans, ghc-constraints, ghc-lifted-async, ghc-shelly, ghc-hslogger, ghc-json, shellcheck, ghc-vector-algorithms, ghc-monad-par-extras, ghc-monad-par, ghc-monadrandom, ghc-either, ghc-rebase, ghc-aws, ghc-monad-logger, ghc-persistent, ghc-bytes, ghc-missingh, ghc-operational, ghc-chart)[inputs]: Remove ghc-mtl. (ghc-conduit-combinators)[native-inputs]: Remove ghc-mtl. (ghc-mtl): Remove variable. * gnu/packages/idris.scm (idris)[inputs]: Remove ghc-mtl. * gnu/packages/tls.scm (ghc-tls)[inputs]: Remove ghc-mtl. * gnu/packages/version-control.scm (darcs, git-annex)[inputs]: Remove ghc-mtl. * gnu/packages/wm.scm (xmonad, ghc-xmonad-contrib)[inputs]: Remove ghc-mtl. * gnu/packages/xml.scm (ghc-hxt)[inputs]: Remove ghc-mtl.
4 years ago
gnu: packages: Use 'search-patches' everywhere. * gnu/packages/abiword.scm: Use 'search-patches' for 'patches' field. * gnu/packages/acl.scm: Likewise. * gnu/packages/admin.scm: Likewise. * gnu/packages/algebra.scm: Likewise. * gnu/packages/animation.scm: Likewise. * gnu/packages/apr.scm: Likewise. * gnu/packages/audacity.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/autotools.scm: Likewise. * gnu/packages/avahi.scm: Likewise. * gnu/packages/backup.scm: Likewise. * gnu/packages/base.scm: Likewise. * gnu/packages/bash.scm: Likewise. * gnu/packages/bioinformatics.scm: Likewise. * gnu/packages/cdrom.scm: Likewise. * gnu/packages/ci.scm: Likewise. * gnu/packages/cmake.scm: Likewise. * gnu/packages/cpio.scm: Likewise. * gnu/packages/cross-base.scm: Likewise. * gnu/packages/dico.scm: Likewise. * gnu/packages/doxygen.scm: Likewise. * gnu/packages/ebook.scm: Likewise. * gnu/packages/elf.scm: Likewise. * gnu/packages/emacs.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/firmware.scm: Likewise. * gnu/packages/flashing-tools.scm: Likewise. * gnu/packages/fltk.scm: Likewise. * gnu/packages/ftp.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gawk.scm: Likewise. * gnu/packages/gcc.scm: Likewise. * gnu/packages/gd.scm: Likewise. * gnu/packages/ghostscript.scm: Likewise. * gnu/packages/glib.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/gnucash.scm: Likewise. * gnu/packages/gnunet.scm: Likewise. * gnu/packages/gnupg.scm: Likewise. * gnu/packages/gnuzilla.scm: Likewise. * gnu/packages/graphics.scm: Likewise. * gnu/packages/grub.scm: Likewise. * gnu/packages/gtk.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/icu4c.scm: Likewise. * gnu/packages/idutils.scm: Likewise. * gnu/packages/image.scm: Likewise. * gnu/packages/imagemagick.scm: Likewise. * gnu/packages/irc.scm: Likewise. * gnu/packages/ldc.scm: Likewise. * gnu/packages/libcanberra.scm: Likewise. * gnu/packages/libevent.scm: Likewise. * gnu/packages/libreoffice.scm: Likewise. * gnu/packages/libunwind.scm: Likewise. * gnu/packages/libusb.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/lirc.scm: Likewise. * gnu/packages/llvm.scm: Likewise. * gnu/packages/lsh.scm: Likewise. * gnu/packages/lua.scm: Likewise. * gnu/packages/lxqt.scm: Likewise. * gnu/packages/mail.scm: Likewise. * gnu/packages/maths.scm: Likewise. * gnu/packages/mcrypt.scm: Likewise. * gnu/packages/messaging.scm: Likewise. * gnu/packages/mit-krb5.scm: Likewise. * gnu/packages/mp3.scm: Likewise. * gnu/packages/multiprecision.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/ninja.scm: Likewise. * gnu/packages/nvi.scm: Likewise. * gnu/packages/ocaml.scm: Likewise. * gnu/packages/orpheus.scm: Likewise. * gnu/packages/ots.scm: Likewise. * gnu/packages/parallel.scm: Likewise. * gnu/packages/patchutils.scm: Likewise. * gnu/packages/pcre.scm: Likewise. * gnu/packages/pdf.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/plotutils.scm: Likewise. * gnu/packages/polkit.scm: Likewise. * gnu/packages/pulseaudio.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/qemu.scm: Likewise. * gnu/packages/qt.scm: Likewise. * gnu/packages/ratpoison.scm: Likewise. * gnu/packages/rdf.scm: Likewise. * gnu/packages/readline.scm: Likewise. * gnu/packages/rush.scm: Likewise. * gnu/packages/scheme.scm: Likewise. * gnu/packages/screen.scm: Likewise. * gnu/packages/sdl.scm: Likewise. * gnu/packages/slim.scm: Likewise. * gnu/packages/ssh.scm: Likewise. * gnu/packages/tcl.scm: Likewise. * gnu/packages/tcsh.scm: Likewise. * gnu/packages/texinfo.scm: Likewise. * gnu/packages/tls.scm: Likewise. * gnu/packages/tor.scm: Likewise. * gnu/packages/tv.scm: Likewise. * gnu/packages/valgrind.scm: Likewise. * gnu/packages/version-control.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/vpn.scm: Likewise. * gnu/packages/vtk.scm: Likewise. * gnu/packages/w3m.scm: Likewise. * gnu/packages/web.scm: Likewise. * gnu/packages/wicd.scm: Likewise. * gnu/packages/wm.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/packages/xfce.scm: Likewise. * gnu/packages/xiph.scm: Likewise. * gnu/packages/xml.scm: Likewise. * gnu/packages/xorg.scm: Likewise. * gnu/packages/zip.scm: Likewise.
6 years ago
gnu: Update URLs for sourceforge.net. * gnu/packages/admin.scm: Update URLs pointing to sourceforge.net. * gnu/packages/audacity.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/bioinformatics.scm: Likewise. * gnu/packages/boost.scm: Likewise. * gnu/packages/cdrom.scm: Likewise. * gnu/packages/code.scm: Likewise. * gnu/packages/compression.scm: Likewise. * gnu/packages/cups.scm: Likewise. * gnu/packages/djvu.scm: Likewise. * gnu/packages/docbook.scm: Likewise. * gnu/packages/documentation.scm: Likewise. * gnu/packages/flashing-tools.scm: Likewise. * gnu/packages/fonts.scm: Likewise. * gnu/packages/fontutils.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/ghostscript.scm: Likewise. * gnu/packages/gl.scm: Likewise. * gnu/packages/gnucash.scm: Likewise. * gnu/packages/graphviz.scm: Likewise. * gnu/packages/image.scm: Likewise. * gnu/packages/libreoffice.scm: Likewise. * gnu/packages/libusb.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/lirc.scm: Likewise. * gnu/packages/maths.scm: Likewise. * gnu/packages/mcrypt.scm: Likewise. * gnu/packages/mp3.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/networking.scm: Likewise. * gnu/packages/onc-rpc.scm: Likewise. * gnu/packages/password-utils.scm: Likewise. * gnu/packages/pdf.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/photo.scm: Likewise. * gnu/packages/popt.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/rdesktop.scm: Likewise. * gnu/packages/screen.scm: Likewise. * gnu/packages/swig.scm: Likewise. * gnu/packages/tcl.scm: Likewise. * gnu/packages/version-control.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/w3m.scm: Likewise. * gnu/packages/web.scm: Likewise. * gnu/packages/wm.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/packages/xml.scm: Likewise.
6 years ago
gnu: All snippets report errors using exceptions, else return #t. * gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm, gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/fpga.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm, gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm, gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm, gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm, gnu/packages/pretty-print.scm, gnu/packages/profiling.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm, gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm, gnu/packages/scribus.scm, gnu/packages/sdl.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm, gnu/packages/terminals.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/tls.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: In all snippets, report errors using exceptions, or else return #t.
4 years ago
gnu: Fix common unquote typos. It's easy to mistype ‘("foo" foo)’ as ‘("foo", foo)’ (which also works). Fix such typos for the proper edification of our young. * gnu/packages/android.scm: Move unquotes to their operands. * gnu/packages/bootloaders.scm: Likewise. * gnu/packages/build-tools.scm: Likewise. * gnu/packages/chemistry.scm: Likewise. * gnu/packages/compression.scm: Likewise. * gnu/packages/connman.scm: Likewise. * gnu/packages/django.scm: Likewise. * gnu/packages/emulators.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/file-systems.scm: Likewise. * gnu/packages/freedesktop.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gimp.scm: Likewise. * gnu/packages/gl.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/graphics.scm: Likewise. * gnu/packages/haskell.scm: Likewise. * gnu/packages/irc.scm: Likewise. * gnu/packages/julia.scm: Likewise. * gnu/packages/kde-frameworks.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/lua.scm: Likewise. * gnu/packages/mail.scm: Likewise. * gnu/packages/make-bootstrap.scm: Likewise. * gnu/packages/messaging.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/networking.scm: Likewise. * gnu/packages/ocaml.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/python-web.scm: Likewise. * gnu/packages/qt.scm: Likewise. * gnu/packages/ratpoison.scm: Likewise. * gnu/packages/sdl.scm: Likewise. * gnu/packages/sml.scm: Likewise. * gnu/packages/terminals.scm: Likewise. * gnu/packages/text-editors.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/virtualization.scm: Likewise. * gnu/packages/vulkan.scm: Likewise. * gnu/packages/wget.scm: Likewise. * gnu/packages/wine.scm: Likewise. * gnu/packages/wm.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/packages/xml.scm: Likewise. * gnu/packages/xorg.scm: Likewise.
4 years ago
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
  3. ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
  4. ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
  5. ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
  6. ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
  7. ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
  8. ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
  9. ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
  10. ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
  11. ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
  12. ;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
  13. ;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
  14. ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
  15. ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
  16. ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
  17. ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
  18. ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
  19. ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
  20. ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
  21. ;;;
  22. ;;; This file is part of GNU Guix.
  23. ;;;
  24. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  25. ;;; under the terms of the GNU General Public License as published by
  26. ;;; the Free Software Foundation; either version 3 of the License, or (at
  27. ;;; your option) any later version.
  28. ;;;
  29. ;;; GNU Guix is distributed in the hope that it will be useful, but
  30. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  31. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  32. ;;; GNU General Public License for more details.
  33. ;;;
  34. ;;; You should have received a copy of the GNU General Public License
  35. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  36. (define-module (gnu packages wm)
  37. #:use-module ((guix licenses) #:prefix license:)
  38. #:use-module (guix packages)
  39. #:use-module (gnu packages)
  40. #:use-module (gnu packages linux)
  41. #:use-module (guix build-system cmake)
  42. #:use-module (guix build-system gnu)
  43. #:use-module (guix build-system haskell)
  44. #:use-module (guix build-system perl)
  45. #:use-module (guix build-system python)
  46. #:use-module (gnu packages haskell)
  47. #:use-module (gnu packages haskell-check)
  48. #:use-module (gnu packages haskell-web)
  49. #:use-module (gnu packages autotools)
  50. #:use-module (gnu packages bison)
  51. #:use-module (gnu packages gawk)
  52. #:use-module (gnu packages base)
  53. #:use-module (gnu packages pkg-config)
  54. #:use-module (gnu packages perl)
  55. #:use-module (gnu packages pulseaudio)
  56. #:use-module (gnu packages xorg)
  57. #:use-module (gnu packages xdisorg)
  58. #:use-module (gnu packages documentation)
  59. #:use-module (gnu packages xml)
  60. #:use-module (gnu packages m4)
  61. #:use-module (gnu packages docbook)
  62. #:use-module (gnu packages image)
  63. #:use-module (gnu packages pcre)
  64. #:use-module (gnu packages python)
  65. #:use-module (gnu packages gtk)
  66. #:use-module (gnu packages libevent)
  67. #:use-module (gnu packages fribidi)
  68. #:use-module (gnu packages maths)
  69. #:use-module (gnu packages web)
  70. #:use-module (gnu packages fontutils)
  71. #:use-module (gnu packages freedesktop)
  72. #:use-module (gnu packages glib)
  73. #:use-module (gnu packages gperf)
  74. #:use-module (gnu packages imagemagick)
  75. #:use-module (gnu packages lua)
  76. #:use-module (gnu packages linux)
  77. #:use-module (gnu packages suckless)
  78. #:use-module (gnu packages mpd)
  79. #:use-module (guix download)
  80. #:use-module (guix git-download))
  81. (define-public libconfuse
  82. (package
  83. (name "libconfuse")
  84. (version "3.2.2")
  85. (source (origin
  86. (method url-fetch)
  87. (uri (string-append "https://github.com/martinh/libconfuse/"
  88. "releases/download/v" version
  89. "/confuse-" version ".tar.xz"))
  90. (sha256
  91. (base32
  92. "02r1mmzik2m0iigbc2da3y754vj24i18r3ml5p2wzs027mjhn959"))))
  93. (build-system gnu-build-system)
  94. (home-page "https://github.com/martinh/libconfuse")
  95. (synopsis "Configuration file parser library")
  96. (description "libconfuse is a configuration file parser library. It
  97. supports sections and (lists of) values (strings, integers, floats, booleans
  98. or other sections), as well as some other features (such as
  99. single/double-quoted strings, environment variable expansion, functions and
  100. nested include statements).")
  101. (license license:isc)))
  102. (define-public bspwm
  103. (package
  104. (name "bspwm")
  105. (version "0.9.5")
  106. (source
  107. (origin
  108. (file-name (string-append name "-" version ".tar.gz"))
  109. (method url-fetch)
  110. (uri (string-append
  111. "https://github.com/baskerville/bspwm/archive/"
  112. version ".tar.gz"))
  113. (sha256
  114. (base32
  115. "10pph8wxqysgk7b2h0svs0nwacn1a4y44jnzzry32pd1ysx92d97"))))
  116. (build-system gnu-build-system)
  117. (inputs
  118. `(("libxcb" ,libxcb)
  119. ("libxinerama" ,libxinerama)
  120. ("sxhkd" ,sxhkd)
  121. ("xcb-util" ,xcb-util)
  122. ("xcb-util-keysyms" ,xcb-util-keysyms)
  123. ("xcb-util-wm" ,xcb-util-wm)))
  124. (arguments
  125. '(#:phases
  126. (modify-phases %standard-phases
  127. (delete 'configure)) ; no configure script
  128. #:tests? #f ; no check target
  129. #:make-flags
  130. (list "CC=gcc"
  131. (string-append "PREFIX=" %output))))
  132. (home-page "https://github.com/baskerville/bspwm")
  133. (synopsis "Tiling window manager based on binary space partitioning")
  134. (description "bspwm is a tiling window manager that represents windows as
  135. the leaves of a full binary tree.")
  136. (license license:bsd-2)))
  137. (define-public i3status
  138. (package
  139. (name "i3status")
  140. (version "2.12")
  141. (source (origin
  142. (method url-fetch)
  143. (uri (string-append "https://i3wm.org/i3status/i3status-"
  144. version ".tar.bz2"))
  145. (sha256
  146. (base32
  147. "06krpbijv4yi33nypg6qcn4hilcrdyarsdpd9fmr2cq46qaqiikg"))))
  148. (build-system gnu-build-system)
  149. (arguments
  150. `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
  151. #:phases
  152. (modify-phases %standard-phases
  153. (delete 'configure))
  154. #:tests? #f)) ; no test suite
  155. (inputs
  156. `(("openlibm" ,openlibm)
  157. ("libconfuse" ,libconfuse)
  158. ("libyajl" ,libyajl)
  159. ("alsa-lib" ,alsa-lib)
  160. ("pulseaudio" ,pulseaudio)
  161. ("libnl" ,libnl)
  162. ("libcap" ,libcap)
  163. ("asciidoc" ,asciidoc)))
  164. (native-inputs
  165. `(("pkg-config" ,pkg-config)))
  166. (home-page "https://i3wm.org/i3status/")
  167. (synopsis "Status bar for i3bar, dzen2, xmobar or similar programs")
  168. (description "i3status is a small program for generating a status bar for
  169. i3bar, dzen2, xmobar or similar programs. It is designed to be very efficient
  170. by issuing a very small number of system calls, as one generally wants to
  171. update such a status line every second. This ensures that even under high
  172. load, your status bar is updated correctly. Also, it saves a bit of energy by
  173. not hogging your CPU as much as spawning the corresponding amount of shell
  174. commands would.")
  175. (license license:bsd-3)))
  176. (define-public i3-wm
  177. (package
  178. (name "i3-wm")
  179. (version "4.16.1")
  180. (source (origin
  181. (method url-fetch)
  182. (uri (string-append "https://i3wm.org/downloads/i3-"
  183. version ".tar.bz2"))
  184. (sha256
  185. (base32
  186. "0xl56y196vxv001gvx35xwfr25zah8m3xwizp9ycdgdc0rfc4rdb"))))
  187. (build-system gnu-build-system)
  188. (arguments
  189. `(#:make-flags
  190. (list "CC=gcc"
  191. (string-append "PREFIX=" %output)
  192. ;; This works around the following error:
  193. ;; 'error: ‘for’ loop initial declarations are only allowed in C99
  194. ;; or C11 mode'
  195. "CFLAGS=-std=c11")
  196. ;; The build system tries to build in a separate directory, but that
  197. ;; seems to be unnecessary.
  198. #:configure-flags '("--disable-builddir")
  199. ;; The test suite appears to require the unpackaged Perl module AnyEvent.
  200. #:tests? #f))
  201. (inputs
  202. `(("libxcb" ,libxcb)
  203. ("xcb-util" ,xcb-util)
  204. ("xcb-util-cursor" ,xcb-util-cursor)
  205. ("xcb-util-keysyms" ,xcb-util-keysyms)
  206. ("xcb-util-wm" ,xcb-util-wm)
  207. ("xcb-util-xrm" ,xcb-util-xrm)
  208. ("libxkbcommon" ,libxkbcommon)
  209. ("libev" ,libev)
  210. ("libyajl" ,libyajl)
  211. ("asciidoc" ,asciidoc)
  212. ("xmlto" ,xmlto)
  213. ("perl-pod-simple" ,perl-pod-simple)
  214. ("libx11" ,libx11)
  215. ("pcre" ,pcre)
  216. ("startup-notification" ,startup-notification)
  217. ("pango" ,pango)
  218. ("cairo" ,cairo)))
  219. (native-inputs
  220. `(("which" ,which)
  221. ("perl" ,perl)
  222. ("pkg-config" ,pkg-config)
  223. ;; For building the documentation.
  224. ("libxml2" ,libxml2)
  225. ("docbook-xsl" ,docbook-xsl)))
  226. (home-page "https://i3wm.org/")
  227. (synopsis "Improved tiling window manager")
  228. (description "A tiling window manager, completely written
  229. from scratch. i3 is primarily targeted at advanced users and
  230. developers.")
  231. (license license:bsd-3)))
  232. (define-public i3blocks
  233. (let ((commit "37f23805ff886639163fbef8aedba71c8071eff8")
  234. (revision "1"))
  235. (package
  236. (name "i3blocks")
  237. (version (string-append "1.4-" revision "."
  238. (string-take commit 7)))
  239. (source (origin
  240. (method git-fetch)
  241. (uri (git-reference
  242. (url "https://github.com/vivien/i3blocks.git")
  243. (commit commit)))
  244. (sha256
  245. (base32
  246. "15rnrcajzyrmhlz1a21qqsjlj3dkib70806dlb386fliylc2kisb"))
  247. (file-name (git-file-name name version))))
  248. (build-system gnu-build-system)
  249. (arguments
  250. `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
  251. #:phases (modify-phases %standard-phases
  252. (add-after 'unpack 'autogen
  253. (lambda _ (invoke "sh" "autogen.sh")))
  254. (add-after 'install 'install-doc
  255. (lambda* (#:key outputs #:allow-other-keys)
  256. (let* ((out (assoc-ref outputs "out"))
  257. (man1 (string-append out "/share/man/man1")))
  258. (install-file "docs/i3blocks.1" man1)
  259. #t))))))
  260. (native-inputs
  261. `(("autoconf" ,autoconf)
  262. ("automake" ,automake)
  263. ("pkg-config" ,pkg-config)))
  264. (home-page "https://github.com/vivien/i3blocks")
  265. (synopsis "Minimalist scheduler for status bar scripts")
  266. (description "i3blocks executes your command lines and generates a
  267. status line from their output. The generated line is meant to be displayed by
  268. the i3 window manager through its i3bar component, as an alternative to
  269. i3status.")
  270. (license license:gpl3+))))
  271. (define-public perl-anyevent-i3
  272. (package
  273. (name "perl-anyevent-i3")
  274. (version "0.17")
  275. (source (origin
  276. (method url-fetch)
  277. (uri (string-append "mirror://cpan/authors/id/M/MS/MSTPLBG/"
  278. "AnyEvent-I3-" version ".tar.gz"))
  279. (sha256
  280. (base32
  281. "0qvd9bq16jyy7v3ma82qcnvz9j503bw0mh7h55gkjf7ir62ck0jk"))))
  282. (build-system perl-build-system)
  283. (propagated-inputs
  284. `(("perl-anyevent" ,perl-anyevent)
  285. ("perl-json-xs" ,perl-json-xs)))
  286. (home-page "https://metacpan.org/release/AnyEvent-I3")
  287. (synopsis
  288. "Communicate with the i3 window manager through perl")
  289. (description
  290. "This module connects to the i3 window manager using the UNIX socket
  291. based IPC interface it provides (if enabled in the configuration file).
  292. You can then subscribe to events or send messages and receive their replies.")
  293. ;; Can be used with either license.
  294. (license (list license:gpl3+ license:perl-license))))
  295. (define-public python-i3-py
  296. (package
  297. (name "python-i3-py")
  298. (version "0.6.5")
  299. (source
  300. (origin
  301. ;; The latest release is not tagged in Git nor has an entry in PyPi,
  302. ;; but there is still a clear commit for it, and it's been the last one
  303. ;; for years.
  304. (method git-fetch)
  305. (uri (git-reference
  306. (url "https://github.com/ziberna/i3-py.git")
  307. (commit "27f88a616e9ecc340e7d041d3d00782f8a1964c1")))
  308. (sha256
  309. (base32
  310. "1nm719dc2xqlll7vj4c4m7mpjb27lpn3bg3c66gajvnrz2x1nmxs"))
  311. (file-name (string-append name "-" version "-checkout"))))
  312. (build-system python-build-system)
  313. (arguments
  314. `(#:tests? #f ; no tests yet
  315. #:phases (modify-phases %standard-phases
  316. (add-after 'install 'install-doc
  317. ;; Copy readme file to documentation directory.
  318. (lambda* (#:key outputs #:allow-other-keys)
  319. (let ((doc (string-append (assoc-ref outputs "out")
  320. "/share/doc/" ,name)))
  321. (install-file "README.md" doc)
  322. ;; Avoid unspecified return value.
  323. #t))))))
  324. (propagated-inputs
  325. `(("i3-wm" ,i3-wm)))
  326. (home-page "https://github.com/ziberna/i3-py")
  327. (synopsis "Python interface to the i3 window manager")
  328. (description "This package allows you to interact from a Python program
  329. with the i3 window manager via its IPC socket. It can send commands and other
  330. kinds of messages to i3, select the affected containers, filter results and
  331. subscribe to events.")
  332. (license license:gpl3+)))
  333. (define-public python2-i3-py
  334. (package-with-python2 python-i3-py))
  335. (define-public quickswitch-i3
  336. (let ((commit "ed692b1e8f43b95bd907ced26238ce8ccb2ed28f")
  337. (revision "1")) ; Guix package revision
  338. (package
  339. (name "quickswitch-i3")
  340. (version (string-append "2.2-" revision "."
  341. (string-take commit 7)))
  342. (source
  343. (origin
  344. ;; The latest commit is a few years old and just a couple commits
  345. ;; after the last tagged release, so we use that latest commit
  346. ;; instead of the release.
  347. (method git-fetch)
  348. (uri (git-reference
  349. (url "https://github.com/proxypoke/quickswitch-for-i3.git")
  350. (commit commit)))
  351. (sha256
  352. (base32
  353. "0447077sama80jcdg5p64zjsvafmz5rbdrirhm1adcdjhkh6iqc5"))
  354. (patches (search-patches "quickswitch-fix-dmenu-check.patch"))
  355. (file-name (string-append name "-" version "-checkout"))))
  356. (build-system python-build-system)
  357. (arguments
  358. `(#:tests? #f ; no tests yet
  359. #:phases (modify-phases %standard-phases
  360. (add-after 'install 'install-doc
  361. ;; Copy readme file to documentation directory.
  362. (lambda* (#:key outputs #:allow-other-keys)
  363. (let ((doc (string-append (assoc-ref outputs "out")
  364. "/share/doc/" ,name)))
  365. (install-file "README.rst" doc)
  366. ;; Avoid unspecified return value.
  367. #t))))))
  368. (inputs
  369. `(("python-i3-py" ,python-i3-py)
  370. ("dmenu" ,dmenu)))
  371. (home-page "https://github.com/proxypoke/quickswitch-for-i3")
  372. (synopsis "Quickly change to and locate windows in the i3 window manager")
  373. (description
  374. "This utility for the i3 window manager allows you to quickly switch to
  375. and locate windows on all your workspaces, using an interactive dmenu
  376. prompt.")
  377. (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))
  378. (define-public i3lock-color
  379. (package
  380. (name "i3lock-color")
  381. (version "2.11-c")
  382. (source
  383. (origin
  384. (method url-fetch)
  385. (uri (string-append "https://github.com/PandorasFox/i3lock-color/"
  386. "archive/" version ".tar.gz"))
  387. (file-name (string-append name "-" version ".tar.gz"))
  388. (sha256
  389. (base32
  390. "0zh7il2y6dmzym3w6r9xii5dma8pjjjlq4dm5iby7m3gvplj4q9p"))))
  391. (build-system gnu-build-system)
  392. (arguments
  393. `(#:tests? #f)) ;no tests included
  394. (inputs
  395. `(("cairo" ,cairo)
  396. ("libev" ,libev)
  397. ("libjpeg" ,libjpeg-turbo)
  398. ("libxcb" ,libxcb)
  399. ("libxkbcommon" ,libxkbcommon)
  400. ("linux-pam" ,linux-pam)
  401. ("xcb-util" ,xcb-util)
  402. ("xcb-util-image" ,xcb-util-image)))
  403. (native-inputs
  404. `(("autoconf" ,autoconf)
  405. ("automake" ,automake)
  406. ("pkg-config" ,pkg-config)))
  407. (home-page "https://github.com/PandorasFox/i3lock-color")
  408. (synopsis "Screen locker with color configuration support")
  409. (description
  410. "i3lock-color is a simpler X11 screen locker derived from i3lock.
  411. Features include:
  412. @enumerate
  413. @item forking process, the locked screen is preserved when you suspend to RAM;
  414. @item specify background color or image to be displayed in the lock screen;
  415. @item many additional color options.
  416. @end enumerate")
  417. (license license:bsd-3)))
  418. (define-public i3lock-fancy
  419. (package
  420. (name "i3lock-fancy")
  421. (version "0.2")
  422. (source
  423. (origin
  424. (method url-fetch)
  425. (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"
  426. version ".tar.gz"))
  427. (file-name (string-append name "-" version ".tar.gz"))
  428. (sha256
  429. (base32
  430. "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))
  431. (build-system gnu-build-system)
  432. (arguments
  433. `(#:tests? #f ;No tests included
  434. #:phases
  435. (modify-phases %standard-phases
  436. (replace 'configure
  437. (lambda* (#:key inputs outputs #:allow-other-keys)
  438. (let* ((out (assoc-ref outputs "out"))
  439. (icons (string-append out "/share/i3lock-fancy/icons/"))
  440. (wmctrl (string-append (assoc-ref inputs "wmctrl")
  441. "/bin/wmctrl"))
  442. (mconvert (string-append (assoc-ref inputs "imagemagick")
  443. "/bin/convert"))
  444. (mimport (string-append (assoc-ref inputs "imagemagick")
  445. "/bin/import"))
  446. (awk (string-append (assoc-ref inputs "gawk")
  447. "/bin/gawk")))
  448. (substitute* "lock"
  449. (("$(which wmctrl)") wmctrl)
  450. (("convert") mconvert)
  451. (("shot=\\(import") (string-append "shot=\(" mimport))
  452. (("awk -F") (string-append awk " -F"))
  453. ((" awk") awk)
  454. (("\\$scriptpath/icons/") icons))
  455. #t)))
  456. (delete 'build)
  457. (replace 'install
  458. (lambda* (#:key inputs outputs #:allow-other-keys)
  459. (let* ((out (assoc-ref outputs "out"))
  460. (bin (string-append out "/bin"))
  461. (icons (string-append out "/share/i3lock-fancy/icons/")))
  462. (install-file "lock" bin)
  463. (rename-file (string-append bin "/lock")
  464. (string-append bin "/i3lock-fancy"))
  465. (copy-recursively "icons" icons)
  466. #t))))))
  467. (native-inputs
  468. `(("imagemagick" ,imagemagick)
  469. ("wmctrl" ,wmctrl)
  470. ("gawk" ,gawk)))
  471. (home-page "https://github.com/meskarune/i3lock-fancy")
  472. (synopsis "Screen locker with screenshot function")
  473. (description
  474. "@code{i3lock-fancy} is a Bash script that takes a screenshot of
  475. the desktop, blurs the background and adds a lock icon and text.
  476. It requires @code{i3lock-color} or @code{i3lock} and can optionally
  477. be passed any screenshot util like @code{scrot}.
  478. This screen locker can be used with any window manager or
  479. desktop environment.")
  480. (license license:expat)))
  481. (define-public xmonad
  482. (package
  483. (name "xmonad")
  484. (version "0.14.2")
  485. (synopsis "Tiling window manager")
  486. (source (origin
  487. (method url-fetch)
  488. (uri (string-append "mirror://hackage/package/xmonad/"
  489. name "-" version ".tar.gz"))
  490. (sha256
  491. (base32
  492. "0gqyivpw8z1x73p1l1fpyq1wc013a1c07r6xn1a82liijs91b949"))))
  493. (build-system haskell-build-system)
  494. (inputs
  495. `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
  496. ("ghc-quickcheck" ,ghc-quickcheck)
  497. ("ghc-semigroups" ,ghc-semigroups)
  498. ("ghc-setlocale" ,ghc-setlocale)
  499. ("ghc-utf8-string" ,ghc-utf8-string)
  500. ("ghc-x11" ,ghc-x11)))
  501. (arguments
  502. `(#:phases
  503. (modify-phases %standard-phases
  504. (add-after
  505. 'install 'install-xsession
  506. (lambda _
  507. (let* ((xsessions (string-append %output "/share/xsessions")))
  508. (mkdir-p xsessions)
  509. (call-with-output-file
  510. (string-append xsessions "/xmonad.desktop")
  511. (lambda (port)
  512. (format port "~
  513. [Desktop Entry]~@
  514. Name=~a~@
  515. Comment=~a~@
  516. Exec=~a/bin/xmonad~@
  517. Type=Application~%" ,name ,synopsis %output)))))))))
  518. (home-page "https://xmonad.org")
  519. (description
  520. "Xmonad is a tiling window manager for X. Windows are arranged
  521. automatically to tile the screen without gaps or overlap, maximising screen
  522. use. All features of the window manager are accessible from the keyboard: a
  523. mouse is strictly optional. Xmonad is written and extensible in Haskell.
  524. Custom layout algorithms, and other extensions, may be written by the user in
  525. config files. Layouts are applied dynamically, and different layouts may be
  526. used on each workspace. Xinerama is fully supported, allowing windows to be
  527. tiled on several screens.")
  528. (license license:bsd-3)))
  529. (define-public xmobar
  530. (package
  531. (name "xmobar")
  532. (version "0.28")
  533. (source (origin
  534. (method url-fetch)
  535. (uri (string-append "mirror://hackage/package/xmobar/"
  536. name "-" version ".tar.gz"))
  537. (sha256
  538. (base32
  539. "1xh87asg8y35srvp7d3gyyy4bkxsw122liihxgzgm8pqv2z3h4zd"))))
  540. (build-system haskell-build-system)
  541. (native-inputs
  542. `(("ghc-hspec" ,ghc-hspec)
  543. ("hspec-discover" ,hspec-discover)))
  544. (inputs
  545. `(("ghc-hinotify" ,ghc-hinotify)
  546. ("ghc-http" ,ghc-http)
  547. ("ghc-iwlib" ,ghc-iwlib)
  548. ("ghc-parsec" ,ghc-parsec)
  549. ("ghc-parsec-numbers" ,ghc-parsec-numbers)
  550. ("ghc-regex-compat" ,ghc-regex-compat)
  551. ("ghc-stm" ,ghc-stm)
  552. ("ghc-x11-xft" ,ghc-x11-xft)
  553. ("libxpm" ,libxpm)))
  554. (arguments
  555. `(#:configure-flags
  556. (list (string-append "--flags="
  557. (string-join (list "with_inotify"
  558. "with_iwlib"
  559. "with_utf8"
  560. "with_weather"
  561. "with_xft"
  562. "with_xpm")
  563. " ")))))
  564. (home-page "http://xmobar.org")
  565. (synopsis "Minimalistic text based status bar")
  566. (description
  567. "@code{xmobar} is a lightweight, text-based, status bar written in
  568. Haskell. It was originally designed to be used together with Xmonad, but it
  569. is also usable with any other window manager. While xmobar is written in
  570. Haskell, no knowledge of the language is required to install and use it.")
  571. (license license:bsd-3)))
  572. (define-public ghc-xmonad-contrib
  573. (package
  574. (name "ghc-xmonad-contrib")
  575. (version "0.14")
  576. (source
  577. (origin
  578. (method url-fetch)
  579. (uri (string-append "mirror://hackage/package/xmonad-contrib/"
  580. "xmonad-contrib-" version ".tar.gz"))
  581. (sha256
  582. (base32
  583. "1660w3xhbfrlq8b8s1rviq2mcn1vyqpypli4023gqxwry52brk6y"))))
  584. (build-system haskell-build-system)
  585. (propagated-inputs
  586. `(("ghc-old-time" ,ghc-old-time)
  587. ("ghc-random" ,ghc-random)
  588. ("ghc-utf8-string" ,ghc-utf8-string)
  589. ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
  590. ("ghc-semigroups" ,ghc-semigroups)
  591. ("ghc-x11" ,ghc-x11)
  592. ("ghc-x11-xft" ,ghc-x11-xft)
  593. ("xmonad" ,xmonad)))
  594. (home-page "https://xmonad.org")
  595. (synopsis "Third party extensions for xmonad")
  596. (description
  597. "Third party tiling algorithms, configurations, and scripts to Xmonad, a
  598. tiling window manager for X.")
  599. (license license:bsd-3)))
  600. (define-public evilwm
  601. (package
  602. (name "evilwm")
  603. (version "1.1.1")
  604. (source
  605. (origin
  606. (method url-fetch)
  607. (uri (string-append "http://www.6809.org.uk/evilwm/evilwm-"
  608. version ".tar.gz"))
  609. (sha256
  610. (base32
  611. "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r"))
  612. (patches (search-patches "evilwm-lost-focus-bug.patch"))))
  613. (build-system gnu-build-system)
  614. (inputs
  615. `(("libx11" ,libx11)
  616. ("libxext" ,libxext)
  617. ("libxrandr" ,libxrandr)))
  618. (arguments
  619. `(#:modules ((srfi srfi-26)
  620. (guix build utils)
  621. (guix build gnu-build-system))
  622. #:make-flags (let ((inputs (map (cut assoc-ref %build-inputs <>)
  623. '("libx11" "libxext" "libxrandr")))
  624. (join (lambda (proc strs)
  625. (string-join (map proc strs) " ")))
  626. (dash-I (cut string-append "-I" <> "/include"))
  627. (dash-L (cut string-append "-L" <> "/lib")))
  628. `("desktopfilesdir=$(prefix)/share/xsessions"
  629. ,(string-append "prefix=" (assoc-ref %outputs "out"))
  630. ,(string-append "CPPFLAGS=" (join dash-I inputs))
  631. ,(string-append "LDFLAGS=" (join dash-L inputs))))
  632. #:tests? #f ;no tests
  633. #:phases (modify-phases %standard-phases
  634. (delete 'configure)))) ;no configure script
  635. (home-page "http://www.6809.org.uk/evilwm/")
  636. (synopsis "Minimalist window manager for the X Window System")
  637. (description
  638. "evilwm is a minimalist window manager based on aewm, extended to feature
  639. many keyboard controls with repositioning and maximize toggles, solid window
  640. drags, snap-to-border support, and virtual desktops.")
  641. (license (license:x11-style "file:///README"))))
  642. (define-public fluxbox
  643. (package
  644. (name "fluxbox")
  645. (version "1.3.7")
  646. (synopsis "Small and fast window manager")
  647. (source (origin
  648. (method url-fetch)
  649. (uri (string-append "mirror://sourceforge/fluxbox/fluxbox/"
  650. version "/fluxbox-" version ".tar.xz"))
  651. (sha256
  652. (base32
  653. "1h1f70y40qd225dqx937vzb4k2cz219agm1zvnjxakn5jkz7b37w"))))
  654. (build-system gnu-build-system)
  655. (arguments
  656. `(#:make-flags '("CPPFLAGS=-U__TIME__") ;ugly, but for reproducibility
  657. #:phases
  658. (modify-phases %standard-phases
  659. (add-after
  660. 'install 'install-xsession
  661. (lambda _
  662. (let ((xsessions (string-append %output "/share/xsessions")))
  663. (mkdir-p xsessions)
  664. (call-with-output-file
  665. (string-append xsessions "/fluxbox.desktop")
  666. (lambda (port)
  667. (format port "~
  668. [Desktop Entry]~@
  669. Name=~a~@
  670. Comment=~a~@
  671. Exec=~a/bin/startfluxbox~@
  672. Type=Application~%" ,name ,synopsis %output)))))))))
  673. (native-inputs
  674. `(("pkg-config" ,pkg-config)))
  675. (inputs
  676. `(("freetype" ,freetype)
  677. ("fribidi" ,fribidi)
  678. ("imlib2" ,imlib2)
  679. ("libx11" ,libx11)
  680. ("libxext" ,libxext)
  681. ("libxft" ,libxft)
  682. ("libxinerama" ,libxinerama)
  683. ("libxpm" ,libxpm)
  684. ("libxrandr" ,libxrandr)
  685. ("libxrender" ,libxrender)))
  686. (description "Fluxbox is a window manager. It is light on resources
  687. and easy to handle yet full of features to make an easy and fast desktop
  688. experience.")
  689. (home-page "http://fluxbox.org/")
  690. (license license:expat)))
  691. (define-public awesome
  692. (package
  693. (name "awesome")
  694. (version "4.2")
  695. (source
  696. (origin (method url-fetch)
  697. (uri (string-append
  698. "https://github.com/awesomeWM/awesome-releases/raw/"
  699. "master/awesome-" version ".tar.xz"))
  700. (sha256
  701. (base32
  702. "0kwpbls9h1alxcmvxh5g9qb995fds5b2ngcr44w0ibazkyls2pdc"))
  703. (modules '((guix build utils)
  704. (srfi srfi-19)))
  705. (snippet '(begin
  706. ;; Remove non-reproducible timestamp and use the date
  707. ;; of the source file instead.
  708. (substitute* "common/version.c"
  709. (("__DATE__ \" \" __TIME__")
  710. (date->string
  711. (time-utc->date
  712. (make-time time-utc 0
  713. (stat:mtime (stat "awesome.c"))))
  714. "\"~c\"")))
  715. #t))
  716. (patches (search-patches "awesome-reproducible-png.patch"))))
  717. (build-system cmake-build-system)
  718. (native-inputs `(("asciidoc" ,asciidoc)
  719. ("docbook-xsl" ,docbook-xsl)
  720. ("doxygen" ,doxygen)
  721. ("gperf" ,gperf)
  722. ("imagemagick" ,imagemagick)
  723. ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
  724. ("pkg-config" ,pkg-config)
  725. ("xmlto" ,xmlto)))
  726. (inputs `(("cairo" ,cairo)
  727. ("dbus" ,dbus)
  728. ("gdk-pixbuf" ,gdk-pixbuf)
  729. ("glib" ,glib)
  730. ("gobject-introspection" ,gobject-introspection)
  731. ("imlib2" ,imlib2)
  732. ("libev" ,libev)
  733. ("libxcb" ,libxcb)
  734. ("libxcursor" ,libxcursor)
  735. ("libxdg-basedir" ,libxdg-basedir)
  736. ("libxkbcommon" ,libxkbcommon)
  737. ("lua" ,lua)
  738. ("lua-lgi" ,lua-lgi)
  739. ("pango" ,pango)
  740. ("startup-notification" ,startup-notification)
  741. ("xcb-util" ,xcb-util)
  742. ("xcb-util-cursor" ,xcb-util-cursor)
  743. ("xcb-util-image" ,xcb-util-image)
  744. ("xcb-util-keysyms" ,xcb-util-keysyms)
  745. ("xcb-util-renderutil" ,xcb-util-renderutil)
  746. ("xcb-util-xrm" ,xcb-util-xrm)
  747. ("xcb-util-wm" ,xcb-util-wm)))
  748. (arguments
  749. `(;; Let compression happen in our 'compress-documentation' phase so that
  750. ;; '--no-name' is used, which removes timestamps from gzip output.
  751. #:configure-flags '("-DCOMPRESS_MANPAGES=off")
  752. ;; Building awesome in its source dir is no longer supported.
  753. #:out-of-source? #t
  754. #:phases
  755. (modify-phases %standard-phases
  756. (add-before 'build 'xmlto-skip-validation
  757. (lambda _
  758. ;; We can't download the necessary schema, so so skip
  759. ;; validation and assume they're valid.
  760. (substitute* "../build/CMakeFiles/man.dir/build.make"
  761. (("/xmlto")
  762. (string-append "/xmlto --skip-validation")))
  763. #t))
  764. (add-before 'configure 'set-lua-paths
  765. (lambda* (#:key inputs #:allow-other-keys)
  766. ;; The build process needs to load cairo dynamically.
  767. (let* ((cairo (string-append
  768. (assoc-ref inputs "cairo") "/lib" ))
  769. (lua-lgi (assoc-ref inputs "lua-lgi") ))
  770. (setenv "LD_LIBRARY_PATH" cairo )
  771. (setenv "LUA_PATH" (string-append lua-lgi
  772. "/share/lua/5.2/?.lua"))
  773. (setenv "LUA_CPATH" (string-append lua-lgi
  774. "/lib/lua/5.2/?.so"))
  775. #t)))
  776. (replace 'check
  777. (lambda _
  778. ;; There aren't any tests, so just make sure the binary
  779. ;; gets built and can be run successfully.
  780. (invoke "../build/awesome" "-v")))
  781. (add-after 'install 'wrap
  782. (lambda* (#:key inputs outputs #:allow-other-keys)
  783. (let* ((awesome (assoc-ref outputs "out"))
  784. (cairo (string-append
  785. (assoc-ref inputs "cairo") "/lib" ))
  786. (lua-lgi (assoc-ref inputs "lua-lgi") ))
  787. (wrap-program (string-append awesome "/bin/awesome")
  788. `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))
  789. `("LD_LIBRARY_PATH" suffix (, cairo))
  790. `("LUA_PATH" suffix (,(string-append lua-lgi
  791. "/share/lua/5.2/?.lua")))
  792. `("LUA_CPATH" suffix (,(string-append
  793. lua-lgi "/lib/lua/5.2/?.so"))))))))))
  794. (synopsis "Highly configurable window manager")
  795. (description
  796. "Awesome has been designed as a framework window manager. It is fast, small,
  797. dynamic and extensible using the Lua programming language.")
  798. (license license:gpl2+)
  799. (home-page "https://awesome.naquadah.org/")))
  800. (define-public menumaker
  801. (package
  802. (name "menumaker")
  803. (version "0.99.10")
  804. (source
  805. (origin
  806. (method url-fetch)
  807. (uri (string-append "mirror://sourceforge/menumaker/"
  808. "menumaker-" version ".tar.gz"))
  809. (sha256
  810. (base32
  811. "1mm4cvg3kphkkd8nwrhcg6d9nm5ar7mgc0wf6fxk6zck1l7xn8ky"))))
  812. (build-system gnu-build-system)
  813. (inputs
  814. `(("python" ,python)))
  815. (synopsis "Heuristics-driven menu generator")
  816. (description
  817. "MenuMaker is a menu generation utility for a number of X window
  818. managers and desktop environments. It is capable of finding lots of
  819. installed programs and generating a root menu consistent across all
  820. supported window managers, so one will get (almost) the same menu in
  821. all of them. Currently supported window managers include:
  822. @enumerate
  823. @item BlackBox
  824. @item Deskmenu
  825. @item FluxBox
  826. @item IceWM
  827. @item OpenBox
  828. @item PekWM
  829. @item WindowMaker
  830. @item XFCE
  831. @end enumerate\n")
  832. (home-page "http://menumaker.sourceforge.net/")
  833. (license license:bsd-2)))
  834. (define-public keybinder
  835. (package
  836. (name "keybinder")
  837. (version "0.3.1")
  838. (source
  839. (origin
  840. (method url-fetch)
  841. (uri (string-append "https://github.com/kupferlauncher/keybinder"
  842. "/releases/download/v" version "/keybinder-"
  843. version ".tar.gz"))
  844. (file-name (string-append name "-" version ".tar.gz"))
  845. (sha256
  846. (base32
  847. "0h52hj3ay8mfhwvmfxbxlfyq74hifdk8wxgxp7fr4iy6189hg7w7"))))
  848. (build-system gnu-build-system)
  849. (inputs
  850. `(("python-2" ,python-2)
  851. ("gtk+-2" ,gtk+-2)))
  852. (native-inputs
  853. `(("python2-pygtk" ,python2-pygtk)
  854. ("gtk-doc" ,gtk-doc)
  855. ("pkg-config" ,pkg-config)))
  856. (synopsis "Library for registering global keyboard shortcuts")
  857. (description
  858. "Keybinder is a library for registering global keyboard shortcuts.
  859. Keybinder works with GTK-based applications using the X Window System.")
  860. (home-page "https://github.com/kupferlauncher/keybinder")
  861. (license license:gpl2+)))
  862. (define-public spectrwm
  863. (package
  864. (name "spectrwm")
  865. (version "3.2.0")
  866. (source
  867. (origin
  868. (method url-fetch)
  869. (uri (let ((version-with-underscores
  870. (string-join (string-split version #\.) "_")))
  871. (string-append "https://github.com/conformal/spectrwm/archive/"
  872. "SPECTRWM_" version-with-underscores ".tar.gz")))
  873. (file-name (string-append name "-" version ".tar.gz"))
  874. (sha256
  875. (base32
  876. "0z7gjmp1x6y8q3dnw6swvbv8x2wd4ykzjvi3ibk2sxhgc910907v"))))
  877. (build-system gnu-build-system)
  878. (arguments
  879. `(#:make-flags (let ((pkg-config (lambda (flag)
  880. (string-append
  881. "$(shell pkg-config " flag " "
  882. "xft fontconfig x11 libpng)"))))
  883. (list
  884. "CC=gcc"
  885. (string-append "PREFIX=" %output)
  886. (string-append "INCS=-I. " (pkg-config "--cflags"))
  887. (string-append "LIBS=" (pkg-config "--libs") " -lm")))
  888. #:tests? #f ;no test suite
  889. #:phases
  890. (modify-phases %standard-phases
  891. (add-before 'build 'change-dir
  892. (lambda _
  893. (chdir "linux") #t))
  894. (add-after 'change-dir 'patch-makefile
  895. (lambda _
  896. (substitute* "Makefile"
  897. (("-g") ""))))
  898. (delete 'configure)))) ;no 'configure' exists
  899. (inputs
  900. `(("freetype" ,freetype)
  901. ("fontconfig" ,fontconfig)
  902. ("libx11" ,libx11)
  903. ("libxcursor" ,libxcursor)
  904. ("libxrandr" ,libxrandr)
  905. ("libxtst" ,libxtst)
  906. ("libxft" ,libxft)
  907. ("xcb-util" ,xcb-util)
  908. ("xcb-util-wm" ,xcb-util-wm)
  909. ("xcb-util-keysyms" ,xcb-util-keysyms)))
  910. (native-inputs
  911. `(("libxt" ,libxt)
  912. ("pkg-config" ,pkg-config)))
  913. (synopsis "Minimalistic automatic tiling window manager")
  914. (description
  915. "Spectrwm is a small dynamic tiling and reparenting window manager for X11.
  916. It is inspired by Xmonad and dwm. Its major features include:
  917. @itemize
  918. @item Navigation anywhere on all screens with either the keyboard or mouse
  919. @item Customizable status bar
  920. @item Restartable without losing state
  921. @item Quick launch menu
  922. @item Many screen layouts possible with a few simple key strokes
  923. @item Move/resize floating windows
  924. @item Extended Window Manager Hints (@dfn{EWMH}) support
  925. @item Configurable tiling
  926. @item Adjustable tile gap allows for a true one pixel border
  927. @item Customizable colors and border width
  928. @end itemize\n")
  929. (home-page "https://github.com/conformal/spectrwm")
  930. (license license:isc)))
  931. (define-public cwm
  932. (package
  933. (name "cwm")
  934. (version "6.3")
  935. (source
  936. (origin
  937. (method url-fetch)
  938. (uri (string-append "http://chneukirchen.org/releases/cwm-"
  939. version ".tar.gz"))
  940. (sha256
  941. (base32
  942. "17pdp9cfgh2n3n3905l4rl9qk7b722i8psnarhlc2h98qzx7zmac"))))
  943. (build-system gnu-build-system)
  944. (arguments
  945. `(#:make-flags (list "CC=gcc"
  946. (string-append "PREFIX=" %output))
  947. #:tests? #f
  948. #:phases
  949. (modify-phases %standard-phases
  950. (delete 'configure)
  951. (add-after 'build 'install-xsession
  952. (lambda* (#:key outputs #:allow-other-keys)
  953. ;; Add a .desktop file to xsessions.
  954. (let* ((output (assoc-ref outputs "out"))
  955. (xsessions (string-append output "/share/xsessions")))
  956. (mkdir-p xsessions)
  957. (with-output-to-file
  958. (string-append xsessions "/cwm.desktop")
  959. (lambda _
  960. (format #t
  961. "[Desktop Entry]~@
  962. Name=cwm~@
  963. Comment=OpenBSD Calm Window Manager fork~@
  964. Exec=~a/bin/cwm~@
  965. TryExec=~@*~a/bin/cwm~@
  966. Icon=~@
  967. Type=Application~%"
  968. output)))
  969. #t))))))
  970. (inputs
  971. `(("libxft" ,libxft)
  972. ("libxrandr" ,libxrandr)
  973. ("libxinerama" ,libxinerama)))
  974. (native-inputs
  975. `(("pkg-config" ,pkg-config)
  976. ("bison" ,bison)))
  977. (home-page "https://github.com/chneukirchen/cwm")
  978. (synopsis "OpenBSD fork of the calmwm window manager")
  979. (description "Cwm is a stacking window manager for X11. It is an OpenBSD
  980. project derived from the original Calm Window Manager.")
  981. (license license:isc)))
  982. (define-public nitrogen
  983. (package
  984. (name "nitrogen")
  985. (version "1.6.1")
  986. (source (origin
  987. (method url-fetch)
  988. (uri (string-append "http://github.com/l3ib/nitrogen/"
  989. "releases/download/" version "/"
  990. name "-" version ".tar.gz"))
  991. (sha256
  992. (base32
  993. "0zc3fl1mbhq0iyndy4ysmy8vv5c7xwf54rbgamzfhfvsgdq160pl"))))
  994. (build-system gnu-build-system)
  995. (inputs
  996. `(("gtk+" ,gtk+-2)
  997. ("gtkmm" ,gtkmm-2)
  998. ("glib" ,glib)
  999. ("glibmm" ,glibmm)))
  1000. (native-inputs
  1001. `(("pkg-config" ,pkg-config)))
  1002. (arguments
  1003. `(#:configure-flags (list
  1004. (string-append "--prefix=" %output)
  1005. "CXXFLAGS=-std=c++11")))
  1006. (home-page "http://projects.l3ib.org/nitrogen/")
  1007. (synopsis "Background browser and setter for X windows")
  1008. (description
  1009. "This package is a background browser and setter for X windows. It's
  1010. features are:
  1011. @itemize
  1012. @item Multihead and Xinerama aware
  1013. @item Recall mode to used via startup script
  1014. @item Uses freedesktop.org standard for thumbnails
  1015. @item Can set GNOME background
  1016. @item Command lie set modes for script use
  1017. @item Inotify monitoring of browse directory
  1018. @item Lazy loading of thumbnails - conserves memory
  1019. @item \"Automatic\" set mode - determines best mode to set an image based on
  1020. its size
  1021. @item Display preview images in a tiled icon layout
  1022. @end itemize")
  1023. (license license:gpl2+)))
  1024. (define-public polybar
  1025. (package
  1026. (name "polybar")
  1027. (version "3.3.0")
  1028. (source
  1029. (origin
  1030. (method url-fetch)
  1031. (uri (string-append "https://github.com/jaagr/polybar/releases/"
  1032. "download/" version "/polybar.tar"))
  1033. (sha256
  1034. (base32 "0sjh3xmf11g09spi88zj7xsc3a3vv78kixab6n5i7436py7xwzb4"))
  1035. (file-name (string-append name "-" version ".tar"))))
  1036. (build-system cmake-build-system)
  1037. (arguments
  1038. ;; Test is disabled because it requires downloading googletest from the
  1039. ;; Internet.
  1040. '(#:tests? #f))
  1041. (inputs
  1042. `(("alsa-lib" ,alsa-lib)
  1043. ("cairo" ,cairo)
  1044. ("i3-wm" ,i3-wm)
  1045. ("libmpdclient" ,libmpdclient)
  1046. ("libnl" ,libnl)
  1047. ("libxcb" ,libxcb)
  1048. ("pulseaudio" ,pulseaudio)
  1049. ("xcb-proto" ,xcb-proto)
  1050. ("xcb-util" ,xcb-util)
  1051. ("xcb-util-cursor" ,xcb-util-cursor)
  1052. ("xcb-util-image" ,xcb-util-image)
  1053. ("xcb-util-wm" ,xcb-util-wm)
  1054. ("xcb-util-xrm" ,xcb-util-xrm)))
  1055. (native-inputs
  1056. `(("pkg-config" ,pkg-config)
  1057. ("python-2" ,python-2) ; lib/xpp depends on python 2
  1058. ("python" ,python))) ; xcb-proto depends on python 3
  1059. (home-page "https://polybar.github.io/")
  1060. (synopsis "Fast and easy-to-use status bar")
  1061. (description "Polybar aims to help users build beautiful and highly
  1062. customizable status bars for their desktop environment. It has built-in
  1063. functionality to display information about the most commonly used services.")
  1064. (license license:expat)))