;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
-;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
+;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
+;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
+ #:use-module (gnu packages crypto)
+ #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dns)
#:use-module (gnu packages file)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages guile)
#:use-module (gnu packages glib)
#:use-module (gnu packages openldap)
#:use-module (gnu packages mcrypt)
+ #:use-module (gnu packages patchutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages boost)
#:use-module (gnu packages elf)
#:use-module (gnu packages mpi)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages web))
(define-public aide
("guile" ,guile-2.2)))
(inputs
;; ... and this is the one that appears in shebangs when cross-compiling.
- `(("guile" ,guile-2.2)
+ `(("guile" ,guile-2.2) ;for <https://bugs.gnu.org/37757>
;; The 'shepherd' command uses Readline when used interactively. It's
;; an unusual use case though, so we don't propagate it.
(define-public shadow
(package
(name "shadow")
- (version "4.7")
+ (version "4.8")
(source (origin
(method url-fetch)
(uri (string-append
"download/" version "/shadow-" version ".tar.xz"))
(sha256
(base32
- "0v71474rx38lg9kidrm4xbk35sg3icv3s5pk2b42icp3lyj9dqg5"))))
+ "0r5c1p8mfwhw11gb6mjsx1k7d4c32dxai7yss8n5pwy1p61ndd34"))))
(build-system gnu-build-system)
(arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU
`(#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs target #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man8 (string-append out "/share/man/man8"))
(sbin (string-append out "/sbin"))
(shadow (assoc-ref inputs "shadow"))
(login (string-append shadow "/bin/login")))
(substitute* "Makefile"
+ ,@(if (%current-target-system)
+ '((("CC=.*$")
+ (string-append "CC=" target "-gcc\n")))
+ '())
(("^SBINDIR.*")
(string-append "SBINDIR = " out
"/sbin\n"))
would need and has several interesting built-in capabilities.")
(license license:gpl2+)))
+(define-public netcat-openbsd
+ (package
+ (name "netcat-openbsd")
+ (version "1.206-1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/debian/netcat-openbsd.git")
+ (commit (string-append "debian/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test suite
+ #:make-flags
+ (list "CC=gcc"
+ (string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include")
+ "LDFLAGS=-lbsd")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch
+ (lambda _
+ (setenv "QUILT_PATCHES" "debian/patches")
+ (invoke "quilt" "push" "-a")
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man1"))
+ (doc (string-append out "/share/doc/netcat-openbsd-" ,version))
+ (examples (string-append doc "/examples")))
+ (install-file "nc" bin)
+ (install-file "nc.1" man)
+ (install-file "debian/copyright" doc)
+ (copy-recursively "debian/examples" examples)
+ #t))))))
+ (inputs `(("libbsd" ,libbsd)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("quilt" ,quilt)))
+ (home-page "https://packages.debian.org/sid/netcat-openbsd")
+ (synopsis "Read and write data over TCP/IP")
+ (description
+ "Netcat is a simple Unix utility which reads and writes data across
+network connections using TCP or UDP protocol. It is designed to be a reliable
+\"back-end\" tool that can be used directly or easily driven by other programs
+and scripts. At the same time it is a feature-rich network debugging and
+exploration tool, since it can create almost any kind of connection you would
+need and has several interesting built-in capabilities.
+
+This package contains the OpenBSD rewrite of netcat, including support for
+IPv6, proxies, and Unix sockets.")
+ (license (list license:bsd-3
+ license:bsd-2)))) ; atomicio.*, socks.c
+
(define-public sipcalc
(package
(name "sipcalc")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "11")
- (bind-patch-version "11")
+ (bind-patch-version "14")
(bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f
+ #:configure-flags '("--with-randomdev=/dev/random")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-bundled-bind
(("^RELEASEVER=.*")
(format #f "RELEASEVER=~a\n" ,bind-release-version)))
#t))
+ (add-before 'configure 'fix-bind-cross-compilation
+ (lambda _
+ (substitute* "configure"
+ (("--host=\\$host")
+ "--host=$host_alias"))
+ #t))
(add-after 'configure 'post-configure
(lambda* (#:key outputs #:allow-other-keys)
;; Point to the right client script, which will be
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
- "0swavslyli3vcrkcm2ip11s6p58g3k7r4gjs2b899r25cqrk0lk1"))))
+ "1pv3bvm9dzyz2kqjkw15sgh0hd5fzsv274v5z6jp9c4nb5130fyr"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
(define-public libpcap
(package
(name "libpcap")
- (version "1.9.0")
+ (version "1.9.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.tcpdump.org/release/libpcap-"
version ".tar.gz"))
(sha256
(base32
- "06bhydl4vr4z9c3vahl76f2j96z1fbrcl7wwismgs4sris08inrf"))))
+ "153h1378diqyc27jjgz6gg5nxmb4ddk006d9xg69nqavgiikflk3"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
(define-public tcpdump
(package
(name "tcpdump")
- (version "4.9.2")
+ (version "4.9.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.tcpdump.org/release/tcpdump-"
version ".tar.gz"))
(sha256
(base32
- "0ygy0layzqaj838r5xd613iraz09wlfgpyh7pc6cwclql8v3b2vr"))))
+ "0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c"))))
(build-system gnu-build-system)
(inputs `(("libpcap" ,libpcap)
("openssl" ,openssl)))
(define-public sudo
(package
(name "sudo")
- (version "1.8.27")
+ (version "1.8.31")
(source (origin
(method url-fetch)
(uri
version ".tar.gz")))
(sha256
(base32
- "1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv"))
+ "0ks5mm9hda5idivncyfpiz4lrd8fv0dpmsl711788k7f7ixdka3y"))
(modules '((guix build utils)))
(snippet
'(begin
(("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
;; Don't try to create /var/db/sudo.
"$(TMPDIR)/dummy"))
+
+ ;; ‘Checking existing [/etc/]sudoers file for syntax errors’ is
+ ;; not the task of the build system, and fails.
+ (substitute* "plugins/sudoers/Makefile.in"
+ (("^pre-install:" match)
+ (string-append match "\ndisabled-" match)))
#t)))
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
(define-public hostapd
(package
(name "hostapd")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://w1.fi/releases/hostapd-" version
".tar.gz"))
(sha256
(base32
- "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj"))))
+ "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public acpica
(package
(name "acpica")
- (version "20190816")
+ (version "20191213")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0lipy3jwl498lvgwzj6xcvmg61myl7hhilpallh1cf3ppgrq13l8"))))
+ "1106d5b7q8jlgc2z0gz83jdah1yml4fz5z0jjcs7a52pv00c9am8"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
(uri (git-reference
(url "https://github.com/dharple/detox.git")
(commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
"1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr"))))
(build-system gnu-build-system)
(inputs
`(("ntfs-3g" ,ntfs-3g)
- ("util-linux" ,util-linux)
+ ("util-linux" ,util-linux "lib")
("openssl" ,openssl)
;; FIXME: add reiserfs.
("zlib" ,zlib)
("e2fsprogs" ,e2fsprogs)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("ncurses" ,ncurses)))
(home-page "https://www.cgsecurity.org/wiki/TestDisk")
(synopsis "Data recovery tool")
(define-public libcap-ng
(package
(name "libcap-ng")
- (version "0.7.9")
+ (version "0.7.10")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0a0k484kwv0zilry2mbl9k56cnpdhsjxdxin17jas6kkyfy345aa"))))
+ "1gzzy12agfa9ddipdf72h9y68zqqnvsjjylv4vnq6hj4w2safk58"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(define-public smartmontools
(package
(name "smartmontools")
- (version "7.0")
+ (version "7.1")
(source (origin
(method url-fetch)
(uri (string-append
version "/smartmontools-" version ".tar.gz"))
(sha256
(base32
- "077nx2rn9szrg6isdh0938zbp7vr3dsyxl4jdyyzv1xwhqksrqg5"))))
+ "0imqb7ka4ia5573w8rnpck571pjjc9698pdjcapy9cfyk4n4swrz"))))
(build-system gnu-build-system)
(inputs `(("libcap-ng" ,libcap-ng)))
(home-page "https://www.smartmontools.org/")
(define-public ansible
(package
(name "ansible")
- (version "2.8.1")
+ (version "2.8.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
- (base32 "0ia4x17ywym3r1m96ar4h0wc2xlylhbjp6x4wzwkh4p2i0x1vmg1"))))
+ (base32 "11k94ifp42psivzx147xwbmq1ak7qnjdgkb6c1xz53nfapkh754f"))))
(build-system python-build-system)
(native-inputs
`(("python-bcrypt" ,python-bcrypt)
sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0])
")))
#t))
- (add-after 'wrap 'fix-symlinks
+ (add-after 'install 'replace-symlinks
(lambda* (#:key outputs #:allow-other-keys)
+ ;; Replace symlinks with duplicate copies of the ansible
+ ;; executable.
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (subprogram)
- ;; The symlinks point to the ansible wrapper script. Make
- ;; them point to the real executable (.ansible-real).
- (delete-file (string-append out "/bin/.ansible-" subprogram "-real"))
- (symlink (string-append out "/bin/.ansible-real")
- (string-append out "/bin/.ansible-" subprogram "-real"))
- ;; The wrapper scripts of the symlinks invoke the ansible
- ;; wrapper script. Fix them to invoke the correct executable.
- (substitute* (string-append out "/bin/ansible-" subprogram)
- (("/bin/ansible")
- (string-append "/bin/.ansible-" subprogram "-real"))))
+ (delete-file (string-append out "/bin/ansible-" subprogram))
+ (copy-file (string-append out "/bin/ansible")
+ (string-append out "/bin/ansible-" subprogram)))
(list "config" "console" "doc" "galaxy"
"inventory" "playbook" "pull" "vault")))
#t)))))
things like zero-downtime rolling updates with load balancers.")
(license license:gpl3+)))
+(define-public debops
+ (package
+ (name "debops")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/debops/debops")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "052b2dykdn35pdpn9s4prawl6nl6yzih8nyf54hpvhpisvjrm1v5"))
+ (patches
+ (search-patches "debops-constants-for-external-program-names.patch"
+ "debops-debops-defaults-fall-back-to-less.patch"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("git" ,git)))
+ (inputs
+ `(("ansible" ,ansible)
+ ("encfs" ,encfs)
+ ("fuse" ,fuse)
+ ("util-linux" ,util-linux) ;; for umount
+ ("findutils" ,findutils)
+ ("gnupg" ,gnupg)
+ ("which" ,which)))
+ (propagated-inputs
+ `(("python-future" ,python-future)
+ ("python-distro" ,python-distro)))
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'nuke-debops-update
+ (lambda _
+ (chmod "bin/debops-update" #o755) ; FIXME work-around git-fetch issue
+ (with-output-to-file "bin/debops-update"
+ (lambda ()
+ (format #t "#!/bin/sh
+echo 'debops is installed via guix. guix-update is useless in this case.
+Please use `guix package -u debops` instead.'")))
+ #t))
+ ;; patch shebangs only in actuall scripts, not in files included in
+ ;; roles (which are to be delivered to the targte systems)
+ (delete `patch-generated-file-shebangs)
+ (replace 'patch-source-shebangs
+ (lambda _
+ (for-each patch-shebang
+ (find-files "bin"
+ (lambda (file stat)
+ ;; Filter out symlinks.
+ (eq? 'regular (stat:type stat)))
+ #:stat lstat))))
+ (add-after 'unpack 'fix-paths
+ (lambda _
+ (define (substitute-program-names file)
+ ;; e.g. ANSIBLE_PLAYBOOK = '/gnu/store/…/bin/ansible-playbook'
+ (for-each
+ (lambda (name)
+ (let ((varname (string-upcase
+ (string-map
+ (lambda (c) (if (char=? c #\-) #\_ c))
+ name))))
+ (substitute* file
+ (((string-append "^(" varname " = )'.*'") line prefix)
+ (string-append prefix "'" (which name) "'")))))
+ '("ansible-playbook" "encfs" "find" "fusermount"
+ "umount" "gpg" "ansible" "which")))
+ (for-each substitute-program-names
+ '("bin/debops"
+ "bin/debops-padlock"
+ "bin/debops-task"
+ "debops/__init__.py"
+ "debops/cmds/__init__.py"))
+ #t)))))
+ (home-page "https://www.debops.org/")
+ (synopsis "Collection of general-purpose Ansible roles")
+ (description "The Ansible roles provided by that can be used to manage
+Debian or Ubuntu hosts. In addition, a default set of Ansible playbooks can
+be used to apply the provided roles in a controlled way, using Ansible
+inventory groups.
+
+The roles are written with a high customization in mind, which can be done
+using Ansible inventory. This way the role and playbook code can be shared
+between multiple environments, with different configuration in to each one.
+
+Services can be managed on a single host, or spread between multiple hosts.
+DebOps provides support for different SQL and NoSQL databases, web servers,
+programming languages and specialized applications useful in a data center
+environment or in a cluster. The project can also be used to deploy
+virtualization environments using KVM/libvirt, Docker or LXC technologies to
+manage virtual machines and/or containers.")
+ (license license:gpl3+)))
+
(define-public emacs-ansible-doc
(let ((commit "86083a7bb2ed0468ca64e52076b06441a2f8e9e0"))
(package
(define-public di
(package
(name "di")
- (version "4.47.1")
+ (version "4.47.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
- (base32 "1bdbl9k3gqf4h6g21difqc0w17pjid6r587y19wi37vx36aava7f"))))
+ (base32 "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; obscure test failures
(define-public cbatticon
(package
(name "cbatticon")
- (version "1.6.9")
+ (version "1.6.10")
(source
(origin
(method git-fetch)
(url "https://github.com/valr/cbatticon.git")
(commit version)))
(sha256
- (base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"))
+ (base32 "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
-(define-public sunxi-tools
- (package
- (name "sunxi-tools")
- (version "1.4.2")
- (source
+(define (sunxi-tools-source version)
(origin
(method git-fetch)
(uri (git-reference
'(begin
(delete-file-recursively "bin")
#t))
- (file-name (git-file-name name version))))
+ (file-name (git-file-name "sunxi-tools" version))))
+
+(define sunxi-target-tools
+ (package
+ (name "sunxi-target-tools")
+ (version "1.4.2")
+ (build-system gnu-build-system)
+ (source
+ (sunxi-tools-source version))
+ (arguments
+ `(#:system "armhf-linux"
+ #:tests? #f
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "CROSS_COMPILE=")
+ "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "target-tools" make-flags)))
+ (replace 'install
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "install-target-tools"
+ make-flags))))))
+ (home-page "https://github.com/linux-sunxi/sunxi-tools")
+ (synopsis "Hardware management tools for Allwinner computers")
+ (description "This package contains tools for Allwinner devices:
+@enumerate
+@item @command{sunxi-meminfo}: Prints memory bus settings.
+@end enumerate")
+ (license license:gpl2+)))
+
+(define-public sunxi-tools
+ (package
+ (name "sunxi-tools")
+ (version "1.4.2")
+ (source
+ (sunxi-tools-source version))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
- #:xbinutils (cross-binutils "arm-linux-gnueabihf")
- #:libc (cross-libc "arm-linux-gnueabihf")))
- ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
- ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
+ `(("sunxi-target-tools" ,sunxi-target-tools)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
`(#:tests? #f ; no tests exist
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
- (string-append "CROSS_COMPILE="
- "arm-linux-gnueabihf-")
+ (string-append "CROSS_COMPILE=disabled")
"CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
- (add-before 'build 'set-environment-up
- (lambda* (#:key make-flags #:allow-other-keys)
- (define (cross? x)
- (string-contains x "cross-arm-linux"))
- (define (filter-environment! filter-predicate
- environment-variable-names)
- (for-each
- (lambda (env-name)
- (let* ((env-value (getenv env-name))
- (search-path (search-path-as-string->list env-value))
- (new-search-path (filter filter-predicate
- search-path))
- (new-env-value (list->search-path-as-string
- new-search-path ":")))
- (setenv env-name new-env-value)))
- environment-variable-names))
- (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
- (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
- (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (filter-environment! cross?
- '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
- "CROSS_LIBRARY_PATH"))
- (filter-environment! (lambda (e) (not (cross? e)))
- '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
- "LIBRARY_PATH"))
- #t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "tools" "misc" make-flags)))
- (add-after 'build 'build-armhf
- (lambda* (#:key make-flags #:allow-other-keys)
- (setenv "LIBRARY_PATH" #f)
- (apply invoke "make" "target-tools" make-flags)))
(replace 'install
- (lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "install-all" "install-misc"
+ (lambda* (#:key inputs outputs make-flags #:allow-other-keys)
+ ;; Those tools have been built for armhf but are part of the
+ ;; installation in the upstream package. So do the same
+ ;; here.
+ (copy-recursively (assoc-ref inputs "sunxi-target-tools")
+ (assoc-ref outputs "out"))
+ (apply invoke "make" "install-tools" "install-misc"
make-flags))))))
(home-page "https://github.com/linux-sunxi/sunxi-tools")
(synopsis "Hardware management tools for Allwinner computers")
(define-public igt-gpu-tools
(package
(name "igt-gpu-tools")
- (version "1.23")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://cgit.freedesktop.org/xorg/app/"
- "intel-gpu-tools/snapshot/"
- "igt-gpu-tools-" version ".tar.gz"))
- (sha256
- (base32
- "0vzv2i4jfv2pkbqby5k3ap9pzidkmajwqmg3s7wnv8i1h33775iq"))))
+ (version "1.24")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/drm/igt-gpu-tools.git")
+ (commit (string-append "igt-gpu-tools-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gpdjs5aj6vsnzwcjvw5bb120lgffvvshi4202phr0bzw3b92ky8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; many of the tests try to load kernel modules
(invoke "sh" "autogen.sh"))))))
(inputs
`(("cairo" ,cairo)
+ ("elfutils" ,elfutils) ; libdw
("eudev" ,eudev)
("glib" ,glib)
("kmod" ,kmod)
(license license:bsd-2)))
(define-public neofetch
+ (let ((commit "501d6b7594296d9eac8943140f8581daf555873d"))
+ (package
+ (name "neofetch")
+ (version (git-version "6.1.0" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dylanaraps/neofetch")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h5md9jimyc6z4d7w66j27hn8qghzyxgpkh5h9dclzxpp5cs8whb"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:make-flags
+ (list (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
+ (home-page "https://github.com/dylanaraps/neofetch")
+ (synopsis "System information script")
+ (description "Neofetch is a command-line system information tool written in
+Bash. Neofetch displays information about your system next to an image, your OS
+logo, or any ASCII file of your choice. The main purpose of Neofetch is to be
+used in screenshots to show other users what operating system or distribution
+you are running, what theme or icon set you are using, etc.")
+ (license license:expat))))
+
+(define-public screenfetch
(package
- (name "neofetch")
- (version "6.1.0")
+ (name "screenfetch")
+ (version "3.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dylanaraps/neofetch")
- (commit version)))
+ (url "https://github.com/KittyKatt/screenFetch")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "022xzn9jk18k2f4b6011d8jk5nbl84i3mw3inlz4q52p2hvk8fch"))))
- (build-system gnu-build-system)
+ "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr"))))
+ (build-system trivial-build-system)
(arguments
- `(#:tests? #f ; there are no tests
- #:make-flags
- (list (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
- (home-page "https://github.com/dylanaraps/neofetch")
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref %outputs "out")))
+ (mkdir-p (string-append out "/bin/"))
+ (copy-file (string-append source "/screenfetch-dev")
+ (string-append out "/bin/screenfetch"))
+ (install-file (string-append source "/screenfetch.1")
+ (string-append out "/man/man1/"))
+ (install-file (string-append source "/COPYING")
+ (string-append out "/share/doc/" ,name "-" ,version))
+ (substitute* (string-append out "/bin/screenfetch")
+ (("/usr/bin/env bash")
+ (string-append (assoc-ref %build-inputs "bash")
+ "/bin/bash")))
+ (wrap-program
+ (string-append out "/bin/screenfetch")
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref %build-inputs "bc") "/bin:"
+ (assoc-ref %build-inputs "scrot") "/bin:"
+ (assoc-ref %build-inputs "xdpyinfo") "/bin"
+ (assoc-ref %build-inputs "xprop") "/bin"))))
+ (substitute* (string-append out "/bin/screenfetch")
+ (("#!#f")
+ (string-append "#!" (assoc-ref %build-inputs "bash")
+ "/bin/bash")))))))
+ (inputs
+ `(("bash" ,bash)
+ ("bc" ,bc)
+ ("scrot" ,scrot)
+ ("xdpyinfo" ,xdpyinfo)
+ ("xprop" ,xprop)))
+ (home-page "https://github.com/KittyKatt/screenFetch")
(synopsis "System information script")
- (description "Neofetch is a command-line system information tool written in
-Bash. Neofetch displays information about your system next to an image, your OS
-logo, or any ASCII file of your choice. The main purpose of Neofetch is to be
-used in screenshots to show other users what operating system or distribution
-you are running, what theme or icon set you are using, etc.")
- (license license:expat)))
+ (description "Bash screenshot information tool which can be used to
+generate those nifty terminal theme information and ASCII distribution logos in
+everyone's screenshots nowadays.")
+ (license license:gpl3)))
(define-public nnn
(package
(name "nnn")
- (version "2.6")
+ (version "2.8.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz"))
(sha256
- (base32 "0xb6crd9vig3xgjwl8m4bmgcs4azfmfdpx3g8pdpzs28jdg7i3rr"))))
+ (base32 "1g47bndxld875d0xb3pgmlw223mz47p1xcvwym861y6l4zkgiyp0"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
(define-public thermald
(package
(name "thermald")
- (version "1.8")
+ (version "1.9.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1g1l7k8yxj8bl1ysdx8v6anv1s7xk9j072y44gwki70dy48n7j92"))
- (patches
- (search-patches "thermald-make-int-max32-visible.patch"))))
+ (base32 "0iagc3jqpnh6q2fa1gx4wx6r8qg0556j60xr159zqg95djr4dv99"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
- (version "3.0.34-1")
+ (version "3.0.37-1")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name real-name version))
(sha256
- (base32 "0x2s40lwsan2pk292nspjgyw00f9f5fdfmwfvl50924pxhyxn2fh"))))
+ (base32 "15wvj9w601ci3bavd1hk5qlm8dfm7a7cjglczk29yir5yw2jww3f"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash-minimal)
(define-public pscircle
(package
(name "pscircle")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0qsif00dkqa8ky3vl2ycx5anx2yk62nrv47f5lrlqzclz91f00fx"))))
+ (base32 "1sm99423hh90kr4wdjqi9sdrrpk65j2vz2hzj65zcxfxyr6khjci"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(package
(name "lynis")
;; Also update the ‘lynis-sdk’ input to the commit matching this release.
- (version "2.7.4")
+ (version "2.7.5")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1jjk5hcxmp4f4ppsljiq95l2ln6b03azydap3b35lsvxkjybv88k"))
+ (base32 "1lkkbvxm0rgrrlx0szaxmf8ghc3d26wal96sgqk84m37mvs1f7p0"))
(modules '((guix build utils)))
(snippet
'(begin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
- (commit "90f301e21c204792cf372f1cf05890a562f2e31b")))
+ (commit "bf1c1d95121da9ca79a9eac5a15ed8d81e34094d")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
- (base32 "1d0smr1fxrvbc3hl8lzy33im9ahzr0hgs3kk09r8g8xccjkcm52l"))))))
+ (base32 "1ndz5v0039dqa87cva2dk55a8hkw0fibsw8hh2ddmny9qkr4l3dp"))))))
(arguments
`(#:phases
(modify-phases %standard-phases
filter logic in the same fashion as more common packet sniffing tools, such as
tcpdump and snoop.")
(license license:bsd-3)))
+
+(define-public pam-mount
+ (package
+ (name "pam-mount")
+ (version "2.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/pam-mount/pam_mount/"
+ version "/pam_mount-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf"))
+ (patches
+ ;; Patch adding support for encrypted volumes in LUKS2 format.
+ ;; It comes from the Gentoo package definition for sys-auth/pam_mount.
+ (search-patches "pam-mount-luks2-support.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cryptsetup" ,cryptsetup)
+ ("libhx" ,libhx)
+ ("libxml2" ,libxml2)
+ ("linux-pam" ,linux-pam)
+ ("lvm2" ,lvm2)
+ ("openssl" ,openssl)
+ ("pcre" ,pcre)
+ ("libmount" ,util-linux "lib")
+ ("util-linux" ,util-linux)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-slibdir=" %output "/lib")
+ (string-append "--with-ssbindir=" %output "/sbin"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-program-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((util-linux (assoc-ref inputs "util-linux"))
+ (out (assoc-ref outputs "out")))
+ (substitute* "src/mtcrypt.c"
+ (("\"mount\";")
+ (string-append "\"" util-linux "/bin/mount\";"))
+ (("\"umount\";")
+ (string-append "\"" util-linux "/bin/umount\";"))
+ (("\"fsck\",")
+ (string-append "\"" util-linux "/sbin/fsck\",")))
+ (substitute* "src/rdconf1.c"
+ (("\"mount\", \"")
+ (string-append "\"" util-linux "/bin/mount\", \""))
+ (("\"umount\", \"")
+ (string-append "\"" util-linux "/bin/umount\", \""))
+ (("\"fsck\", \"")
+ (string-append "\"" util-linux "/sbin/fsck\", \""))
+ (("\"pmvarrun\", \"")
+ (string-append "\"" out "/sbin/pmvarrun\", \""))))
+ #t)))))
+ (home-page "http://pam-mount.sourceforge.net")
+ (synopsis "PAM module to mount volumes for a user session")
+ (description
+ "Pam-mount is a PAM module that can mount volumes when a user logs in.
+It supports mounting local filesystems of any kind the normal mount utility
+supports. It can also mount encrypted LUKS volumes using the password
+supplied by the user when logging in.")
+ (license (list license:gpl2+ license:lgpl2.1+))))