diff options
Diffstat (limited to 'gnu/packages/suckless.scm')
-rw-r--r-- | gnu/packages/suckless.scm | 258 |
1 files changed, 220 insertions, 38 deletions
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index b24eced379..cfeb17e533 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -9,6 +9,8 @@ ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> +;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +36,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages libbsd) #:use-module (gnu packages linux) @@ -45,6 +48,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) @@ -257,10 +261,7 @@ a custom raw video format with a simple container.") output))) #t)))))) (inputs - `(("freetype" ,freetype) - ("libx11" ,libx11) - ("libxft" ,libxft) - ("libxinerama" ,libxinerama))) + (list freetype libx11 libxft libxinerama)) (home-page "https://dwm.suckless.org/") (synopsis "Dynamic window manager") (description @@ -292,10 +293,7 @@ optimising the environment for the application in use and the task performed.") #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs - `(("freetype" ,freetype) - ("libxft" ,libxft) - ("libx11" ,libx11) - ("libxinerama" ,libxinerama))) + (list freetype libxft libx11 libxinerama)) (home-page "https://tools.suckless.org/dmenu/") (synopsis "Dynamic menu") (description @@ -322,10 +320,8 @@ numbers of user-defined menu items efficiently.") (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output)))) (inputs - `(("libx11" ,libx11) - ("libxkbfile" ,libxkbfile) - ("alsa-lib" ,alsa-lib) ; tinyalsa (unpackaged) would suffice - ("libmpdclient" ,libmpdclient))) + (list libx11 libxkbfile alsa-lib ; tinyalsa (unpackaged) would suffice + libmpdclient)) (home-page "https://git.2f30.org/spoon/") (synopsis "Set dwm status") (description @@ -351,10 +347,7 @@ numbers of user-defined menu items efficiently.") (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs - `(("libx11" ,libx11) - ("libxext" ,libxext) - ("libxinerama" ,libxinerama) - ("libxrandr" ,libxrandr))) + (list libx11 libxext libxinerama libxrandr)) (home-page "https://tools.suckless.org/slock/") (synopsis "Simple X session lock") (description @@ -377,22 +370,21 @@ numbers of user-defined menu items efficiently.") `(#:tests? #f ; no tests #:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "TERMINFO=" + (assoc-ref %outputs "out") + "/share/terminfo") (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'inhibit-terminfo-install - (lambda _ - (substitute* "Makefile" - (("\ttic .*") "")) - #t))))) + (delete 'configure)))) (inputs `(("libx11" ,libx11) ("libxft" ,libxft) ("fontconfig" ,fontconfig) ("freetype" ,freetype))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list ncurses ;provides tic program + pkg-config)) (home-page "https://st.suckless.org/") (synopsis "Simple terminal emulator") (description @@ -402,6 +394,71 @@ antialiased fonts (using fontconfig), fallback fonts, resizing, and line drawing.") (license license:x11))) +(define-public xst + (package + (inherit st) + (name "xst") + (version "0.8.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gnotclub/xst") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1q64x7czpbcg0v509qchn5v96zdnx7jmvy0zxhjmkk3d10x5rqlw")))) + (home-page "https://github.com/gnotclub/xst") + (synopsis "Fork of st that uses Xresources") + (description + "@command{xst} uses Xresources and applies the following patches to +@command{st}: +@itemize +@item @uref{https://st.suckless.org/patches/alpha/, alpha} +@item @uref{https://st.suckless.org/patches/boxdraw/, boxdraw} +@item @uref{https://st.suckless.org/patches/clipboard/, clipboard} +@item @uref{https://st.suckless.org/patches/disable_bold_italic_fonts/, disable_bold_italic_fonts} +@item @uref{https://st.suckless.org/patches/externalpipe/, externalpipe} +@item @uref{https://st.suckless.org/patches/scrollback/, scrollback} +@item @uref{https://st.suckless.org/patches/spoiler/, spoiler} +@item @uref{https://st.suckless.org/patches/vertcenter/, vertcenter} +@end itemize") + (license license:expat))) + +(define-public lukesmithxyz-st + (let ((commit "e053bd6036331cc7d14f155614aebc20f5371d3a") + (revision "0")) + (package + (inherit st) + (name "lukesmithxyz-st") + (version "0.8.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/LukeSmithxyz/st") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12avzzapkkj4mvd00zh8b6gynk6jysh84jcwlkliyyd82lvyw22v")))) + (arguments + (substitute-keyword-arguments (package-arguments st) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'remove-calls-to-git + (lambda _ + (substitute* "Makefile" + (("git submodule init") "") + (("git submodule update") "")))))))) + (inputs (modify-inputs (package-inputs st) + (prepend libxext harfbuzz))) + (home-page "https://github.com/LukeSmithxyz/st") + (synopsis "Luke Smith's fork of st") + (description + "This package is Luke's fork of the suckless simple terminal (st) with +Vim bindings and Xresource compatibility.") + (license license:expat)))) + (define-public surf (package (name "surf") @@ -426,18 +483,18 @@ drawing.") (add-before 'build 'set-dmenu-and-xprop-file-name (lambda* (#:key inputs #:allow-other-keys) (substitute* "config.def.h" - (("dmenu") (string-append (assoc-ref inputs "dmenu") "/bin/dmenu")) - (("xprop") (string-append (assoc-ref inputs "xprop") "/bin/xprop"))) + (("dmenu") (search-input-file inputs "/bin/dmenu")) + (("xprop") (search-input-file inputs "/bin/xprop"))) #t))))) (inputs `(("dmenu" ,dmenu) ("gcr" ,gcr) ("glib-networking" ,glib-networking) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("webkitgtk" ,webkitgtk) + ("webkitgtk" ,webkitgtk-with-libsoup2) ("xprop" ,xprop))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "https://surf.suckless.org/") (synopsis "Simple web browser") (description @@ -473,7 +530,7 @@ point surf to another URI by setting its XProperties.") (string-append "INCS=-I. " (pkg-config "--cflags")) (string-append "LIBS=" (pkg-config "--libs") " -lm"))))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs `(("libpng" ,libpng) ("libx11" ,libx11) @@ -488,6 +545,36 @@ few minutes.") (home-page "https://tools.suckless.org/sent") (license license:x11))) +(define-public wmname + (package + (name "wmname") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://dl.suckless.org/tools/wmname-" + version ".tar.gz")) + (sha256 + (base32 "1i82ilhbk36hspc2j0fbpg27wjj7xnvzpv1ppgf6fccina4d36jm")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) + #:phases ; no tests + (modify-phases %standard-phases + (delete 'configure)))) ; no configure script + (inputs + (list libx11)) + (home-page "https://tools.suckless.org/x/wmname/") + (synopsis "Print or set the window manager name") + (description "@command{wmname} prints/sets the window manager name +property of the root window similar to how @command{hostname} behaves. It is +useful for fixing problems with JDK versions and other broken programs +assuming a reparenting window manager for instance.") + (license license:expat))) + (define-public xbattmon (package (name "xbattmon") @@ -507,7 +594,7 @@ few minutes.") (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output)))) (inputs - `(("libx11" ,libx11))) + (list libx11)) (home-page "https://git.2f30.org/xbattmon/") (synopsis "Simple battery monitor for X") (description @@ -625,8 +712,7 @@ left.") (modify-phases %standard-phases (delete 'configure)))) ; no configure script (inputs - `(("cups-minimal" ,cups-minimal) - ("zlib" ,zlib))) + (list cups-minimal zlib)) (home-page "https://git.2f30.org/prout/") (synopsis "Smaller lp command") (description @@ -662,7 +748,7 @@ cups server to be installed.") (substitute* "Makefile" (("lcurses") "lncurses"))))))) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (home-page "https://git.2f30.org/noice/") (synopsis "Small file browser") (description @@ -765,7 +851,7 @@ initially intended to be used on musl-based Linux distributions. (modify-phases %standard-phases (delete 'configure)))) ; no configure script (inputs - `(("libpng" ,libpng))) + (list libpng)) (home-page "https://git.2f30.org/colors/") (synopsis "Extract colors from pictures") (description @@ -803,7 +889,7 @@ colormap to stdout.") (modify-phases %standard-phases (delete 'configure)))) ; no configure script (inputs - `(("gawk" ,gawk))) + (list gawk)) (home-page "https://github.com/cls/libutf") (synopsis "Plan 9 compatible UTF-8 library") (description @@ -861,10 +947,7 @@ as -1, to be used instead of U+FFFD. (install-file "lchat.1" man1) #t)))))) (inputs - `(("grep" ,grep) - ("ncurses" ,ncurses) - ("libutf" ,libutf) - ("libbsd" ,libbsd))) + (list grep ncurses libutf libbsd)) (home-page "https://github.com/younix/lchat") (synopsis "Line chat is a frontend for the irc client ii from suckless") (description @@ -873,6 +956,38 @@ It is a front end for ii-like chat programs. It uses @code{tail -f} to get the chat output in the background.") (license license:isc)))) +(define-public snooze + (package + (name "snooze") + (version "0.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/leahneukirchen/snooze") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02ng3r1gzgpyjia4b60i11dj5bhn3xjsdcbwmxaam6dzb33dmgib")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + ;; Set prefix path to root of package path in store instead + ;; of /usr/local. + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/leahneukirchen/snooze") + (synopsis "Run a command at a particular time") + (description +"@command{snooze} is a tool for waiting until a particular time and then +running a command.") + (license license:cc0))) + (define-public scron (package (name "scron") @@ -901,3 +1016,70 @@ chat output in the background.") Single daemon and configuration file. Log to stdout or syslog. No mail support.") (license license:expat))) + +(define-public sfm + (package + (name "sfm") + (version "0.4") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "git://git.afify.dev/sfm.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0g6k884mggryld0k054sjcj6kpkbca9cvr50w98klszym73yw0sp")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no check target + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ;no configure script + (home-page "https://github.com/afify/sfm") + (synopsis "Simple file manager") + (description "sfm is a simple file manager.") + (license license:isc))) + +(define-public sfeed + (package + (name "sfeed") + (version "1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "git://git.codemadness.org/sfeed") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1b0l6f9aymk54ncc2kxavhg4flcqv7d4mpkpw8ljx7mzg0g4ygyk")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no check target + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'fix-ncurses + (lambda _ + (substitute* "Makefile" + (("-lcurses") "-lncurses")))) + (delete 'configure)))) ;no configure script + (inputs + (list ncurses)) + (home-page "https://git.codemadness.org/sfeed") + (synopsis "RSS and Atom parser") + (description + "@code{sfeed} converts RSS or Atom feeds from XML to a TAB-separated file. +There are formatting programs included to convert this TAB-separated format to +various other formats. There are also some programs and scripts included to +import and export OPML and to fetch, filter, merge and order feed items.") + (license license:isc))) |