Package: guix-patches;
Reported by: s.karrmann <at> web.de
Date: Mon, 25 Jan 2021 01:09:02 UTC
Severity: normal
Tags: patch
Done: Andreas Enge <andreas <at> enge.fr>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Andreas Enge <andreas <at> enge.fr> Cc: tracker <at> debbugs.gnu.org Subject: bug#46090: closed ([PATCH] updated skarnet and added s6-man-pages new prjware with runwhen new mandoc) Date: Mon, 31 Mar 2025 10:04:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 31 Mar 2025 12:02:50 +0200 with message-id <Z-poSvC2dePaXFfe <at> jurong> and subject line Close has caused the debbugs.gnu.org bug report #46090, regarding [PATCH] updated skarnet and added s6-man-pages new prjware with runwhen new mandoc to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 46090: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46090 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: s.karrmann <at> web.de To: guix-patches <at> gnu.org Subject: [PATCH] updated skarnet and added s6-man-pages new prjware with runwhen new mandoc Date: Sun, 24 Jan 2021 22:44:22 +0100--- gnu/packages/mandoc.scm | 67 +++++++++++++ gnu/packages/prjware.scm | 86 ++++++++++++++++ gnu/packages/skarnet.scm | 205 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 350 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/mandoc.scm create mode 100644 gnu/packages/prjware.scm diff --git a/gnu/packages/mandoc.scm b/gnu/packages/mandoc.scm new file mode 100644 index 0000000000..04ff18b14d --- /dev/null +++ b/gnu/packages/mandoc.scm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Dr. Stefan Karrmann <S.Karrmann <at> web.de> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages mandoc) + #:use-module (guix packages) + #:use-module (gnu packages perl) + #:use-module (gnu packages compression) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix build utils) + #:use-module (gnu packages gawk)) + +(define-public mandoc + (package + (name "mandoc") + (version "1.14.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://mandoc.bsd.lv/snapshots/mandoc-" + version ".tar.gz")) + (sha256 (base32 + "1xyqllxpjj1kimlipx11pzyywf5c25i4wmv0lqm7ph3gnlnb86c2")))) + (native-inputs `(("perl" ,perl))) + (inputs `(("zlib" ,zlib))) + (build-system gnu-build-system) + (arguments '(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "make" "regress") #t)) + (delete 'check) + (add-before 'configure 'conf-local + ; in general chdir subdir unless not sticky + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "configure" + (("DEFCFLAGS=\\\"-g") "DEFCFLAGS=\"-O3 -static") + (("PREFIX=.*$") (string-append + "PREFIX=" (assoc-ref outputs "out") "\n")) + (("CC=.*$") "CC=gcc\n")) + ))))) + (synopsis "The mandoc manpage compiler toolset") + (description "The mandoc manpage compiler toolset (formerly called \"mdocml\") +is a suite of tools compiling mdoc(7), the roff(7) macro language +of choice for BSD manual pages, and man(7), the predominant +historical language for UNIX manuals. + +It includes a man(1) manual viewer and additional tools. +For general information, see <http://mandoc.bsd.lv/>.") + (home-page "https://mandoc.bsd.lv") +; (license isc bsd-2 bsd-3))) + (license (@ (guix licenses) isc)))) diff --git a/gnu/packages/prjware.scm b/gnu/packages/prjware.scm new file mode 100644 index 0000000000..290ef9435c --- /dev/null +++ b/gnu/packages/prjware.scm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Dr. Stefan Karrmann <S.Karrmann <at> web.de> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages prjware) + #:use-module (guix packages) + #:use-module (gnu packages skarnet) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix build utils) + #:use-module (guix licenses) + #:use-module (gnu packages gawk)) + +(define-public runwhen + (package + (name "runwhen") + (version "2020.05.04") + (source (origin + (method url-fetch) + (uri (string-append + "https://code.dogmap.org/runwhen/releases/runwhen-" + version ".tar.bz2")) + (sha256 + (base32 ; guix hash /tmp/<runwhen...> + "0jqci0sbg116lrghhrdyvmb4a8haqmk6yb34liy5qbprmznkbmi7")))) + (build-system gnu-build-system) + (arguments `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'subdir + ; in general chdir subdir unless not sticky + (lambda _ (chdir (string-append ,name "-" ,version)) + #t)) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* (find-files "src" "\\.c$") + (("pathexec0_run") "exec_e") + (("pathexec_env") "env_mexec") + (("pathexec\\(") "mexec(")) + (with-output-to-file "conf-compile/package-home" + (lambda _ (display (assoc-ref outputs "out")))) + (with-output-to-file "conf-compile/host_link.sh" + (lambda _ (display (string-append "gcc " + "-L" (assoc-ref inputs "skalibs") "/lib " + "-o \"${output?}\" -s ${1+\"$@\"} " + )))) + (with-output-to-file "conf-compile/host_compile.sh" + (lambda _ (display (string-append "gcc -O2 " + "-I" (assoc-ref inputs "skalibs") "/include " + "${1+\"$@\"} -c \"${input?}\" -o \"${output?}\" " + "-Wall -W -Wpointer-arith -Wcast-align " + "-Wwrite-strings")))) + (with-output-to-file "conf-compile/depend_skalibs_sysdeps" + (lambda _ (display (string-append + (assoc-ref inputs "skalibs") + "/lib/skalibs/sysdeps")))) + #t)) + (replace 'build + (lambda _ (invoke "package/build"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append + (assoc-ref outputs "out") "/bin"))) + (copy-recursively "command" bin)))) + (replace 'check + (lambda _ (invoke "package/check"))) + ))) + (inputs `(("skalibs" ,skalibs))) + ;(native-inputs `(("coreutils" ,coreutils))) + (synopsis "Paul Jarc's runwhen package") + (description "Programms rw-sleep, -match, -add, -sub, -min, -max, -touch") + (home-page "https://code.dogmap.org./runwhen/") + (license gpl2))) diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 51be1a30e8..1e0d754ebe 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Z. Ren <zren <at> dlut.edu.cn> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com> +;;; Copyright © 2021 Dr. Stefan Karrmann <S.Karrmann <at> web.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,22 +23,24 @@ (define-module (gnu packages skarnet) #:use-module (gnu packages) + #:use-module (gnu packages mandoc) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu)) (define-public skalibs (package (name "skalibs") - (version "2.10.0.0") + (version "2.10.0.1") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" version ".tar.gz")) (sha256 - (base32 "122xipbxh6awsfdfj37mjc8f3g8ndmmmps4gw5s43mya8wgzib61")))) + (base32 "1chwjzlh13jbrldk77h3i4qjqv8hjpvvd3papcb8j46mvj7sxysg")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -50,6 +53,7 @@ (("\\$\\(wildcard src/lib\\*/\\*.c\\)") "$(sort $(wildcard src/lib*/*.c))")) #t))))) + ; (native-inputs `(("execline" ,execline))) (home-page "https://skarnet.org/software/skalibs/") (synopsis "Platform abstraction libraries for skarnet.org software") (description @@ -59,6 +63,14 @@ including primitive data types, cryptography, and POSIX concepts like sockets and file system operations. It is used by all skarnet.org software.") (license isc))) +(define-public skalibs-tai + (package (inherit skalibs) + (name "skalibs-tai") + (arguments + (append '(#:configure-flags '("--enable-tai-clock")) + (package-arguments skalibs))) + )) + (define-public execline (package (name "execline") @@ -102,16 +114,21 @@ rather than in special syntax, minimizing runtime footprint and complexity."))) (define-public s6 + (let ((commit "7fba356b1378b0d470f746b45797c229e9d882cd") + (revision "1")) (package (name "s6") - (version "2.10.0.0") + (version (git-version "2.10.0.0" revision commit)) (source (origin - (method url-fetch) - (uri (string-append "https://skarnet.org/software/s6/s6-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/skarnet/s6") + (commit commit) + (recursive? #t))) + (file-name (git-file-name name version)) (sha256 - (base32 "0xzqrd0m3wjklmw1w3gjw5dcdxnhgvxv2r5wd6m2ismw2jprr9k0")))) + (base32 "0mi23zimrbklwlx7qsiv9xb85k833lxj1vpvs4xzjjvw8plly1xd")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline))) @@ -145,7 +162,7 @@ runit, as well as various operations on processes and daemons. It is meant to be a toolbox for low-level process and service administration, providing different sets of independent tools that can be used within or without the framework, and that can be assembled together to achieve powerful -functionality with a very small amount of code."))) +functionality with a very small amount of code.")))) (define-public s6-dns (package @@ -368,3 +385,175 @@ all the details."))) "s6-linux-utils is a set of minimalistic Linux-specific system utilities, such as @command{mount}, @command{umount}, and @command{chroot} commands, Linux uevent listeners, a @command{devd} device hotplug daemon, and more."))) + +(define-public mdevd + (package + (name "mdevd") + (version "0.1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet.org/software/mdevd/mdevd-" + version ".tar.gz")) + (sha256 + (base32 "0spvw27xxd0m6j8bl8xysmgsx18fl769smr6dsh25s2d5h3sp2dy")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("execline" ,execline))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs") + (string-append "--with-sysdeps=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet.org/software/mdevd") + (license isc) + (synopsis "A small daemon managing kernel hotplug events, similarly to udevd") + (description + "It uses the same configuration file as mdev, which is a hotplug +manager integrated in the Busybox suite of tools. However, mdev needs +to be registered in /proc/sys/kernel/hotplug, and the kernel forks an +instance of mdev for every event; by contrast, mdevd is a daemon and +does not fork. + +The point of mdevd is to provide a drop-in replacement to mdev that +does not fork, so it can handle large influxes of events at boot time +without a performance drop. mdevd is designed to be entirely +compatible with advanced mdev usage such as mdev-like-a-boss."))) + +(define-public utmps + (package + (name "utmps") + (version "0.1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet.org/software/utmps/utmps-" + version ".tar.gz")) + (sha256 + (base32 "09p0k2sgxr7jlsbrn66fzvzf9zxvpjp85y79xk10hxjglypszyml")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("s6" ,s6))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs") + (string-append "--with-sysdeps=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet.org/software/utmps") + (license isc) + (synopsis "Implementation of the utmpx.h family of functions performing user accounting on Unix systems") + (description + "Traditionally, utmp functionality is provided by the system's libc. +However, not all libcs implement utmp: for instance the musl libc, on +Linux, does not. The main reason for it is that utmp functionality is +difficult to implement in a secure way; in particular, it is +impossible to implement without either running a daemon or allowing +arbitrary programs to tamper with user accounting. + +utmps is a secure implementation of user accounting, using a daemon as +the only authority to manage the utmp and wtmp data; programs running +utmp functions are just clients to this daemon."))) + +(define-public nsss + (package + (name "nsss") + (version "0.1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet.org/software/nsss/nsss-" + version ".tar.gz")) + (sha256 + (base32 "15rxbwf16wm1la079yr2xn4bccjgd7m8dh6r7bpr6s57cj93i2mq")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("s6" ,s6))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs") + (string-append "--with-sysdeps=" + (assoc-ref %build-inputs "skalibs") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet.org/software/nsss") + (license isc) + (synopsis "subset of the pwd.h, group.h and shadow.h family of functions, performing user database access on Unix systems") + (description + "Usually, user database access via getpwnam() and similar function is +provided by the system's libc. However, not all libcs implement a +configurable backend for the user/group database. For instance the +musl libc, on Linux, only supports the standard /etc/passwd mechanism; +it also supports the nscd protocol but this is not quite enough: + +musl only connects to nscd when it cannot find an answer in its files backend +The nscd protocol does not support enumeration, so primitives +such as getpwent() cannot be implemented over nscd. + +The mechanism used by glibc, called Name Service Switch +(abbreviated to nsswitch or NSS), has its own set of issues +that makes it unsuitable in certain situations. + +nsss is a secure implementation of a \"name service switch\": +configurable user/group/shadow database access, providing +getpwnam() et al. functionality by communicating over a Unix +domain socket with a daemon; the daemon can perform lookups in +any database it chooses. + +nsss does not perform dynamic module loading, only adds a +small footprint to the application's binary, and does not add +any complex decision engine into the client's address space. +Applications can be statically linked against the nsss +library, and still benefit from configurable user database +access functions."))) + +(define-public s6-man-pages + (package + (name "s6-man-pages") + (version "2.10.0.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/flexibeast/s6-man-pages/archive/v" + version ".tar.gz")) + (sha256 + (base32 "00qx3qki5wz28sky782h2hwd82fr3nsqrhchrkph9yq4did3354g")))) + (native-inputs `(("mandoc" ,mandoc))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests exist + #:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("^install-mdoc:") "install-mdoc: +\tmkdir -p $(man1) $(man7)") + (("^install-man:") "install-man: +\tmkdir -p $(man1) $(man7)") + (("MANPATH .= /usr/share/man") + (string-append "MANPATH =" + (assoc-ref outputs "out") + "/man"))))) + (replace 'build + (lambda _ (invoke "make" "-j" "1"))) + (replace 'install + (lambda _ + (invoke "make" "install-man")))))) + (home-page "https://github.com/flexibeast/s6-man-pages") + (license isc) + (synopsis "man pages for s6") + (description + "Additional man pages for s6"))) -- 2.20.1
[Message part 3 (message/rfc822, inline)]
From: Andreas Enge <andreas <at> enge.fr> To: 46090-done <at> debbugs.gnu.org Subject: Close Date: Mon, 31 Mar 2025 12:02:50 +0200Closing for lack of feedback after several years. Andreas
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.