123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935 |
- ;;; GNU Guix --- Functional package management for GNU
- ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
- ;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
- ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
- ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
- ;;; Copyright © 2015 Dmitry Bogatov <KAction@gnu.org>
- ;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
- ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
- ;;; 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>
- ;;;
- ;;; This file is part of GNU Guix.
- ;;;
- ;;; GNU Guix is free software; you can redistribute it and/or modify it
- ;;; under the terms of the GNU General Public License as published by
- ;;; the Free Software Foundation; either version 3 of the License, or (at
- ;;; your option) any later version.
- ;;;
- ;;; GNU Guix is distributed in the hope that it will be useful, but
- ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
- ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ;;; GNU General Public License for more details.
- ;;;
- ;;; You should have received a copy of the GNU General Public License
- ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
- (define-module (gnu packages suckless)
- #:use-module (gnu packages)
- #:use-module (gnu packages base)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages cups)
- #:use-module (gnu packages fonts)
- #:use-module (gnu packages fontutils)
- #:use-module (gnu packages gawk)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages image)
- #:use-module (gnu packages libbsd)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages mpd)
- #:use-module (gnu packages ncurses)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages webkit)
- #:use-module (gnu packages xorg)
- #:use-module (guix build-system glib-or-gtk)
- #:use-module (guix build-system gnu)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix utils)
- #:use-module (guix packages))
- (define-public slscroll
- (package
- (name "slscroll")
- (version "0.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/tools/scroll-"
- version ".tar.gz"))
- (sha256
- (base32 "1mpfrvn122lnaqid1pi99ckpxd6x679b0w91pl003xmdwsfdbcly"))))
- (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://tools.suckless.org/scroll/")
- (synopsis "Scroll-back buffer program for st")
- (description "Scroll is a program that provides a scroll back buffer for
- terminal like @code{st}.")
- (license license:isc)))
- (define-public tabbed
- (package
- (name "tabbed")
- (version "0.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/tools/tabbed-"
- version ".tar.gz"))
- (sha256
- (base32 "0hhwckyzvsj9aim2l6m69wmvl2n7gzd6b1ly8qjnlpgcrcxfllbn"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no check target
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "config.mk"
- (("/usr/local")
- (assoc-ref outputs "out"))
- (("/usr/X11R6")
- (assoc-ref inputs "libx11"))
- (("/usr/include/freetype2")
- (string-append (assoc-ref inputs "freetype")
- "/include/freetype2"))
- (("CC = cc")
- (string-append "CC = " ,(cc-for-target))))))
- (delete 'configure)))) ; no configure script
- (inputs
- `(("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("libx11" ,libx11)
- ("libxft" ,libxft)))
- (home-page "https://tools.suckless.org/tabbed/")
- (synopsis "Tab interface for application supporting Xembed")
- (description "Tabbed is a generic tabbed frontend to xembed-aware
- applications. It was originally designed for surf but also usable with many
- other applications, i.e. st, uzbl, urxvt and xterm.")
- (license
- ;; Dual-licensed.
- (list
- license:expat
- license:x11))))
- (define-public slstatus
- ;; No release tarballs yet.
- (let ((commit "84a2f117a32f0796045941260cdc4b69852b41e0")
- (revision "0"))
- (package
- (name "slstatus")
- (version (git-version "0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri
- (git-reference
- (url "git://git.suckless.org/slstatus.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "063a4fnvsjbc61alnbfdpxy0nwhh9ql9j6s9hkdv12713kv932ds"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ;no test suite
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "config.mk"
- (("/usr/local") (assoc-ref outputs "out"))
- (("/usr/X11R6") (assoc-ref inputs "x11"))
- (("CC = cc") (string-append "CC = " ,(cc-for-target))))))
- (delete 'configure)))) ;no configure script
- (inputs
- `(("x11" ,libx11)))
- (home-page "https://tools.suckless.org/slstatus/")
- (synopsis "Status monitor for window managers")
- (description "SlStatus is a suckless status monitor for window managers
- that use WM_NAME or stdin to fill the status bar.
- It provides the following features:
- @itemize
- @item Battery percentage/state/time left
- @item CPU usage
- @item CPU frequency
- @item Custom shell commands
- @item Date and time
- @item Disk status (free storage, percentage, total storage and used storage)
- @item Available entropy
- @item Username/GID/UID
- @item Hostname
- @item IP address (IPv4 and IPv6)
- @item Kernel version
- @item Keyboard indicators
- @item Keymap
- @item Load average
- @item Network speeds (RX and TX)
- @item Number of files in a directory (hint: Maildir)
- @item Memory status (free memory, percentage, total memory and used memory)
- @item Swap status (free swap, percentage, total swap and used swap)
- @item Temperature
- @item Uptime
- @item Volume percentage
- @item WiFi signal percentage and ESSID
- @end itemize")
- (license license:isc))))
- (define-public blind
- (package
- (name "blind")
- (version "1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/tools/blind-"
- version ".tar.gz"))
- (sha256
- (base32
- "0nncvzyipvkkd7zlgzwbjygp82frzs2hvbnk71gxf671np607y94"))))
- (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
- (synopsis "Command line video editing utilities")
- (home-page "https://tools.suckless.org/blind/")
- (description
- "Blind is a collection of command line video editing utilities. It uses
- a custom raw video format with a simple container.")
- (license license:isc)))
- (define-public dwm
- (package
- (name "dwm")
- (version "6.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/dwm/dwm-"
- version ".tar.gz"))
- (sha256
- (base32 "03hirnj8saxnsfqiszwl2ds7p0avg20izv9vdqyambks00p2x44p"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f
- #:make-flags (list (string-append "FREETYPEINC="
- (assoc-ref %build-inputs "freetype")
- "/include/freetype2"))
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (substitute* "Makefile" (("\\$\\{CC\\}") "gcc"))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (invoke "make" "install"
- (string-append "DESTDIR=" out) "PREFIX="))))
- (add-after 'build 'install-xsession
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Add a .desktop file to xsessions.
- (let* ((output (assoc-ref outputs "out"))
- (xsessions (string-append output "/share/xsessions")))
- (mkdir-p xsessions)
- (with-output-to-file
- (string-append xsessions "/dwm.desktop")
- (lambda _
- (format #t
- "[Desktop Entry]~@
- Name=dwm~@
- Comment=Dynamic Window Manager~@
- Exec=~a/bin/dwm~@
- TryExec=~@*~a/bin/dwm~@
- Icon=~@
- Type=Application~%"
- output)))
- #t))))))
- (inputs
- `(("freetype" ,freetype)
- ("libx11" ,libx11)
- ("libxft" ,libxft)
- ("libxinerama" ,libxinerama)))
- (home-page "https://dwm.suckless.org/")
- (synopsis "Dynamic window manager")
- (description
- "dwm is a dynamic window manager for X. It manages windows in tiled,
- monocle and floating layouts. All of the layouts can be applied dynamically,
- optimising the environment for the application in use and the task performed.")
- (license license:x11)))
- (define-public dmenu
- (package
- (name "dmenu")
- (version "5.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/tools/dmenu-"
- version ".tar.gz"))
- (sha256
- (base32
- "1lvfxzg3chsgcqbc2vr0zic7vimijgmbvnspayx73kyvqi1f267y"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output)
- (string-append "FREETYPEINC="
- (assoc-ref %build-inputs "freetype")
- "/include/freetype2"))
- #:phases
- (modify-phases %standard-phases (delete 'configure))))
- (inputs
- `(("freetype" ,freetype)
- ("libxft" ,libxft)
- ("libx11" ,libx11)
- ("libxinerama" ,libxinerama)))
- (home-page "https://tools.suckless.org/dmenu/")
- (synopsis "Dynamic menu")
- (description
- "A dynamic menu for X, originally designed for dwm. It manages large
- numbers of user-defined menu items efficiently.")
- (license license:x11)))
- (define-public spoon
- (package
- (name "spoon")
- (version "0.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "spoon-" version ".tar.gz"))
- (sha256
- (base32
- "1jpmg9k9f4f3lpz0k3cphqjswlyf8lz2sm8ccifiip93kd4rrdj0"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (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)))
- (home-page "https://git.2f30.org/spoon/")
- (synopsis "Set dwm status")
- (description
- "Spoon can be used to set the dwm status.")
- (license license:isc)))
- (define-public slock
- (package
- (name "slock")
- (version "1.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/tools/slock-"
- version ".tar.gz"))
- (sha256
- (base32
- "0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases (modify-phases %standard-phases (delete 'configure))))
- (inputs
- `(("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxinerama" ,libxinerama)
- ("libxrandr" ,libxrandr)))
- (home-page "https://tools.suckless.org/slock/")
- (synopsis "Simple X session lock")
- (description
- "Simple X session lock with trivial feedback on password entry.")
- (license license:x11)))
- (define-public st
- (package
- (name "st")
- (version "0.8.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/st/st-"
- version ".tar.gz"))
- (sha256
- (base32 "19j66fhckihbg30ypngvqc9bcva47mp379ch5vinasjdxgn3qbfl"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'inhibit-terminfo-install
- (lambda _
- (substitute* "Makefile"
- (("\ttic .*") ""))
- #t)))))
- (inputs
- `(("libx11" ,libx11)
- ("libxft" ,libxft)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://st.suckless.org/")
- (synopsis "Simple terminal emulator")
- (description
- "St implements a simple and lightweight terminal emulator. It
- implements 256 colors, most VT10X escape sequences, utf8, X11 copy/paste,
- antialiased fonts (using fontconfig), fallback fonts, resizing, and line
- drawing.")
- (license license:x11)))
- (define-public surf
- (package
- (name "surf")
- (version "2.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/surf/surf-"
- version ".tar.gz"))
- (sha256
- (base32 "0mrj0kp01bwrgrn4v298g81h6zyq64ijsg790di68nm21f985rbj"))))
- (build-system glib-or-gtk-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- ;; Use the right file name for dmenu and xprop.
- (add-before 'build 'set-dmenu-and-xprop-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "config.def.h"
- (("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)
- ("xprop" ,xprop)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://surf.suckless.org/")
- (synopsis "Simple web browser")
- (description
- "Surf is a simple web browser based on WebKit/GTK+. It is able to
- display websites and follow links. It supports the XEmbed protocol which
- makes it possible to embed it in another application. Furthermore, one can
- point surf to another URI by setting its XProperties.")
- (license license:x11)))
- (define-public sent
- (package
- (name "sent")
- (version "1")
- (source (origin
- (method url-fetch/tarbomb)
- (uri (string-append "https://dl.suckless.org/tools/sent-"
- version ".tar.gz"))
- (sha256
- (base32
- "0cxysz5lp25mgww73jl0mgip68x7iyvialyzdbriyaff269xxwvv"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (delete 'configure)) ; no configuration
- #:tests? #f ; no test suite
- #:make-flags
- (let ((pkg-config (lambda (flag)
- (string-append
- "$(shell pkg-config " flag " "
- "xft fontconfig x11 libpng)"))))
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output)
- (string-append "INCS=-I. " (pkg-config "--cflags"))
- (string-append "LIBS=" (pkg-config "--libs") " -lm")))))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("libpng" ,libpng)
- ("libx11" ,libx11)
- ("libxft" ,libxft)
- ("fontconfig" ,fontconfig)))
- (synopsis "Plain-text presentation tool")
- (description "Sent uses plain-text files and PNG images to create slideshow
- presentations. Each paragraph represents a slide in the presentation.
- Especially for presentations using the Takahashi method this is very nice and
- allows you to write down the presentation for a quick lightning talk within a
- 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
- `(("libx11" ,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")
- (version "1.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "xbattmon-" version ".tar.gz"))
- (sha256
- (base32
- "1zr6y8lml9xkx0a3dbbsds2qz1bjxvskp7wsckkf8mlsqrbb3xsg"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))))
- (inputs
- `(("libx11" ,libx11)))
- (home-page "https://git.2f30.org/xbattmon/")
- (synopsis "Simple battery monitor for X")
- (description
- "Xbattmon is a simple battery monitor for X.")
- (license license:isc)))
- (define-public wificurse
- (package
- (name "wificurse")
- (version "0.3.9")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "wificurse-" version ".tar.gz"))
- (sha256
- (base32
- "067ghr1xly5ca41kc83xila1p5hpq0bxfcmc8jvxi2ggm6wrhavn"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; No tests
- #:make-flags (list
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; No configure script
- (home-page "https://git.2f30.org/wificurse/")
- (synopsis "Wifi DoS attack tool")
- (description
- "Wificurses listens for beacons sent from wireless access points
- in the range of your wireless station. Once received the program
- extracts the BSSID of the AP and transmits deauthentication packets
- using the broadcast MAC address. This results to the disconnection
- of all clients connected to the AP at the time of the attack. This
- is essencially a WiFi DoS attack tool created for educational
- purposes only. It works only in Linux and requires wireless card
- drivers capable of injecting packets in wireless networks.")
- (license license:gpl3+)))
- (define-public skroll
- (package
- (name "skroll")
- (version "0.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "skroll-" version ".tar.gz"))
- (sha256
- (base32
- "0km6bjfz4ssb1z0xwld6iiixnn7d255ax8yjs3zkdm42z8q9yl0f"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #: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://2f30.org/")
- (synopsis "Commandline utility which scrolls text")
- (description
- "Skroll is a small utility that you can use to make a text scroll.
- Pipe text to it, and it will scroll a given number of letters from right to
- left.")
- (license license:wtfpl2)))
- (define-public sbm
- (package
- (name "sbm")
- (version "0.9")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "sbm-" version ".tar.gz"))
- (sha256
- (base32
- "1nks5mkh5wn30kyjzlkjlgi31bv1wq52kbp0r6nzbyfnvfdlywik"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #: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://git.2f30.org/sbm/")
- (synopsis "Simple bandwidth monitor")
- (description
- "Sbm is a simple bandwidth monitor.")
- (license license:isc)))
- (define-public prout
- (package
- (name "prout")
- (version "0.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "prout-" version ".tar.gz"))
- (sha256
- (base32
- "1s6c3ygg1h1fyxkh8gd7nzjk6qhnwsb4535d2k780kxnwns5fzas"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
- (inputs
- `(("cups-minimal" ,cups-minimal)
- ("zlib" ,zlib)))
- (home-page "https://git.2f30.org/prout/")
- (synopsis "Smaller lp command")
- (description
- "Prout (PRint OUT) is a small utility one can use to send
- documents to a printer.
- It has no feature, and does nothing else. Just set your default
- printer in client.conf(5) and start printing. No need for a local
- cups server to be installed.")
- (license license:wtfpl2)))
- (define-public noice
- (package
- (name "noice")
- (version "0.8")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "noice-" version ".tar.gz"))
- (sha256
- (base32 "0g01iwzscdv27c1idv93gd74kjzy3n9kazgm6qz08rygp96qx4xw"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (add-before 'build 'curses
- (lambda _
- (substitute* "Makefile"
- (("lcurses") "lncurses")))))))
- (inputs
- `(("ncurses" ,ncurses)))
- (home-page "https://git.2f30.org/noice/")
- (synopsis "Small file browser")
- (description
- "Noice is a small curses-based file browser.")
- (license license:bsd-2)))
- (define-public human
- (package
- (name "human")
- (version "0.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.2f30.org/human.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0y0bsmvpwfwb2lwspi6a799y34h1faxc6yfanyw6hygxc8661mga"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #: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://git.2f30.org/human/")
- (synopsis "Convert bytes to human readable formats")
- (description
- "Human is a small program which translate numbers into a
- human readable format. By default, it tries to detect the best
- factorisation, but you can force its output.
- You can adjust the number of decimals with the @code{SCALE}
- environment variable.")
- (license license:wtfpl2)))
- (define-public fortify-headers
- (package
- (name "fortify-headers")
- (version "1.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "fortify-headers-" version ".tar.gz"))
- (sha256
- (base32 "1dhz41jq1azcf7rbvga8w6pnx19l1j9r6jwj8qrlrfnjl9hdi9bb"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #: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://git.2f30.org/fortify-headers/")
- (synopsis "Standalone fortify-source implementation")
- (description
- "This is a standalone implementation of fortify source. It provides
- compile time buffer checks. It is libc-agnostic and simply overlays the
- system headers by using the @code{#include_next} extension found in GCC. It was
- initially intended to be used on musl-based Linux distributions.
- @itemize
- @item It is portable, works on *BSD, Linux, Solaris and possibly others.
- @item It will only trap non-conformant programs. This means that fortify
- level 2 is treated in the same way as level 1.
- @item Avoids making function calls when undefined behaviour has already been
- invoked. This is handled by using @code{__builtin_trap()}.
- @item Support for out-of-bounds read interfaces, such as @code{send()},
- @code{write()}, @code{fwrite()}, etc.
- @item No ABI is enforced. All of the fortify check functions are inlined
- into the resulting binary.
- @end itemize\n")
- (license license:isc)))
- (define-public colors
- (package
- (name "colors")
- (version "0.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "colors-" version ".tar.gz"))
- (sha256
- (base32
- "1lckmqpgj89841splng0sszbls2ag71ggkgr1wsv9y3v6y87589z"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
- (inputs
- `(("libpng" ,libpng)))
- (home-page "https://git.2f30.org/colors/")
- (synopsis "Extract colors from pictures")
- (description
- "Extract colors from PNG files. It is similar to
- strings(1) but for pictures. For a given input file it outputs a
- colormap to stdout.")
- (license license:isc)))
- ;; No new releases were made at github, this repository is more active than
- ;; the one at http://git.suckless.org/libutf/ and it is
- ;; done by the same developer.
- (define-public libutf
- (let ((revision "1")
- (commit "ff4c60635e1f455b0a0b4200f8183fbd5a88225b"))
- (package
- (name "libutf")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cls/libutf")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ih5vjavilzggyr1j1z6w1z12c2fs5fg77cfnv7ami5ivsy3kg3d"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
- (inputs
- `(("gawk" ,gawk)))
- (home-page "https://github.com/cls/libutf")
- (synopsis "Plan 9 compatible UTF-8 library")
- (description
- "This is a C89 UTF-8 library, with an API compatible with that of
- Plan 9's libutf, but with a number of improvements:
- @itemize
- @item Support for runes beyond the Basic Multilingual Plane.
- @item utflen and utfnlen cannot overflow on 32- or 64-bit machines.
- @item chartorune treats all invalid codepoints as though Runeerror.
- @item fullrune, utfecpy, and utfnlen do not overestimate the length
- of malformed runes.
- @item An extra function, charntorune(p,s,n), equivalent to
- fullrune(s,n) ? chartorune(p,s): 0.
- @item Runeerror may be set to an alternative replacement value, such
- as -1, to be used instead of U+FFFD.
- @end itemize\n")
- (license license:expat))))
- ;; No release tarballs so far.
- (define-public lchat
- (let ((revision "4")
- (commit "e3b64e67b9b9d832462382246474ce1e7d92217c"))
- (package
- (name "lchat")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/younix/lchat")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1qcjqbgmsskc04j2r6xl3amkwj05n520sq1wv2mqyqncz42qrxm0"))))
- (build-system gnu-build-system)
- (arguments
- `(#:test-target "test"
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (add-before 'build 'libbsd
- (lambda _
- (substitute* "Makefile"
- (("-lutf") "-lutf -lbsd"))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (man1 (string-append out "/share/man/man1")))
- (install-file "lchat" bin)
- (install-file "lchat.1" man1)
- #t))))))
- (inputs
- `(("grep" ,grep)
- ("ncurses" ,ncurses)
- ("libutf" ,libutf)
- ("libbsd" ,libbsd)))
- (home-page "https://github.com/younix/lchat")
- (synopsis "Line chat is a frontend for the irc client ii from suckless")
- (description
- "Lchat (line chat) is the little and small brother of cii.
- 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 scron
- (package
- (name "scron")
- (version "0.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://dl.2f30.org/releases/"
- "scron-" version ".tar.gz"))
- (sha256
- (base32
- "066fwa55kqcgfrsqgxh94sqbkxfsr691360xg4ljxr4i75d25s2a"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #: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://git.2f30.org/scron/")
- (synopsis "Simple cron daemon")
- (description
- "Schedule commands to be run at specified dates and times.
- Single daemon and configuration file. Log to stdout or syslog. No mail
- support.")
- (license license:expat)))
|