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.

2225 lines
89 KiB

gnu: Use synopses from the Womb. * gnu/packages/algebra.scm, gnu/packages/aspell.scm, gnu/packages/autotools.scm, gnu/packages/base.scm, gnu/packages/bash.scm, gnu/packages/bison.scm, gnu/packages/cdrom.scm, gnu/packages/cflow.scm, gnu/packages/compression.scm, gnu/packages/cpio.scm, gnu/packages/cppi.scm, gnu/packages/ddrescue.scm, gnu/packages/dejagnu.scm, gnu/packages/ed.scm, gnu/packages/emacs.scm, gnu/packages/fdisk.scm, gnu/packages/gawk.scm, gnu/packages/gcc.scm, packages/gcc.scm, b/gnu/packages/gcc.scm, 4b982 100644 s/gcc.scm, s/gcc.scm, @@ %standard-phases))))) `((gcc-libc . ,(assoc-ref inputs "libc")))) The GNU Compiler Collection") GNU Compiler Collection") n ompiler Collection includes compiler front ends for C, C++, tran, OpenMP for C/C++/Fortran, Java, and Ada, as well as gnu/packages/gdb.scm, gnu/packages/gettext.scm, gnu/packages/ghostscript.scm, gnu/packages/glib.scm, gnu/packages/global.scm, gnu/packages/gnupg.scm, gnu/packages/gnutls.scm, gnu/packages/gperf.scm, gnu/packages/gprolog.scm, gnu/packages/groff.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/guile.scm, gnu/packages/help2man.scm, gnu/packages/idutils.scm, gnu/packages/indent.scm, gnu/packages/less.scm, gnu/packages/libidn.scm, gnu/packages/libsigsegv.scm, gnu/packages/libunistring.scm, gnu/packages/linux.scm, gnu/packages/lsh.scm, gnu/packages/m4.scm, gnu/packages/mailutils.scm, gnu/packages/multiprecision.scm, gnu/packages/nano.scm, gnu/packages/ncurses.scm, gnu/packages/nettle.scm, gnu/packages/oggvorbis.scm, gnu/packages/parted.scm, gnu/packages/pth.scm, gnu/packages/readline.scm, gnu/packages/recutils.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/shishi.scm, gnu/packages/smalltalk.scm, gnu/packages/system.scm, gnu/packages/texinfo.scm, gnu/packages/time.scm, gnu/packages/wdiff.scm, gnu/packages/wget.scm, gnu/packages/which.scm: Use synopses from the Womb.
9 years ago
Synchronize package descriptions with the Womb. * gnu/packages/algebra.scm, gnu/packages/aspell.scm, gnu/packages/autotools.scm, gnu/packages/base.scm, gnu/packages/bash.scm, gnu/packages/bison.scm, gnu/packages/cdrom.scm, gnu/packages/cflow.scm, gnu/packages/compression.scm, gnu/packages/cpio.scm, gnu/packages/cppi.scm, gnu/packages/ddrescue.scm, gnu/packages/dejagnu.scm, gnu/packages/ed.scm, gnu/packages/emacs.scm, gnu/packages/fdisk.scm, gnu/packages/freeipmi.scm, gnu/packages/gawk.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/gdb.scm, gnu/packages/gdbm.scm, gnu/packages/gettext.scm, gnu/packages/ghostscript.scm, gnu/packages/global.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnutls.scm, gnu/packages/gperf.scm, gnu/packages/gprolog.scm, gnu/packages/groff.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/guile.scm, gnu/packages/gv.scm, gnu/packages/help2man.scm, gnu/packages/idutils.scm, gnu/packages/indent.scm, gnu/packages/less.scm, gnu/packages/libidn.scm, gnu/packages/libsigsegv.scm, gnu/packages/libunistring.scm, gnu/packages/lightning.scm, gnu/packages/linux.scm, gnu/packages/lsh.scm, gnu/packages/m4.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/multiprecision.scm, gnu/packages/nano.scm, gnu/packages/ncurses.scm, gnu/packages/nettle.scm, gnu/packages/ocrad.scm, gnu/packages/oggvorbis.scm, gnu/packages/parted.scm, gnu/packages/plotutils.scm, gnu/packages/pth.scm, gnu/packages/readline.scm, gnu/packages/recutils.scm, gnu/packages/rush.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/shishi.scm, gnu/packages/smalltalk.scm, gnu/packages/system.scm, gnu/packages/texinfo.scm, gnu/packages/time.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/wdiff.scm, gnu/packages/wget.scm, gnu/packages/which.scm, gnu/packages/xnee.scm, gnu/packages/zile.scm: Change value of the 'description' field to that of the Womb.
8 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
gnu: Some cleanup based on lint checkers. * gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm, gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm, gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm, gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm, gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm, gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm, gnu/packages/libdaemon.scm, gnu/packages/libevent.scm, gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm, gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm, gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm, gnu/packages/pkg-config.scm, gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm, gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm, gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm, gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm, gnu/packages/valgrind.scm, gnu/packages/version-control.scm, gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm, gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm, gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust according to lint checkers. * gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri. * /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
7 years ago
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
  3. ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
  4. ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
  5. ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
  6. ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
  7. ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
  8. ;;;
  9. ;;; This file is part of GNU Guix.
  10. ;;;
  11. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  12. ;;; under the terms of the GNU General Public License as published by
  13. ;;; the Free Software Foundation; either version 3 of the License, or (at
  14. ;;; your option) any later version.
  15. ;;;
  16. ;;; GNU Guix is distributed in the hope that it will be useful, but
  17. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  18. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. ;;; GNU General Public License for more details.
  20. ;;;
  21. ;;; You should have received a copy of the GNU General Public License
  22. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  23. (define-module (gnu packages linux)
  24. #:use-module ((guix licenses)
  25. #:hide (zlib))
  26. #:use-module (gnu packages)
  27. #:use-module (gnu packages compression)
  28. #:use-module (gnu packages gcc)
  29. #:use-module (gnu packages flex)
  30. #:use-module (gnu packages bison)
  31. #:use-module (gnu packages admin)
  32. #:use-module (gnu packages gperf)
  33. #:use-module (gnu packages libusb)
  34. #:use-module (gnu packages ncurses)
  35. #:use-module (gnu packages pciutils)
  36. #:use-module (gnu packages databases)
  37. #:use-module (gnu packages perl)
  38. #:use-module (gnu packages pkg-config)
  39. #:use-module (gnu packages python)
  40. #:use-module (gnu packages slang)
  41. #:use-module (gnu packages algebra)
  42. #:use-module (gnu packages gettext)
  43. #:use-module (gnu packages glib)
  44. #:use-module (gnu packages pulseaudio)
  45. #:use-module (gnu packages attr)
  46. #:use-module (gnu packages xml)
  47. #:use-module (gnu packages autotools)
  48. #:use-module (gnu packages texinfo)
  49. #:use-module (gnu packages check)
  50. #:use-module (gnu packages maths)
  51. #:use-module (gnu packages base)
  52. #:use-module (gnu packages rrdtool)
  53. #:use-module (gnu packages elf)
  54. #:use-module (gnu packages gtk)
  55. #:use-module (gnu packages docbook)
  56. #:use-module (gnu packages asciidoc)
  57. #:use-module (gnu packages readline)
  58. #:use-module (gnu packages calendar)
  59. #:use-module (guix packages)
  60. #:use-module (guix download)
  61. #:use-module (guix utils)
  62. #:use-module (guix build-system gnu)
  63. #:use-module (guix build-system cmake)
  64. #:use-module (guix build-system python)
  65. #:use-module (guix build-system trivial)
  66. #:use-module (srfi srfi-26)
  67. #:use-module (ice-9 match))
  68. (define-public (system->linux-architecture arch)
  69. "Return the Linux architecture name for ARCH, a Guix system name such as
  70. \"x86_64-linux\"."
  71. (let ((arch (car (string-split arch #\-))))
  72. (cond ((string=? arch "i686") "i386")
  73. ((string-prefix? "mips" arch) "mips")
  74. ((string-prefix? "arm" arch) "arm")
  75. (else arch))))
  76. (define (linux-libre-urls version)
  77. "Return a list of URLs for Linux-Libre VERSION."
  78. (list (string-append
  79. "http://linux-libre.fsfla.org/pub/linux-libre/releases/"
  80. version "-gnu/linux-libre-" version "-gnu.tar.xz")
  81. ;; XXX: Work around <http://bugs.gnu.org/14851>.
  82. (string-append
  83. "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-"
  84. version "-gnu.tar.xz")
  85. ;; Maybe this URL will become valid eventually.
  86. (string-append
  87. "mirror://gnu/linux-libre/" version "-gnu/linux-libre-"
  88. version "-gnu.tar.xz")))
  89. (define-public linux-libre-headers
  90. (let* ((version "3.14.37")
  91. (build-phase
  92. (lambda (arch)
  93. `(lambda _
  94. (setenv "ARCH" ,(system->linux-architecture arch))
  95. (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
  96. (and (zero? (system* "make" "defconfig"))
  97. (zero? (system* "make" "mrproper" "headers_check"))))))
  98. (install-phase
  99. `(lambda* (#:key outputs #:allow-other-keys)
  100. (let ((out (assoc-ref outputs "out")))
  101. (and (zero? (system* "make"
  102. (string-append "INSTALL_HDR_PATH=" out)
  103. "headers_install"))
  104. (mkdir (string-append out "/include/config"))
  105. (call-with-output-file
  106. (string-append out
  107. "/include/config/kernel.release")
  108. (lambda (p)
  109. (format p "~a-default~%" ,version))))))))
  110. (package
  111. (name "linux-libre-headers")
  112. (version version)
  113. (source (origin
  114. (method url-fetch)
  115. (uri (linux-libre-urls version))
  116. (sha256
  117. (base32
  118. "1blxr2bsvfqi9khj4cpspv434bmx252zak2wsbi2mgl60zh77gza"))))
  119. (build-system gnu-build-system)
  120. (native-inputs `(("perl" ,perl)))
  121. (arguments
  122. `(#:modules ((guix build gnu-build-system)
  123. (guix build utils)
  124. (srfi srfi-1))
  125. #:phases (alist-replace
  126. 'build ,(build-phase (or (%current-target-system)
  127. (%current-system)))
  128. (alist-replace
  129. 'install ,install-phase
  130. (alist-delete 'configure %standard-phases)))
  131. #:tests? #f))
  132. (synopsis "GNU Linux-Libre kernel headers")
  133. (description "Headers of the Linux-Libre kernel.")
  134. (license gpl2)
  135. (home-page "http://www.gnu.org/software/linux-libre/"))))
  136. (define-public module-init-tools
  137. (package
  138. (name "module-init-tools")
  139. (version "3.16")
  140. (source (origin
  141. (method url-fetch)
  142. (uri (string-append
  143. "mirror://kernel.org/linux/utils/kernel/module-init-tools/module-init-tools-"
  144. version ".tar.bz2"))
  145. (sha256
  146. (base32
  147. "0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))
  148. (patches
  149. (list (search-patch "module-init-tools-moduledir.patch")))))
  150. (build-system gnu-build-system)
  151. (arguments
  152. ;; FIXME: The upstream tarball lacks man pages, and building them would
  153. ;; require DocBook & co. We used to use Gentoo's pre-built man pages,
  154. ;; but they vanished. In the meantime, fake it.
  155. '(#:phases (alist-cons-before
  156. 'configure 'fake-docbook
  157. (lambda _
  158. (substitute* "Makefile.in"
  159. (("^DOCBOOKTOMAN.*$")
  160. "DOCBOOKTOMAN = true\n")))
  161. %standard-phases)))
  162. (home-page "http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/")
  163. (synopsis "Tools for loading and managing Linux kernel modules")
  164. (description
  165. "Tools for loading and managing Linux kernel modules, such as `modprobe',
  166. `insmod', `lsmod', and more.")
  167. (license gpl2+)))
  168. (define %boot-logo-patch
  169. ;; Linux-Libre boot logo featuring Freedo and a gnu.
  170. (origin
  171. (method url-fetch)
  172. (uri (string-append "http://www.fsfla.org/svn/fsfla/software/linux-libre/"
  173. "lemote/gnewsense/branches/3.16/100gnu+freedo.patch"))
  174. (sha256
  175. (base32
  176. "1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06"))))
  177. (define (kernel-config system)
  178. "Return the absolute file name of the Linux-Libre build configuration file
  179. for SYSTEM, or #f if there is no configuration for SYSTEM."
  180. (define (lookup file)
  181. (let ((file (string-append "gnu/packages/" file)))
  182. (search-path %load-path file)))
  183. (match system
  184. ("i686-linux"
  185. (lookup "linux-libre-i686.conf"))
  186. ("x86_64-linux"
  187. (lookup "linux-libre-x86_64.conf"))
  188. (_
  189. #f)))
  190. (define-public linux-libre
  191. (let* ((version "4.0.4")
  192. (build-phase
  193. '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
  194. ;; Apply the neat patch.
  195. (system* "patch" "-p1" "--force"
  196. "-i" (assoc-ref inputs "patch/freedo+gnu"))
  197. (let ((arch (car (string-split system #\-))))
  198. (setenv "ARCH"
  199. (cond ((string=? arch "i686") "i386")
  200. (else arch)))
  201. (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
  202. (let ((build (assoc-ref %standard-phases 'build))
  203. (config (assoc-ref inputs "kconfig")))
  204. ;; Use the architecture-specific config if available, and
  205. ;; 'defconfig' otherwise.
  206. (if config
  207. (begin
  208. (copy-file config ".config")
  209. (chmod ".config" #o666))
  210. (system* "make" "defconfig"))
  211. ;; Appending works even when the option wasn't in the
  212. ;; file. The last one prevails if duplicated.
  213. (let ((port (open-file ".config" "a")))
  214. (display (string-append "CONFIG_NET_9P=m\n"
  215. "CONFIG_NET_9P_VIRTIO=m\n"
  216. "CONFIG_VIRTIO_BLK=m\n"
  217. "CONFIG_VIRTIO_NET=m\n"
  218. ;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
  219. "CONFIG_DEVPTS_MULTIPLE_INSTANCES=y\n"
  220. "CONFIG_VIRTIO_PCI=m\n"
  221. "CONFIG_VIRTIO_BALLOON=m\n"
  222. "CONFIG_VIRTIO_MMIO=m\n"
  223. "CONFIG_FUSE_FS=m\n"
  224. "CONFIG_CIFS=m\n"
  225. "CONFIG_9P_FS=m\n")
  226. port)
  227. (close-port port))
  228. (zero? (system* "make" "oldconfig"))
  229. ;; Call the default `build' phase so `-j' is correctly
  230. ;; passed.
  231. (apply build #:make-flags "all" args))))
  232. (install-phase
  233. `(lambda* (#:key inputs outputs #:allow-other-keys)
  234. (let* ((out (assoc-ref outputs "out"))
  235. (moddir (string-append out "/lib/modules"))
  236. (mit (assoc-ref inputs "module-init-tools")))
  237. (mkdir-p moddir)
  238. (for-each (lambda (file)
  239. (copy-file file
  240. (string-append out "/" (basename file))))
  241. (find-files "." "^(bzImage|System\\.map)$"))
  242. (copy-file ".config" (string-append out "/config"))
  243. (zero? (system* "make"
  244. (string-append "DEPMOD=" mit "/sbin/depmod")
  245. (string-append "MODULE_DIR=" moddir)
  246. (string-append "INSTALL_PATH=" out)
  247. (string-append "INSTALL_MOD_PATH=" out)
  248. "INSTALL_MOD_STRIP=1"
  249. "modules_install"))))))
  250. (package
  251. (name "linux-libre")
  252. (version version)
  253. (source (origin
  254. (method url-fetch)
  255. (uri (linux-libre-urls version))
  256. (sha256
  257. (base32
  258. "1czjhyczzaz1dvhy9lrlxlk6gf45wcw3rnpcmh697dxgf37clmzp"))))
  259. (build-system gnu-build-system)
  260. (native-inputs `(("perl" ,perl)
  261. ("bc" ,bc)
  262. ("module-init-tools" ,module-init-tools)
  263. ("patch/freedo+gnu" ,%boot-logo-patch)
  264. ,@(let ((conf (kernel-config (or (%current-target-system)
  265. (%current-system)))))
  266. (if conf
  267. `(("kconfig" ,conf))
  268. '()))))
  269. ;; XXX: Work around an ICE with our patched GCC 4.8.3 while compiling
  270. ;; 'drivers/staging/vt6656/michael.o': <http://hydra.gnu.org/build/96389/>.
  271. (inputs `(("gcc" ,gcc-4.9)))
  272. (arguments
  273. `(#:modules ((guix build gnu-build-system)
  274. (guix build utils)
  275. (srfi srfi-1)
  276. (ice-9 match))
  277. #:phases (alist-replace
  278. 'build ,build-phase
  279. (alist-replace
  280. 'install ,install-phase
  281. (alist-delete 'configure %standard-phases)))
  282. #:tests? #f))
  283. (synopsis "100% free redistribution of a cleaned Linux kernel")
  284. (description
  285. "GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.
  286. It has been modified to remove all non-free binary blobs.")
  287. (license gpl2)
  288. (home-page "http://www.gnu.org/software/linux-libre/"))))
  289. ;;;
  290. ;;; Pluggable authentication modules (PAM).
  291. ;;;
  292. (define-public linux-pam
  293. (package
  294. (name "linux-pam")
  295. (version "1.1.6")
  296. (source
  297. (origin
  298. (method url-fetch)
  299. (uri (list (string-append "http://www.linux-pam.org/library/Linux-PAM-"
  300. version ".tar.bz2")
  301. (string-append "mirror://kernel.org/linux/libs/pam/library/Linux-PAM-"
  302. version ".tar.bz2")))
  303. (sha256
  304. (base32
  305. "1hlz2kqvbjisvwyicdincq7nz897b9rrafyzccwzqiqg53b8gf5s"))))
  306. (build-system gnu-build-system)
  307. (native-inputs
  308. `(("flex" ,flex)
  309. ;; TODO: optional dependencies
  310. ;; ("libxcrypt" ,libxcrypt)
  311. ;; ("cracklib" ,cracklib)
  312. ))
  313. (arguments
  314. '(;; Most users, such as `shadow', expect the headers to be under
  315. ;; `security'.
  316. #:configure-flags (list (string-append "--includedir="
  317. (assoc-ref %outputs "out")
  318. "/include/security"))
  319. ;; XXX: Tests won't run in chroot, presumably because /etc/pam.d
  320. ;; isn't available.
  321. #:tests? #f))
  322. (home-page "http://www.linux-pam.org/")
  323. (synopsis "Pluggable authentication modules for Linux")
  324. (description
  325. "A *Free* project to implement OSF's RFC 86.0.
  326. Pluggable authentication modules are small shared object files that can
  327. be used through the PAM API to perform tasks, like authenticating a user
  328. at login. Local and dynamic reconfiguration are its key features")
  329. (license bsd-3)))
  330. ;;;
  331. ;;; Miscellaneous.
  332. ;;;
  333. (define-public psmisc
  334. (package
  335. (name "psmisc")
  336. (version "22.20")
  337. (source
  338. (origin
  339. (method url-fetch)
  340. (uri (string-append "mirror://sourceforge/psmisc/psmisc/psmisc-"
  341. version ".tar.gz"))
  342. (sha256
  343. (base32
  344. "052mfraykmxnavpi8s78aljx8w87hyvpx8mvzsgpjsjz73i28wmi"))))
  345. (build-system gnu-build-system)
  346. (inputs `(("ncurses" ,ncurses)))
  347. (home-page "http://psmisc.sourceforge.net/")
  348. (synopsis
  349. "Small utilities that use the proc filesystem")
  350. (description
  351. "This PSmisc package is a set of some small useful utilities that
  352. use the proc filesystem. We're not about changing the world, but
  353. providing the system administrator with some help in common tasks.")
  354. (license gpl2+)))
  355. (define-public util-linux
  356. (package
  357. (name "util-linux")
  358. (version "2.25.2")
  359. (source (origin
  360. (method url-fetch)
  361. (uri (string-append "mirror://kernel.org/linux/utils/"
  362. name "/v" (version-major+minor version) "/"
  363. name "-" version ".tar.xz"))
  364. (sha256
  365. (base32
  366. "1miwwdq1zwvhf0smrxx3fjddq3mz22s8rc5cw54s7x3kbdqpyig0"))
  367. (patches (list (search-patch "util-linux-tests.patch")))
  368. (modules '((guix build utils)))
  369. (snippet
  370. ;; We take the 'logger' program from GNU Inetutils and 'kill'
  371. ;; from GNU Coreutils.
  372. '(substitute* "configure"
  373. (("build_logger=yes") "build_logger=no")
  374. (("build_kill=yes") "build_kill=no")))))
  375. (build-system gnu-build-system)
  376. (arguments
  377. `(#:configure-flags (list "--disable-use-tty-group"
  378. "--enable-ddate"
  379. ;; Install completions where our
  380. ;; bash-completion package expects them.
  381. (string-append "--with-bashcompletiondir="
  382. (assoc-ref %outputs "out")
  383. "/etc/bash_completion.d"))
  384. #:phases (alist-cons-before
  385. 'check 'pre-check
  386. (lambda* (#:key inputs outputs #:allow-other-keys)
  387. (let ((out (assoc-ref outputs "out"))
  388. (net (assoc-ref inputs "net-base")))
  389. ;; Change the test to refer to the right file.
  390. (substitute* "tests/ts/misc/mcookie"
  391. (("/etc/services")
  392. (string-append net "/etc/services")))
  393. #t))
  394. %standard-phases)))
  395. (inputs `(("zlib" ,zlib)
  396. ("ncurses" ,ncurses)))
  397. (native-inputs
  398. `(("perl" ,perl)
  399. ("net-base" ,net-base))) ;for tests
  400. (home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
  401. (synopsis "Collection of utilities for the Linux kernel")
  402. (description
  403. "Util-linux is a random collection of utilities for the Linux kernel.")
  404. ;; Note that util-linux doesn't use the same license for all the
  405. ;; code. GPLv2+ is the default license for a code without an
  406. ;; explicitly defined license.
  407. (license (list gpl3+ gpl2+ gpl2 lgpl2.0+
  408. bsd-4 public-domain))))
  409. (define-public procps
  410. (package
  411. (name "procps")
  412. (version "3.2.8")
  413. (source (origin
  414. (method url-fetch)
  415. ;; A mirror://sourceforge URI doesn't work, presumably becuase
  416. ;; the SourceForge project is misconfigured.
  417. (uri (string-append "http://procps.sourceforge.net/procps-"
  418. version ".tar.gz"))
  419. (sha256
  420. (base32
  421. "0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i"))
  422. (patches (list (search-patch "procps-make-3.82.patch")))))
  423. (build-system gnu-build-system)
  424. (inputs `(("ncurses" ,ncurses)))
  425. (arguments
  426. '(#:modules ((guix build utils)
  427. (guix build gnu-build-system)
  428. (srfi srfi-1)
  429. (srfi srfi-26))
  430. #:phases (alist-replace
  431. 'configure
  432. (lambda* (#:key outputs #:allow-other-keys)
  433. ;; No `configure', just a single Makefile.
  434. (let ((out (assoc-ref outputs "out")))
  435. (substitute* "Makefile"
  436. (("/usr/") "/")
  437. (("--(owner|group) 0") "")
  438. (("ldconfig") "true")
  439. (("^LDFLAGS[[:blank:]]*:=(.*)$" _ value)
  440. ;; Add libproc to the RPATH.
  441. (string-append "LDFLAGS := -Wl,-rpath="
  442. out "/lib" value))))
  443. (setenv "CC" "gcc"))
  444. (alist-replace
  445. 'install
  446. (lambda* (#:key outputs #:allow-other-keys)
  447. (let ((out (assoc-ref outputs "out")))
  448. (and (zero?
  449. (system* "make" "install"
  450. (string-append "DESTDIR=" out)))
  451. ;; Remove commands and man pages redundant with
  452. ;; Coreutils.
  453. (let ((dup (append-map (cut find-files out <>)
  454. '("^kill" "^uptime"))))
  455. (for-each delete-file dup)
  456. #t)
  457. ;; Sanity check.
  458. (zero?
  459. (system* (string-append out "/bin/ps")
  460. "--version")))))
  461. %standard-phases))
  462. ;; What did you expect? Tests?
  463. #:tests? #f))
  464. (home-page "http://procps.sourceforge.net/")
  465. (synopsis "Utilities that give information about processes")
  466. (description
  467. "Procps is the package that has a bunch of small useful utilities
  468. that give information about processes using the Linux /proc file system.
  469. The package includes the programs ps, top, vmstat, w, kill, free,
  470. slabtop, and skill.")
  471. (license gpl2)))
  472. (define-public usbutils
  473. (package
  474. (name "usbutils")
  475. (version "006")
  476. (source
  477. (origin
  478. (method url-fetch)
  479. (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/"
  480. "usbutils-" version ".tar.xz"))
  481. (sha256
  482. (base32
  483. "03pd57vv8c6x0hgjqcbrxnzi14h8hcghmapg89p8k5zpwpkvbdfr"))))
  484. (build-system gnu-build-system)
  485. (inputs
  486. `(("libusb" ,libusb)))
  487. (native-inputs
  488. `(("pkg-config" ,pkg-config)))
  489. (home-page "http://www.linux-usb.org/")
  490. (synopsis
  491. "Tools for working with USB devices, such as lsusb")
  492. (description
  493. "Tools for working with USB devices, such as lsusb.")
  494. (license gpl2+)))
  495. (define-public e2fsprogs
  496. (package
  497. (name "e2fsprogs")
  498. (version "1.42.12")
  499. (source (origin
  500. (method url-fetch)
  501. (uri (string-append "mirror://sourceforge/e2fsprogs/e2fsprogs-"
  502. version ".tar.gz"))
  503. (sha256
  504. (base32
  505. "0v0qcfyls0dlrjy8gx9m3s2wbkp5z3lbsr5hb7x8kp8f3bclcy71"))
  506. (modules '((guix build utils)))
  507. (snippet
  508. '(substitute* "MCONFIG.in"
  509. (("INSTALL_SYMLINK = /bin/sh")
  510. "INSTALL_SYMLINK = sh")))))
  511. (build-system gnu-build-system)
  512. (inputs `(("util-linux" ,util-linux)))
  513. (native-inputs `(("pkg-config" ,pkg-config)
  514. ("texinfo" ,texinfo))) ;for the libext2fs Info manual
  515. (arguments
  516. '(;; util-linux is not the preferred source for some of the libraries and
  517. ;; commands, so disable them (see, e.g.,
  518. ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b336339909c90559b7db40b455f172>.)
  519. #:configure-flags '("--disable-libblkid"
  520. "--disable-libuuid" "--disable-uuidd"
  521. "--disable-fsck"
  522. ;; Install libext2fs et al.
  523. "--enable-elf-shlibs")
  524. #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
  525. (assoc-ref %outputs "out")
  526. "/lib"))
  527. #:phases (alist-cons-before
  528. 'configure 'patch-shells
  529. (lambda _
  530. (substitute* "configure"
  531. (("/bin/sh (.*)parse-types.sh" _ dir)
  532. (string-append (which "sh") " " dir
  533. "parse-types.sh")))
  534. (substitute* (find-files "." "^Makefile.in$")
  535. (("#!/bin/sh")
  536. (string-append "#!" (which "sh")))))
  537. (alist-cons-after
  538. 'install 'install-libs
  539. (lambda* (#:key outputs #:allow-other-keys)
  540. (let* ((out (assoc-ref outputs "out"))
  541. (lib (string-append out "/lib")))
  542. (and (zero? (system* "make" "install-libs"))
  543. ;; Make the .a writable so that 'strip' works.
  544. ;; Failing to do that, due to debug symbols, we
  545. ;; retain a reference to the final
  546. ;; linux-libre-headers, which refer to the
  547. ;; bootstrap binaries.
  548. (let ((archives (find-files lib "\\.a$")))
  549. (for-each (lambda (file)
  550. (chmod file #o666))
  551. archives)
  552. #t))))
  553. %standard-phases))
  554. ;; FIXME: Tests work by comparing the stdout/stderr of programs, that
  555. ;; they fail because we get an extra line that says "Can't check if
  556. ;; filesystem is mounted due to missing mtab file".
  557. #:tests? #f))
  558. (home-page "http://e2fsprogs.sourceforge.net/")
  559. (synopsis "Creating and checking ext2/ext3/ext4 file systems")
  560. (description
  561. "This package provides tools for manipulating ext2/ext3/ext4 file systems.")
  562. (license (list gpl2 ; programs
  563. lgpl2.0 ; libext2fs
  564. x11)))) ; libuuid
  565. (define e2fsprogs/static
  566. (static-package
  567. (package (inherit e2fsprogs)
  568. (arguments
  569. ;; Do not build shared libraries.
  570. (substitute-keyword-arguments (package-arguments e2fsprogs)
  571. ((#:configure-flags _)
  572. '(list "--disable-blkid"))
  573. ((#:make-flags _)
  574. '(list)))))))
  575. (define-public e2fsck/static
  576. (package
  577. (name "e2fsck-static")
  578. (version (package-version e2fsprogs))
  579. (build-system trivial-build-system)
  580. (source #f)
  581. (arguments
  582. `(#:modules ((guix build utils))
  583. #:builder
  584. (begin
  585. (use-modules (guix build utils)
  586. (ice-9 ftw)
  587. (srfi srfi-26))
  588. (let ((source (string-append (assoc-ref %build-inputs "e2fsprogs")
  589. "/sbin"))
  590. (bin (string-append (assoc-ref %outputs "out") "/sbin")))
  591. (mkdir-p bin)
  592. (with-directory-excursion bin
  593. (for-each (lambda (file)
  594. (copy-file (string-append source "/" file)
  595. file)
  596. (remove-store-references file)
  597. (chmod file #o555))
  598. (scandir source (cut string-prefix? "fsck." <>))))))))
  599. (inputs `(("e2fsprogs" ,e2fsprogs/static)))
  600. (synopsis "Statically-linked fsck.* commands from e2fsprogs")
  601. (description
  602. "This package provides statically-linked command of fsck.ext[234] taken
  603. from the e2fsprogs package. It is meant to be used in initrds.")
  604. (home-page (package-home-page e2fsprogs))
  605. (license (package-license e2fsprogs))))
  606. (define-public zerofree
  607. (package
  608. (name "zerofree")
  609. (version "1.0.3")
  610. (home-page "http://intgat.tigress.co.uk/rmy/uml/")
  611. (source (origin
  612. (method url-fetch)
  613. (uri (string-append home-page name "-" version
  614. ".tgz"))
  615. (sha256
  616. (base32
  617. "1xncw3dn2cp922ly42m96p6fh7jv8ysg6bwqbk5xvw701f3dmkrs"))))
  618. (build-system gnu-build-system)
  619. (arguments
  620. '(#:phases (alist-replace
  621. 'install
  622. (lambda* (#:key outputs #:allow-other-keys)
  623. (let* ((out (assoc-ref outputs "out"))
  624. (bin (string-append out "/bin")))
  625. (mkdir-p bin)
  626. (copy-file "zerofree"
  627. (string-append bin "/zerofree"))
  628. (chmod (string-append bin "/zerofree")
  629. #o555)
  630. #t))
  631. (alist-delete 'configure %standard-phases))
  632. #:tests? #f)) ;no tests
  633. (inputs `(("libext2fs" ,e2fsprogs)))
  634. (synopsis "Zero non-allocated regions in ext2/ext3/ext4 file systems")
  635. (description
  636. "The zerofree command scans the free blocks in an ext2 file system and
  637. fills any non-zero blocks with zeroes. This is a useful way to make disk
  638. images more compressible.")
  639. (license gpl2)))
  640. (define-public strace
  641. (package
  642. (name "strace")
  643. (version "4.7")
  644. (source (origin
  645. (method url-fetch)
  646. (uri (string-append "mirror://sourceforge/strace/strace-"
  647. version ".tar.xz"))
  648. (sha256
  649. (base32
  650. "158iwk0pl2mfw93m1843xb7a2zb8p6lh0qim07rca6f1ff4dk764"))))
  651. (build-system gnu-build-system)
  652. (native-inputs `(("perl" ,perl)))
  653. (home-page "http://strace.sourceforge.net/")
  654. (synopsis "System call tracer for Linux")
  655. (description
  656. "strace is a system call tracer, i.e. a debugging tool which prints out a
  657. trace of all the system calls made by a another process/program.")
  658. (license bsd-3)))
  659. (define-public ltrace
  660. (package
  661. (name "ltrace")
  662. (version "0.7.3")
  663. (source (origin
  664. (method url-fetch)
  665. (uri (string-append "http://www.ltrace.org/ltrace_" version
  666. ".orig.tar.bz2"))
  667. (sha256
  668. (base32
  669. "00wmbdghqbz6x95m1mcdd3wd46l6hgcr4wggdp049dbifh3qqvqf"))))
  670. (build-system gnu-build-system)
  671. (inputs `(("libelf" ,libelf)))
  672. (arguments
  673. ;; Compilation uses -Werror by default, but it fails.
  674. '(#:configure-flags '("--disable-werror")))
  675. (home-page "http://www.ltrace.org/")
  676. (synopsis "Library call tracer for Linux")
  677. (description
  678. "ltrace intercepts and records dynamic library calls which are called by
  679. an executed process and the signals received by that process. It can also
  680. intercept and print the system calls executed by the program.")
  681. (license gpl2+)))
  682. (define-public alsa-lib
  683. (package
  684. (name "alsa-lib")
  685. (version "1.0.27.1")
  686. (source (origin
  687. (method url-fetch)
  688. (uri (string-append
  689. "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-"
  690. version ".tar.bz2"))
  691. (sha256
  692. (base32
  693. "0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9"))
  694. (patches (list (search-patch "alsa-lib-mips-atomic-fix.patch")))))
  695. (build-system gnu-build-system)
  696. (home-page "http://www.alsa-project.org/")
  697. (synopsis "The Advanced Linux Sound Architecture libraries")
  698. (description
  699. "The Advanced Linux Sound Architecture (ALSA) provides audio and
  700. MIDI functionality to the Linux-based operating system.")
  701. (license lgpl2.1+)))
  702. (define-public alsa-utils
  703. (package
  704. (name "alsa-utils")
  705. (version "1.0.27.2")
  706. (source (origin
  707. (method url-fetch)
  708. (uri (string-append "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-"
  709. version ".tar.bz2"))
  710. (sha256
  711. (base32
  712. "1sjjngnq50jv5ilwsb4zys6smifni3bd6fn28gbnhfrg14wsrgq2"))))
  713. (build-system gnu-build-system)
  714. (arguments
  715. ;; XXX: Disable man page creation until we have DocBook.
  716. '(#:configure-flags (list "--disable-xmlto"
  717. ;; The udev rule is responsible for restoring
  718. ;; the volume.
  719. (string-append "--with-udev-rules-dir="
  720. (assoc-ref %outputs "out")
  721. "/lib/udev/rules.d"))
  722. #:phases (alist-cons-before
  723. 'install 'pre-install
  724. (lambda _
  725. ;; Don't try to mkdir /var/lib/alsa.
  726. (substitute* "Makefile"
  727. (("\\$\\(MKDIR_P\\) .*ASOUND_STATE_DIR.*")
  728. "true\n")))
  729. %standard-phases)))
  730. (inputs
  731. `(("libsamplerate" ,libsamplerate)
  732. ("ncurses" ,ncurses)
  733. ("alsa-lib" ,alsa-lib)
  734. ("xmlto" ,xmlto)
  735. ("gettext" ,gnu-gettext)))
  736. (home-page "http://www.alsa-project.org/")
  737. (synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)")
  738. (description
  739. "The Advanced Linux Sound Architecture (ALSA) provides audio and
  740. MIDI functionality to the Linux-based operating system.")
  741. ;; This is mostly GPLv2+ but a few files such as 'alsactl.c' are
  742. ;; GPLv2-only.
  743. (license gpl2)))
  744. (define-public iptables
  745. (package
  746. (name "iptables")
  747. (version "1.4.16.2")
  748. (source (origin
  749. (method url-fetch)
  750. (uri (string-append
  751. "http://www.netfilter.org/projects/iptables/files/iptables-"
  752. version ".tar.bz2"))
  753. (sha256
  754. (base32
  755. "0vkg5lzkn4l3i1sm6v3x96zzvnv9g7mi0qgj6279ld383mzcws24"))))
  756. (build-system gnu-build-system)
  757. (arguments
  758. '(#:tests? #f ; no test suite
  759. #:configure-flags ; add $libdir to the RUNPATH of executables
  760. (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
  761. (home-page "http://www.netfilter.org/projects/iptables/index.html")
  762. (synopsis "Program to configure the Linux IP packet filtering rules")
  763. (description
  764. "iptables is the userspace command line program used to configure the
  765. Linux 2.4.x and later IPv4 packet filtering ruleset. It is targeted towards
  766. system administrators. Since Network Address Translation is also configured
  767. from the packet filter ruleset, iptables is used for this, too. The iptables
  768. package also includes ip6tables. ip6tables is used for configuring the IPv6
  769. packet filter.")
  770. (license gpl2+)))
  771. (define-public iproute
  772. (package
  773. (name "iproute2")
  774. (version "3.12.0")
  775. (source (origin
  776. (method url-fetch)
  777. (uri (string-append
  778. "mirror://kernel.org/linux/utils/net/iproute2/iproute2-"
  779. version ".tar.xz"))
  780. (sha256
  781. (base32
  782. "04gi11gh087bg2nlxhj0lxrk8l9qxkpr88nsiil23917bm3h1xj4"))))
  783. (build-system gnu-build-system)
  784. (arguments
  785. `(#:tests? #f ; no test suite
  786. #:make-flags (let ((out (assoc-ref %outputs "out")))
  787. (list "DESTDIR="
  788. (string-append "LIBDIR=" out "/lib")
  789. (string-append "SBINDIR=" out "/sbin")
  790. (string-append "CONFDIR=" out "/etc")
  791. (string-append "DOCDIR=" out "/share/doc/"
  792. ,name "-" ,version)
  793. (string-append "MANDIR=" out "/share/man")))
  794. #:phases (alist-cons-before
  795. 'install 'pre-install
  796. (lambda _
  797. ;; Don't attempt to create /var/lib/arpd.
  798. (substitute* "Makefile"
  799. (("^.*ARPDDIR.*$") "")))
  800. %standard-phases)))
  801. (inputs
  802. `(("iptables" ,iptables)
  803. ("db4" ,bdb)))
  804. (native-inputs
  805. `(("pkg-config" ,pkg-config)
  806. ("flex" ,flex)
  807. ("bison" ,bison)))
  808. (home-page
  809. "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2")
  810. (synopsis
  811. "Utilities for controlling TCP/IP networking and traffic in Linux")
  812. (description
  813. "Iproute2 is a collection of utilities for controlling TCP/IP
  814. networking and traffic with the Linux kernel.
  815. Most network configuration manuals still refer to ifconfig and route as the
  816. primary network configuration tools, but ifconfig is known to behave
  817. inadequately in modern network environments. They should be deprecated, but
  818. most distros still include them. Most network configuration systems make use
  819. of ifconfig and thus provide a limited feature set. The /etc/net project aims
  820. to support most modern network technologies, as it doesn't use ifconfig and
  821. allows a system administrator to make use of all iproute2 features, including
  822. traffic control.
  823. iproute2 is usually shipped in a package called iproute or iproute2 and
  824. consists of several tools, of which the most important are ip and tc. ip
  825. controls IPv4 and IPv6 configuration and tc stands for traffic control. Both
  826. tools print detailed usage messages and are accompanied by a set of
  827. manpages.")
  828. (license gpl2+)))
  829. (define-public net-tools
  830. ;; XXX: This package is basically unmaintained, but it provides a few
  831. ;; commands not yet provided by Inetutils, such as 'route', so we have to
  832. ;; live with it.
  833. (package
  834. (name "net-tools")
  835. (version "1.60")
  836. (home-page "http://www.tazenda.demon.co.uk/phil/net-tools/")
  837. (source (origin
  838. (method url-fetch)
  839. (uri (string-append home-page "/" name "-"
  840. version ".tar.bz2"))
  841. (sha256
  842. (base32
  843. "0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s"))
  844. (patches
  845. (list (search-patch "net-tools-bitrot.patch")))))
  846. (build-system gnu-build-system)
  847. (arguments
  848. '(#:modules ((guix build gnu-build-system)
  849. (guix build utils)
  850. (srfi srfi-1)
  851. (srfi srfi-26))
  852. #:phases (alist-cons-after
  853. 'unpack 'patch
  854. (lambda* (#:key inputs #:allow-other-keys)
  855. (define (apply-patch file)
  856. (zero? (system* "patch" "-p1" "--force"
  857. "--input" file)))
  858. (let ((patch.gz (assoc-ref inputs "patch")))
  859. (format #t "applying Debian patch set '~a'...~%"
  860. patch.gz)
  861. (system (string-append "gunzip < " patch.gz " > the-patch"))
  862. (and (apply-patch "the-patch")
  863. (for-each apply-patch
  864. (find-files "debian/patches"
  865. "\\.patch")))))
  866. (alist-replace
  867. 'configure
  868. (lambda* (#:key outputs #:allow-other-keys)
  869. (let ((out (assoc-ref outputs "out")))
  870. (mkdir-p (string-append out "/bin"))
  871. (mkdir-p (string-append out "/sbin"))
  872. ;; Pretend we have everything...
  873. (system "yes | make config")
  874. ;; ... except for the things we don't have.
  875. ;; HAVE_AFDECnet requires libdnet, which we don't have.
  876. ;; HAVE_HWSTRIP and HAVE_HWTR require kernel headers
  877. ;; that have been removed.
  878. (substitute* '("config.make" "config.h")
  879. (("^.*HAVE_(AFDECnet|HWSTRIP|HWTR)[ =]1.*$") ""))))
  880. (alist-cons-after
  881. 'install 'remove-redundant-commands
  882. (lambda* (#:key outputs #:allow-other-keys)
  883. ;; Remove commands and man pages redundant with
  884. ;; Inetutils.
  885. (let* ((out (assoc-ref outputs "out"))
  886. (dup (append-map (cut find-files out <>)
  887. '("^hostname"
  888. "^(yp|nis|dns)?domainname"))))
  889. (for-each delete-file dup)
  890. #t))
  891. %standard-phases)))
  892. ;; Binaries that depend on libnet-tools.a don't declare that
  893. ;; dependency, making it parallel-unsafe.
  894. #:parallel-build? #f
  895. #:tests? #f ; no test suite
  896. #:make-flags (let ((out (assoc-ref %outputs "out")))
  897. (list "CC=gcc"
  898. (string-append "BASEDIR=" out)
  899. (string-append "INSTALLNLSDIR=" out "/share/locale")
  900. (string-append "mandir=/share/man")))))
  901. ;; Use the big Debian patch set (the thing does not even compile out of
  902. ;; the box.)
  903. (inputs `(("patch" ,(origin
  904. (method url-fetch)
  905. (uri
  906. "http://ftp.de.debian.org/debian/pool/main/n/net-tools/net-tools_1.60-24.2.diff.gz")
  907. (sha256
  908. (base32
  909. "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p"))))))
  910. (native-inputs `(("gettext" ,gnu-gettext)))
  911. (synopsis "Tools for controlling the network subsystem in Linux")
  912. (description
  913. "This package includes the important tools for controlling the network
  914. subsystem of the Linux kernel. This includes arp, hostname, ifconfig,
  915. netstat, rarp and route. Additionally, this package contains utilities
  916. relating to particular network hardware types (plipconfig, slattach) and
  917. advanced aspects of IP configuration (iptunnel, ipmaddr).")
  918. (license gpl2+)))
  919. (define-public libcap
  920. (package
  921. (name "libcap")
  922. (version "2.22")
  923. (source (origin
  924. (method url-fetch)
  925. ;; Tarballs used to be available from
  926. ;; <https://www.kernel.org/pub/linux/libs/security/linux-privs/>
  927. ;; but they never came back after kernel.org was compromised.
  928. (uri (string-append
  929. "mirror://debian/pool/main/libc/libcap2/libcap2_"
  930. version ".orig.tar.gz"))
  931. (sha256
  932. (base32
  933. "07vjhkznm82p8dm4w6j8mmg7h5c70lp5s9bwwfdmgwpbixfydjp1"))))
  934. (build-system gnu-build-system)
  935. (arguments '(#:phases
  936. (modify-phases %standard-phases
  937. (replace 'configure
  938. ;; Add $libdir to the RUNPATH of executables.
  939. (lambda _
  940. (substitute* "Make.Rules"
  941. (("LDFLAGS := #-g")
  942. (string-append "LDFLAGS := -Wl,-rpath="
  943. %output "/lib"))))))
  944. #:tests? #f ; no 'check' target
  945. #:make-flags (list "lib=lib"
  946. (string-append "prefix="
  947. (assoc-ref %outputs "out"))
  948. "RAISE_SETFCAP=no")))
  949. (native-inputs `(("perl" ,perl)))
  950. (inputs `(("attr" ,attr)))
  951. (home-page "https://sites.google.com/site/fullycapable/")
  952. (synopsis "Library for working with POSIX capabilities")
  953. (description
  954. "Libcap2 provides a programming interface to POSIX capabilities on
  955. Linux-based operating systems.")
  956. ;; License is BSD-3 or GPLv2, at the user's choice.
  957. (license gpl2)))
  958. (define-public bridge-utils
  959. (package
  960. (name "bridge-utils")
  961. (version "1.5")
  962. (source (origin
  963. (method url-fetch)
  964. (uri (string-append "mirror://sourceforge/bridge/bridge-utils-"
  965. version ".tar.gz"))
  966. (sha256
  967. (base32
  968. "12367cwqmi0yqphi6j8rkx97q8hw52yq2fx4k0xfclkcizxybya2"))))
  969. (build-system gnu-build-system)
  970. ;; The tarball lacks all the generated files.
  971. (native-inputs `(("autoconf" ,autoconf)
  972. ("automake" ,automake)))
  973. (arguments
  974. '(#:phases (alist-cons-after
  975. 'unpack 'bootstrap
  976. (lambda _
  977. ;; Fix "field ‘ip6’ has incomplete type" errors.
  978. (substitute* "libbridge/libbridge.h"
  979. (("#include <linux/if_bridge.h>")
  980. "#include <linux/in6.h>\n#include <linux/if_bridge.h>"))
  981. ;; Ensure that the entire build fails if one of the
  982. ;; sub-Makefiles fails.
  983. (substitute* "Makefile.in"
  984. (("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;")
  985. "$(MAKE) $(MFLAGS) -C $$x || exit 1;"))
  986. (zero? (system* "autoreconf" "-vf")))
  987. %standard-phases)
  988. #:tests? #f)) ; no 'check' target
  989. (home-page
  990. "http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge")
  991. (synopsis "Manipulate Ethernet bridges")
  992. (description
  993. "Utilities for Linux's Ethernet bridging facilities. A bridge is a way
  994. to connect two Ethernet segments together in a protocol independent way.
  995. Packets are forwarded based on Ethernet address, rather than IP address (like
  996. a router). Since forwarding is done at Layer 2, all protocols can go
  997. transparently through a bridge.")
  998. (license gpl2+)))
  999. (define-public libnl
  1000. (package
  1001. (name "libnl")
  1002. (version "3.2.25")
  1003. (source (origin
  1004. (method url-fetch)
  1005. (uri (string-append
  1006. "http://www.infradead.org/~tgr/libnl/files/libnl-"
  1007. version ".tar.gz"))
  1008. (sha256
  1009. (base32
  1010. "1icfrv8yihcb74as1gcgmp0wfpdq632q2zvbvqqvjms9cy87bswb"))))
  1011. (build-system gnu-build-system)
  1012. (native-inputs `(("flex" ,flex) ("bison" ,bison)))
  1013. (home-page "http://www.infradead.org/~tgr/libnl/")
  1014. (synopsis "NetLink protocol library suite")
  1015. (description
  1016. "The libnl suite is a collection of libraries providing APIs to netlink
  1017. protocol based Linux kernel interfaces. Netlink is an IPC mechanism primarly
  1018. between the kernel and user space processes. It was designed to be a more
  1019. flexible successor to ioctl to provide mainly networking related kernel
  1020. configuration and monitoring interfaces.")
  1021. ;; Most files are LGPLv2.1-only, but some are GPLv2-only (like
  1022. ;; 'nl-addr-add.c'), so the result is GPLv2-only.
  1023. (license gpl2)))
  1024. (define-public iw
  1025. (package
  1026. (name "iw")
  1027. (version "3.17")
  1028. (source (origin
  1029. (method url-fetch)
  1030. (uri (string-append
  1031. "https://www.kernel.org/pub/software/network/iw/iw-"
  1032. version ".tar.xz"))
  1033. (sha256
  1034. (base32
  1035. "14zsapqhivk0ws5z21y1ys2c2czi05mzk7bl2yb7qxcfrnsjx9j8"))))
  1036. (build-system gnu-build-system)
  1037. (native-inputs `(("pkg-config" ,pkg-config)))
  1038. (inputs `(("libnl" ,libnl)))
  1039. (arguments
  1040. `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
  1041. "CC=gcc")
  1042. #:phases (alist-delete 'configure %standard-phases)))
  1043. (home-page "http://wireless.kernel.org/en/users/Documentation/iw")
  1044. (synopsis "Tool for configuring wireless devices")
  1045. (description
  1046. "iw is a new nl80211 based CLI configuration utility for wireless
  1047. devices. It replaces 'iwconfig', which is deprecated.")
  1048. (license isc)))
  1049. (define-public powertop
  1050. (package
  1051. (name "powertop")
  1052. (version "2.5")
  1053. (source
  1054. (origin
  1055. (method url-fetch)
  1056. (uri (string-append
  1057. "https://01.org/powertop/sites/default/files/downloads/powertop-"
  1058. version ".tar.gz"))
  1059. (sha256
  1060. (base32
  1061. "02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b"))))
  1062. (build-system gnu-build-system)
  1063. (inputs
  1064. ;; TODO: Add pciutils.
  1065. `(("zlib" ,zlib)
  1066. ;; ("pciutils" ,pciutils)
  1067. ("ncurses" ,ncurses)
  1068. ("libnl" ,libnl)))
  1069. (native-inputs
  1070. `(("pkg-config" ,pkg-config)))
  1071. (home-page "https://01.org/powertop/")
  1072. (synopsis "Analyze power consumption on Intel-based laptops")
  1073. (description
  1074. "PowerTOP is a Linux tool to diagnose issues with power consumption and
  1075. power management. In addition to being a diagnostic tool, PowerTOP also has
  1076. an interactive mode where the user can experiment various power management
  1077. settings for cases where the operating system has not enabled these
  1078. settings.")
  1079. (license gpl2)))
  1080. (define-public aumix
  1081. (package
  1082. (name "aumix")
  1083. (version "2.9.1")
  1084. (source (origin
  1085. (method url-fetch)
  1086. (uri (string-append
  1087. "http://www.jpj.net/~trevor/aumix/releases/aumix-"
  1088. version ".tar.bz2"))
  1089. (sha256
  1090. (base32
  1091. "0a8fwyxnc5qdxff8sl2sfsbnvgh6pkij4yafiln0fxgg6bal7knj"))))
  1092. (build-system gnu-build-system)
  1093. (inputs `(("ncurses" ,ncurses)))
  1094. (home-page "http://www.jpj.net/~trevor/aumix.html")
  1095. (synopsis "Audio mixer for X and the console")
  1096. (description
  1097. "Aumix adjusts an audio mixer from X, the console, a terminal,
  1098. the command line or a script.")
  1099. (license gpl2+)))
  1100. (define-public iotop
  1101. (package
  1102. (name "iotop")
  1103. (version "0.6")
  1104. (source
  1105. (origin
  1106. (method url-fetch)
  1107. (uri (string-append "http://guichaz.free.fr/iotop/files/iotop-"
  1108. version ".tar.gz"))
  1109. (sha256 (base32
  1110. "1kp8mqg2pbxq4xzpianypadfxcsyfgwcaqgqia6h9fsq6zyh4z0s"))))
  1111. (build-system python-build-system)
  1112. (arguments
  1113. ;; The setup.py script expects python-2.
  1114. `(#:python ,python-2
  1115. ;; There are currently no checks in the package.
  1116. #:tests? #f))
  1117. (native-inputs `(("python" ,python-2)))
  1118. (home-page "http://guichaz.free.fr/iotop/")
  1119. (synopsis
  1120. "Displays the IO activity of running processes")
  1121. (description
  1122. "Iotop is a Python program with a top like user interface to show the
  1123. processes currently causing I/O.")
  1124. (license gpl2+)))
  1125. (define-public fuse
  1126. (package
  1127. (name "fuse")
  1128. (version "2.9.3")
  1129. (source (origin
  1130. (method url-fetch)
  1131. (uri (string-append "mirror://sourceforge/fuse/fuse-"
  1132. version ".tar.gz"))
  1133. (sha256
  1134. (base32
  1135. "071r6xjgssy8vwdn6m28qq1bqxsd2bphcd2mzhq0grf5ybm87sqb"))
  1136. (patches (list (search-patch "fuse-CVE-2015-3202.patch")))))
  1137. (build-system gnu-build-system)
  1138. (inputs `(("util-linux" ,util-linux)))
  1139. (arguments
  1140. '(#:configure-flags (list (string-append "MOUNT_FUSE_PATH="
  1141. (assoc-ref %outputs "out")
  1142. "/sbin")
  1143. (string-append "INIT_D_PATH="
  1144. (assoc-ref %outputs "out")
  1145. "/etc/init.d")
  1146. ;; The rule makes /dev/fuse 666.
  1147. (string-append "UDEV_RULES_PATH="
  1148. (assoc-ref %outputs "out")
  1149. "/lib/udev/rules.d"))
  1150. #:phases (alist-cons-before
  1151. 'build 'set-file-names
  1152. (lambda* (#:key inputs #:allow-other-keys)
  1153. ;; libfuse calls out to mount(8) and umount(8). Make sure
  1154. ;; it refers to the right ones.
  1155. (substitute* '("lib/mount_util.c" "util/mount_util.c")
  1156. (("/bin/(u?)mount" _ maybe-u)
  1157. (string-append (assoc-ref inputs "util-linux")
  1158. "/bin/" maybe-u "mount")))
  1159. (substitute* '("util/mount.fuse.c")
  1160. (("/bin/sh")
  1161. (which "sh")))
  1162. ;; This hack leads libfuse to search for 'fusermount' in
  1163. ;; $PATH, where it may find a setuid-root binary, instead of
  1164. ;; trying solely $out/sbin/fusermount and failing because
  1165. ;; it's not setuid.
  1166. (substitute* "lib/Makefile"
  1167. (("-DFUSERMOUNT_DIR=[[:graph:]]+")
  1168. "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))
  1169. %standard-phases)))
  1170. (home-page "http://fuse.sourceforge.net/")
  1171. (synopsis "Support file systems implemented in user space")
  1172. (description
  1173. "As a consequence of its monolithic design, file system code for Linux
  1174. normally goes into the kernel itself---which is not only a robustness issue,
  1175. but also an impediment to system extensibility. FUSE, for \"file systems in
  1176. user space\", is a kernel module and user-space library that tries to address
  1177. part of this problem by allowing users to run file system implementations as
  1178. user-space processes.")
  1179. (license (list lgpl2.1 ; library
  1180. gpl2+)))) ; command-line utilities
  1181. (define-public unionfs-fuse
  1182. (package
  1183. (name "unionfs-fuse")
  1184. (version "0.26")
  1185. (source (origin
  1186. (method url-fetch)
  1187. (uri (string-append
  1188. "http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-"
  1189. version ".tar.xz"))
  1190. (sha256
  1191. (base32
  1192. "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d"))))
  1193. (build-system cmake-build-system)
  1194. (inputs `(("fuse" ,fuse)))
  1195. (arguments '(#:tests? #f)) ; no tests
  1196. (home-page "http://podgorny.cz/moin/UnionFsFuse")
  1197. (synopsis "User-space union file system")
  1198. (description
  1199. "UnionFS-FUSE is a flexible union file system implementation in user
  1200. space, using the FUSE library. Mounting a union file system allows you to
  1201. \"aggregate\" the contents of several directories into a single mount point.
  1202. UnionFS-FUSE additionally supports copy-on-write.")
  1203. (license bsd-3)))
  1204. (define fuse-static
  1205. (package (inherit fuse)
  1206. (name "fuse-static")
  1207. (source (origin (inherit (package-source fuse))
  1208. (modules '((guix build utils)))
  1209. (snippet
  1210. ;; Normally libfuse invokes mount(8) so that /etc/mtab is
  1211. ;; updated. Change calls to 'mtab_needs_update' to 0 so that
  1212. ;; it doesn't do that, allowing us to remove the dependency on
  1213. ;; util-linux (something that is useful in initrds.)
  1214. '(substitute* '("lib/mount_util.c"
  1215. "util/mount_util.c")
  1216. (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
  1217. "0")
  1218. (("/bin/")
  1219. "")))))))
  1220. (define-public unionfs-fuse/static
  1221. (package (inherit unionfs-fuse)
  1222. (synopsis "User-space union file system (statically linked)")
  1223. (name (string-append (package-name unionfs-fuse) "-static"))
  1224. (source (origin (inherit (package-source unionfs-fuse))
  1225. (modules '((guix build utils)))
  1226. (snippet
  1227. ;; Add -ldl to the libraries, because libfuse.a needs that.
  1228. '(substitute* "src/CMakeLists.txt"
  1229. (("target_link_libraries(.*)\\)" _ libs)
  1230. (string-append "target_link_libraries"
  1231. libs " dl)"))))))
  1232. (arguments
  1233. '(#:tests? #f
  1234. #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")
  1235. #:phases (alist-cons-after
  1236. 'install 'post-install
  1237. (lambda* (#:key outputs #:allow-other-keys)
  1238. (let* ((out (assoc-ref outputs "out"))
  1239. (exe (string-append out "/bin/unionfs")))
  1240. ;; By default, 'unionfs' keeps references to
  1241. ;; $glibc/share/locale and similar stuff. Remove them.
  1242. (remove-store-references exe)))
  1243. %standard-phases)))
  1244. (inputs `(("fuse" ,fuse-static)))))
  1245. (define-public sshfs-fuse
  1246. (package
  1247. (name "sshfs-fuse")
  1248. (version "2.5")
  1249. (source (origin
  1250. (method url-fetch)
  1251. (uri (string-append "mirror://sourceforge/fuse/sshfs-fuse-"
  1252. version ".tar.gz"))
  1253. (sha256
  1254. (base32
  1255. "0gp6qr33l2p0964j0kds0dfmvyyf5lpgsn11daf0n5fhwm9185z9"))))
  1256. (build-system gnu-build-system)
  1257. (inputs
  1258. `(("fuse" ,fuse)
  1259. ("glib" ,glib)))
  1260. (native-inputs
  1261. `(("pkg-config" ,pkg-config)))
  1262. (home-page "http://fuse.sourceforge.net/sshfs.html")
  1263. (synopsis "Mount remote file systems over SSH")
  1264. (description
  1265. "This is a file system client based on the SSH File Transfer Protocol.
  1266. Since most SSH servers already support this protocol it is very easy to set
  1267. up: on the server side there's nothing to do; on the client side mounting the
  1268. file system is as easy as logging into the server with an SSH client.")
  1269. (license gpl2+)))
  1270. (define-public numactl
  1271. (package
  1272. (name "numactl")
  1273. (version "2.0.9")
  1274. (source (origin
  1275. (method url-fetch)
  1276. (uri (string-append
  1277. "ftp://oss.sgi.com/www/projects/libnuma/download/numactl-"
  1278. version
  1279. ".tar.gz"))
  1280. (sha256
  1281. (base32
  1282. "073myxlyyhgxh1w3r757ajixb7s2k69czc3r0g12c3scq7k3784w"))))
  1283. (build-system gnu-build-system)
  1284. (arguments
  1285. '(#:phases (alist-replace
  1286. 'configure
  1287. (lambda* (#:key outputs #:allow-other-keys)
  1288. ;; There's no 'configure' script, just a raw makefile.
  1289. (substitute* "Makefile"
  1290. (("^prefix := .*$")
  1291. (string-append "prefix := " (assoc-ref outputs "out")
  1292. "\n"))
  1293. (("^libdir := .*$")
  1294. ;; By default the thing tries to install under
  1295. ;; $prefix/lib64 when on a 64-bit platform.
  1296. (string-append "libdir := $(prefix)/lib\n"))))
  1297. %standard-phases)
  1298. #:make-flags (list
  1299. ;; By default the thing tries to use 'cc'.
  1300. "CC=gcc"
  1301. ;; Make sure programs have an RPATH so they can find
  1302. ;; libnuma.so.
  1303. (string-append "LDLIBS=-Wl,-rpath="
  1304. (assoc-ref %outputs "out") "/lib"))
  1305. ;; There's a 'test' target, but it requires NUMA support in the kernel
  1306. ;; to run, which we can't assume to have.
  1307. #:tests? #f))
  1308. (home-page "http://oss.sgi.com/projects/libnuma/")
  1309. (synopsis "Tools for non-uniform memory access (NUMA) machines")
  1310. (description
  1311. "NUMA stands for Non-Uniform Memory Access, in other words a system whose
  1312. memory is not all in one place. The numactl program allows you to run your
  1313. application program on specific CPU's and memory nodes. It does this by
  1314. supplying a NUMA memory policy to the operating system before running your
  1315. program.
  1316. The package contains other commands, such as numademo, numastat and memhog.
  1317. The numademo command provides a quick overview of NUMA performance on your
  1318. system.")
  1319. (license (list gpl2 ; programs
  1320. lgpl2.1)))) ; library
  1321. (define-public kbd
  1322. (package
  1323. (name "kbd")
  1324. (version "2.0.2")
  1325. (source (origin
  1326. (method url-fetch)
  1327. (uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-"
  1328. version ".tar.xz"))
  1329. (sha256
  1330. (base32
  1331. "04mrms12nm5sas0nxs94yrr3hz7gmqhnmfgb9ff34bh1jszxmzcx"))
  1332. (modules '((guix build utils)))
  1333. (snippet
  1334. '(begin
  1335. (substitute* "tests/Makefile.in"
  1336. ;; The '%: %.in' rule incorrectly uses @VERSION@.
  1337. (("@VERSION@")
  1338. "[@]VERSION[@]"))
  1339. (substitute* '("src/unicode_start" "src/unicode_stop")
  1340. ;; Assume the Coreutils are in $PATH.
  1341. (("/usr/bin/tty")
  1342. "tty"))))))
  1343. (build-system gnu-build-system)
  1344. (arguments
  1345. '(#:phases (alist-cons-before
  1346. 'build 'pre-build
  1347. (lambda* (#:key inputs #:allow-other-keys)
  1348. (let ((gzip (assoc-ref %build-inputs "gzip"))
  1349. (bzip2 (assoc-ref %build-inputs "bzip2")))
  1350. (substitute* "src/libkeymap/findfile.c"
  1351. (("gzip")
  1352. (string-append gzip "/bin/gzip"))
  1353. (("bzip2")
  1354. (string-append bzip2 "/bin/bzip2")))))
  1355. (alist-cons-after
  1356. 'install 'post-install
  1357. (lambda* (#:key outputs #:allow-other-keys)
  1358. ;; Make sure these programs find their comrades.
  1359. (let* ((out (assoc-ref outputs "out"))
  1360. (bin (string-append out "/bin")))
  1361. (for-each (lambda (prog)
  1362. (wrap-program (string-append bin "/" prog)
  1363. `("PATH" ":" prefix (,bin))))
  1364. '("unicode_start" "unicode_stop"))))
  1365. %standard-phases))))
  1366. (inputs `(("check" ,check)
  1367. ("gzip" ,gzip)
  1368. ("bzip2" ,bzip2)
  1369. ("pam" ,linux-pam)))
  1370. (native-inputs `(("pkg-config" ,pkg-config)))
  1371. (home-page "ftp://ftp.kernel.org/pub/linux/utils/kbd/")
  1372. (synopsis "Linux keyboard utilities and keyboard maps")
  1373. (description
  1374. "This package contains keytable files and keyboard utilities compatible
  1375. for systems using the Linux kernel. This includes commands such as
  1376. 'loadkeys', 'setfont', 'kbdinfo', and 'chvt'.")
  1377. (license gpl2+)))
  1378. (define-public inotify-tools
  1379. (package
  1380. (name "inotify-tools")
  1381. (version "3.13")
  1382. (source (origin
  1383. (method url-fetch)
  1384. (uri (string-append
  1385. "mirror://sourceforge/inotify-tools/inotify-tools/"
  1386. version "/inotify-tools-" version ".tar.gz"))
  1387. (sha256
  1388. (base32
  1389. "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6"))))
  1390. (build-system gnu-build-system)
  1391. (home-page "http://inotify-tools.sourceforge.net/")
  1392. (synopsis "Monitor file accesses")
  1393. (description
  1394. "The inotify-tools packages provides a C library and command-line tools
  1395. to use Linux' inotify mechanism, which allows file accesses to be monitored.")
  1396. (license gpl2+)))
  1397. (define-public kmod
  1398. (package
  1399. (name "kmod")
  1400. (version "17")
  1401. (source (origin
  1402. (method url-fetch)
  1403. (uri
  1404. (string-append "mirror://kernel.org/linux/utils/kernel/kmod/"
  1405. "kmod-" version ".tar.xz"))
  1406. (sha256
  1407. (base32
  1408. "1yid3a9b64a60ybj66fk2ysrq5klnl0ijl4g624cl16y8404g9rv"))
  1409. (patches (list (search-patch "kmod-module-directory.patch")))))
  1410. (build-system gnu-build-system)
  1411. (native-inputs
  1412. `(("pkg-config" ,pkg-config)))
  1413. (inputs
  1414. `(("xz" ,xz)
  1415. ("zlib" ,zlib)))
  1416. (arguments
  1417. `(#:tests? #f ; FIXME: Investigate test failures
  1418. #:configure-flags '("--with-xz" "--with-zlib")
  1419. #:phases (alist-cons-after
  1420. 'install 'install-modprobe&co
  1421. (lambda* (#:key outputs #:allow-other-keys)
  1422. (let* ((out (assoc-ref outputs "out"))
  1423. (bin (string-append out "/bin")))
  1424. (for-each (lambda (tool)
  1425. (symlink "kmod"
  1426. (string-append bin "/" tool)))
  1427. '("insmod" "rmmod" "lsmod" "modprobe"
  1428. "modinfo" "depmod"))))
  1429. %standard-phases)))
  1430. (home-page "https://www.kernel.org/")
  1431. (synopsis "Kernel module tools")
  1432. (description "Kmod is a set of tools to handle common tasks with Linux
  1433. kernel modules like insert, remove, list, check properties, resolve
  1434. dependencies and aliases.
  1435. These tools are designed on top of libkmod, a library that is shipped with
  1436. kmod. The aim is to be compatible with tools, configurations and indices
  1437. from the module-init-tools project.")
  1438. (license gpl2+))) ; library under lgpl2.1+
  1439. (define-public eudev
  1440. ;; The post-systemd fork, maintained by Gentoo.
  1441. (package
  1442. (name "eudev")
  1443. (version "2.1.1")
  1444. (source (origin
  1445. (method url-fetch)
  1446. (uri (string-append
  1447. "http://dev.gentoo.org/~blueness/eudev/eudev-"
  1448. version ".tar.gz"))
  1449. (sha256
  1450. (base32
  1451. "0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva"))
  1452. (patches (list (search-patch "eudev-rules-directory.patch")))
  1453. (modules '((guix build utils)))
  1454. (snippet
  1455. ;; 'configure' checks uses <linux/btrfs.h> as an indication of
  1456. ;; whether Linux headers are available, but it doesn't actually
  1457. ;; use it, and our 'linux-libre-headers' package doesn't
  1458. ;; provide it. So just remove that.
  1459. '(substitute* "configure"
  1460. (("linux/btrfs\\.h")
  1461. "")))))
  1462. (build-system gnu-build-system)
  1463. (native-inputs
  1464. `(("pkg-config" ,pkg-config)
  1465. ("gperf" ,gperf)
  1466. ("glib" ,glib "bin") ; glib-genmarshal, etc.
  1467. ("perl" ,perl) ; for the tests
  1468. ("python" ,python-2))) ; ditto
  1469. (inputs
  1470. `(("kmod" ,kmod)
  1471. ("pciutils" ,pciutils)
  1472. ("usbutils" ,usbutils)
  1473. ("util-linux" ,util-linux)
  1474. ("glib" ,glib)
  1475. ("gobject-introspection" ,gobject-introspection)))
  1476. (arguments
  1477. `(#:configure-flags (list "--enable-libkmod"
  1478. (string-append
  1479. "--with-pci-ids-path="
  1480. (assoc-ref %build-inputs "pciutils")
  1481. "/share/pci.ids.gz")
  1482. "--with-firmware-path=/no/firmware"
  1483. ;; Work around undefined reference to
  1484. ;; 'mq_getattr' in sc-daemon.c.
  1485. "LDFLAGS=-lrt")
  1486. #:phases
  1487. (alist-cons-before
  1488. 'build 'pre-build
  1489. ;; The program 'g-ir-scanner' (part of the package
  1490. ;; 'gobject-introspection'), to generate .gir files, makes some
  1491. ;; library pre-processing. During that phase it looks for the C
  1492. ;; compiler as either 'cc' or as defined by the environment variable
  1493. ;; 'CC' (with code in 'giscanner/dumper.py').
  1494. (lambda* _
  1495. (setenv "CC" "gcc"))
  1496. %standard-phases)))
  1497. (home-page "http://www.gentoo.org/proj/en/eudev/")
  1498. (synopsis "Userspace device management")
  1499. (description "Udev is a daemon which dynamically creates and removes
  1500. device nodes from /dev/, handles hotplug events and loads drivers at boot
  1501. time.")
  1502. (license gpl2+)))
  1503. (define-public lvm2
  1504. (package
  1505. (name "lvm2")
  1506. (version "2.02.109")
  1507. (source (origin
  1508. (method url-fetch)
  1509. (uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
  1510. version ".tgz"))
  1511. (sha256
  1512. (base32
  1513. "1rv5ivg0l1w3nwzwdkqixm96h5bzg7ib4rr196ysb2lw42jmpjbv"))
  1514. (modules '((guix build utils)))
  1515. (snippet
  1516. '(begin
  1517. (use-modules (guix build utils))
  1518. ;; Honor sysconfdir.
  1519. (substitute* "make.tmpl.in"
  1520. (("confdir = .*$")
  1521. "confdir = @sysconfdir@\n")
  1522. (("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
  1523. "DEFAULT_SYS_DIR = @sysconfdir@"))))))
  1524. (build-system gnu-build-system)
  1525. (native-inputs
  1526. `(("pkg-config" ,pkg-config)
  1527. ("procps" ,procps))) ;tests use 'pgrep'
  1528. (inputs
  1529. `(("udev" ,eudev)))
  1530. (arguments
  1531. '(#:phases (alist-cons-after
  1532. 'configure 'set-makefile-shell
  1533. (lambda _
  1534. ;; Use 'sh', not 'bash', so that '. lib/utils.sh' works as
  1535. ;; expected.
  1536. (setenv "SHELL" (which "sh"))
  1537. ;; Replace /bin/sh with the right file name.
  1538. (patch-makefile-SHELL "make.tmpl"))
  1539. %standard-phases)
  1540. #:configure-flags (list (string-append "--sysconfdir="
  1541. (assoc-ref %outputs "out")
  1542. "/etc/lvm")
  1543. "--enable-udev_sync"
  1544. "--enable-udev_rules"
  1545. ;; Make sure programs such as 'dmsetup' can
  1546. ;; find libdevmapper.so.
  1547. (string-append "LDFLAGS=-Wl,-rpath="
  1548. (assoc-ref %outputs "out")
  1549. "/lib"))
  1550. ;; The tests use 'mknod', which requires root access.
  1551. #:tests? #f))
  1552. (home-page "http://sourceware.org/lvm2/")
  1553. (synopsis "Logical volume management for Linux")
  1554. (description
  1555. "LVM2 is the logical volume management tool set for Linux-based systems.
  1556. This package includes the user-space libraries and tools, including the device
  1557. mapper. Kernel components are part of Linux-libre.")
  1558. ;; Libraries (liblvm2, libdevmapper) are LGPLv2.1.
  1559. ;; Command-line tools are GPLv2.
  1560. (license (list gpl2 lgpl2.1))))
  1561. (define-public wireless-tools
  1562. (package
  1563. (name "wireless-tools")
  1564. (version "30.pre9")
  1565. (source (origin
  1566. (method url-fetch)
  1567. (uri (string-append "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools."
  1568. version ".tar.gz"))
  1569. (sha256
  1570. (base32
  1571. "0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb"))
  1572. (modules '((guix build utils)))
  1573. (snippet
  1574. ;; Install the manual pages in the right place.
  1575. '(substitute* "Makefile"
  1576. (("INSTALL_MAN= .*")
  1577. "INSTALL_MAN= $(PREFIX)/share/man")))))
  1578. (build-system gnu-build-system)
  1579. (arguments
  1580. `(#:phases (alist-replace
  1581. 'configure
  1582. (lambda* (#:key outputs #:allow-other-keys)
  1583. (setenv "PREFIX" (assoc-ref outputs "out")))
  1584. %standard-phases)
  1585. #:tests? #f))
  1586. (synopsis "Tools for manipulating Linux Wireless Extensions")
  1587. (description "Wireless Tools are used to manipulate the now-deprecated
  1588. Linux Wireless Extensions; consider using 'iw' instead. The Wireless
  1589. Extension was an interface allowing you to set Wireless LAN specific
  1590. parameters and get the specific stats. It is deprecated in favor the nl80211
  1591. interface.")
  1592. (home-page "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html")
  1593. (license gpl2+)))
  1594. (define-public lm-sensors
  1595. (package
  1596. (name "lm-sensors")
  1597. (version "3.3.5")
  1598. (source (origin
  1599. (method url-fetch)
  1600. (uri (string-append
  1601. "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-"
  1602. version ".tar.bz2"))
  1603. (sha256
  1604. (base32
  1605. "1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx"))
  1606. (patches (list (search-patch "lm-sensors-hwmon-attrs.patch")))))
  1607. (build-system gnu-build-system)
  1608. (inputs `(("rrdtool" ,rrdtool)
  1609. ("perl" ,perl)
  1610. ("kmod" ,kmod)
  1611. ("gnuplot" ,gnuplot)))
  1612. (native-inputs `(("pkg-config" ,pkg-config)
  1613. ("flex" ,flex)
  1614. ("bison" ,bison)
  1615. ("which" ,which)))
  1616. (arguments
  1617. `(#:tests? #f ; no 'check' target
  1618. #:make-flags (list (string-append "PREFIX=" %output)
  1619. (string-append "ETCDIR=" %output "/etc")
  1620. (string-append "MANDIR=" %output "/share/man"))
  1621. #:phases
  1622. (alist-delete
  1623. 'configure
  1624. (alist-cons-before
  1625. 'build 'patch-exec-paths
  1626. (lambda* (#:key inputs outputs #:allow-other-keys)
  1627. (substitute* "prog/detect/sensors-detect"
  1628. (("`uname")
  1629. (string-append "`" (assoc-ref inputs "coreutils")
  1630. "/bin/uname"))
  1631. (("(`|\")modprobe" all open-quote)
  1632. (string-append open-quote
  1633. (assoc-ref inputs "kmod")
  1634. "/bin/modprobe")))
  1635. (substitute* '("prog/pwm/pwmconfig"
  1636. "prog/pwm/fancontrol")
  1637. (("gnuplot")
  1638. (string-append (assoc-ref inputs "gnuplot")
  1639. "/bin/gnuplot"))
  1640. (("cat ")
  1641. (string-append (assoc-ref inputs "coreutils")
  1642. "/bin/cat "))
  1643. (("egrep ")
  1644. (string-append (assoc-ref inputs "grep")
  1645. "/bin/egrep "))
  1646. (("sed -e")
  1647. (string-append (assoc-ref inputs "sed")
  1648. "/bin/sed -e"))
  1649. (("cut -d")
  1650. (string-append (assoc-ref inputs "coreutils")
  1651. "/bin/cut -d"))
  1652. (("sleep ")
  1653. (string-append (assoc-ref inputs "coreutils")
  1654. "/bin/sleep "))
  1655. (("readlink -f")
  1656. (string-append (assoc-ref inputs "coreutils")
  1657. "/bin/readlink -f"))))
  1658. %standard-phases))))
  1659. (home-page "http://www.lm-sensors.org/")
  1660. (synopsis "Utilities to read temperature/voltage/fan sensors")
  1661. (description
  1662. "Lm-sensors is a hardware health monitoring package for Linux. It allows
  1663. you to access information from temperature, voltage, and fan speed sensors.
  1664. It works with most newer systems.")
  1665. (license gpl2+)))
  1666. (define-public i2c-tools
  1667. (package
  1668. (name "i2c-tools")
  1669. (version "3.1.1")
  1670. (source (origin
  1671. (method url-fetch)
  1672. (uri (string-append
  1673. "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-"
  1674. version ".tar.bz2"))
  1675. (sha256
  1676. (base32
  1677. "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
  1678. (build-system gnu-build-system)
  1679. (arguments
  1680. `(#:tests? #f ; no 'check' target
  1681. #:make-flags (list (string-append "prefix=" %output)
  1682. "CC=gcc")
  1683. ;; no configure script
  1684. #:phases (alist-delete 'configure %standard-phases)))
  1685. (inputs
  1686. `(("perl" ,perl)))
  1687. (home-page "http://www.lm-sensors.org/wiki/I2CTools")
  1688. (synopsis "I2C tools for Linux")
  1689. (description
  1690. "The i2c-tools package contains a heterogeneous set of I2C tools for
  1691. Linux: a bus probing tool, a chip dumper, register-level SMBus access helpers,
  1692. EEPROM decoding scripts, EEPROM programming tools, and a python module for
  1693. SMBus access.")
  1694. (license gpl2+)))
  1695. (define-public xsensors
  1696. (package
  1697. (name "xsensors")
  1698. (version "0.70")
  1699. (source (origin
  1700. (method url-fetch)
  1701. (uri (string-append
  1702. "http://www.linuxhardware.org/xsensors/xsensors-"
  1703. version ".tar.gz"))
  1704. (sha256
  1705. (base32
  1706. "1siplsfgvcxamyqf44h71jx6jdfmvhfm7mh0y1q8ps4zs6pj2zwh"))))
  1707. (build-system gnu-build-system)
  1708. (inputs `(("lm-sensors" ,lm-sensors)
  1709. ("gtk" ,gtk+-2)))
  1710. (native-inputs `(("pkg-config" ,pkg-config)))
  1711. (arguments
  1712. `(#:phases (alist-cons-before
  1713. 'configure 'enable-deprecated
  1714. (lambda _
  1715. (substitute* "src/Makefile.in"
  1716. (("-DGDK_DISABLE_DEPRECATED") "")
  1717. (("-DGTK_DISABLE_DEPRECATED") "")))
  1718. (alist-cons-before
  1719. 'configure 'remove-Werror
  1720. (lambda _
  1721. (substitute* '("configure" "src/Makefile.in")
  1722. (("-Werror") "")))
  1723. %standard-phases))))
  1724. (home-page "http://www.linuxhardware.org/xsensors/")
  1725. (synopsis "Hardware health information viewer")
  1726. (description
  1727. "Xsensors reads data from the libsensors library regarding hardware
  1728. health such as temperature, voltage and fan speed and displays the information
  1729. in a digital read-out.")
  1730. (license gpl2+)))
  1731. (define-public perf
  1732. (package
  1733. (name "perf")
  1734. (version (package-version linux-libre))
  1735. (source (package-source linux-libre))
  1736. (build-system gnu-build-system)
  1737. (arguments
  1738. '(#:phases (alist-replace
  1739. 'configure
  1740. (lambda* (#:key inputs #:allow-other-keys)
  1741. (setenv "SHELL_PATH" (which "bash"))
  1742. (chdir "tools/perf"))
  1743. %standard-phases)
  1744. #:make-flags (list (string-append "DESTDIR="
  1745. (assoc-ref %outputs "out"))
  1746. "WERROR=0"
  1747. ;; By default, 'config/Makefile' uses lib64 on
  1748. ;; x86_64. Work around that.
  1749. "lib=lib")
  1750. #:tests? #f)) ;no tests
  1751. (native-inputs
  1752. `(("pkg-config" ,pkg-config)
  1753. ("bison" ,bison)
  1754. ("flex" ,flex)
  1755. ;; There are build scripts written in these languages.
  1756. ("perl" ,perl)
  1757. ("python" ,python-2)))
  1758. (inputs
  1759. `(("slang" ,slang) ;for the interactive TUI
  1760. ;; ("newt" ,newt)
  1761. ("python" ,python-2) ;'perf' links against libpython
  1762. ("elfutils" ,elfutils)
  1763. ;; Documentation.
  1764. ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
  1765. ("libxslt" ,libxslt)
  1766. ("docbook-xml" ,docbook-xml)
  1767. ("docbook-xsl" ,docbook-xsl)
  1768. ("xmlto" ,xmlto)
  1769. ("asciidoc" ,asciidoc)))
  1770. (home-page "https://perf.wiki.kernel.org/")
  1771. (synopsis "Linux profiling with performance counters")
  1772. (description
  1773. "perf is a tool suite for profiling using hardware performance counters,
  1774. with support in the Linux kernel. perf can instrument CPU performance
  1775. counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable
  1776. of lightweight profiling. This package contains the user-land tools and in
  1777. particular the 'perf' command.")
  1778. (license (package-license linux-libre))))
  1779. (define-public pflask
  1780. (package
  1781. (name "pflask")
  1782. (version "0.2")
  1783. (source (origin
  1784. (method url-fetch)
  1785. (uri (string-append "https://github.com/ghedo/pflask/archive/v"
  1786. version ".tar.gz"))
  1787. (file-name (string-append name "-" version ".tar.gz"))
  1788. (sha256
  1789. (base32
  1790. "1g8fjj67dfkc2s0852l9vqi1pm61gp4rxbpzbzg780f5s5hd1fys"))))
  1791. (build-system cmake-build-system)
  1792. (arguments
  1793. '(#:tests? #f)) ; no tests
  1794. (home-page "http://ghedo.github.io/pflask/")
  1795. (synopsis "Simple tool for creating Linux namespace containers")
  1796. (description "pflask is a simple tool for creating Linux namespace