From unknown Sat Jun 21 10:44:21 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#46090] [PATCH] updated skarnet and added s6-man-pages new prjware with runwhen new mandoc Resent-From: s.karrmann@web.de Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 25 Jan 2021 01:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 46090 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 46090@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.161153693218466 (code B ref -1); Mon, 25 Jan 2021 01:09:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Jan 2021 01:08:52 +0000 Received: from localhost ([127.0.0.1]:37545 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3qN6-0004ng-GW for submit@debbugs.gnu.org; Sun, 24 Jan 2021 20:08:52 -0500 Received: from lists.gnu.org ([209.51.188.17]:58820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3nBN-00069t-Th for submit@debbugs.gnu.org; Sun, 24 Jan 2021 16:44:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52084) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l3nBN-0001k5-JJ for guix-patches@gnu.org; Sun, 24 Jan 2021 16:44:29 -0500 Received: from mout.web.de ([212.227.15.4]:34965) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l3nBJ-0005UX-SP for guix-patches@gnu.org; Sun, 24 Jan 2021 16:44:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1611524662; bh=8z9Gd7XeDGYt1xz8/KKIbYOaaBfWGc3RpOpC2Z3FvFY=; h=X-UI-Sender-Class:From:To:Subject:Date; b=ruUm/FPLc8xNP3Ldo0hIDTiIAhN6xNswGoHurcI3x93eLw2MGXM9xLa0U/CicIJ1I jRvFIaVDd52JZFIQAuxqn9aiqBKTrmqd6UdTt6A7TfFJldFKU7j0zT+pYr6RRCc0iZ L8mkhxukB7gkOHp9c9xWy8/DIcyPji9INedFWBvs= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from [188.98.116.245] ([188.98.116.245]) by web-mail.web.de (3c-app-webde-bs56.server.lan [172.19.170.203]) (via HTTP); Sun, 24 Jan 2021 22:44:22 +0100 MIME-Version: 1.0 Message-ID: From: s.karrmann@web.de Content-Type: text/plain; charset=UTF-8 Date: Sun, 24 Jan 2021 22:44:22 +0100 Importance: normal Sensitivity: Normal Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-Provags-ID: V03:K1:PMoUH1y5sXvd077AuPHM1jHApMpWOU30rtoTKxP5c0QVfgu/GDdp1clPMlf6Dr+T0Y9nN kA4ppqF/vuu7aeH9weLxnrAGzT80zCNdljvcX7Td2/bO7Rm9ieNkfbKSPnUR0npwgH35/ptQZy2G TM3TUgBVD4XVPEgEKztRpBYAgfbYFBLpgiYIhkLOf1OqGM8yxgduZYjVZHPwihi+PgDqfspl6jsr HLfqF1vD9sWnYj6QiCaTi7pnqFqlSl+MN1yN1p49KKMHAXjX5Nj09Wc/1aC3BlVy3kCIYIhW9+X5 kY= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:CdPiq/k8OLQ=:LSa18rS+Mj1IJhkwLZGshJ ivI+HIrjeqeGqgvjjEOvslP8uL5eWLYhFp3uVFQuenwxnexI6fsEda1LJ7j0vnT0RBZkr3mOr l8sHy0Oo8828oNNWBCGyf/x6xbjUN078cItAYO1MupLROwcZOOw/iZKWGwuj0jCUgN1ze3zoz Ss3T2CjrHVHL/0oKltOX9IdHwt1BQZoSmus+VsLKvqAfoX8mYHRpL/CviM1Fmx2TdCZRY/J55 B/jW8BcopFNWd8+D4j5qXfU2mPB/jiLHyjIQ6mIQYGeW6E0Wjx096tbElQuULfS/+3/z7/4+B WqzLCx6xNXOilkY1yZFMyC0wlL7k+v36GOga8tC6pDhVoZRFVqQO0+cgpxwRWcmPF1bkKrQeS tO9uAQhizgGeB3qGn34qMCXaAUj8nXa6DQSQGu+irasG/JCgQrzuiDmirib6kBgFZywM7cklz JamSy+BeRSK9Mr85OLw/Y0qXZGCi1Faz5hpxbfe9RjQNMpEh2qB3Kf8v99jrW2QxE7e6VD3ok no3bBh1e4Y4MwHQ7dkHFbTLJy7aOfUB6+ESNaMZmsVq6IwQlz83+9Ocdb3V+ol64SXPyOC946 tZ601WMirvU0U= Received-SPF: pass client-ip=212.227.15.4; envelope-from=s.karrmann@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.1 (/) X-Mailman-Approved-At: Sun, 24 Jan 2021 20:08:47 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --- gnu/packages/mandoc=2Escm | 67 +++++++++++++ gnu/packages/prjware=2Escm | 86 ++++++++++++++++ gnu/packages/skarnet=2Escm | 205 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 350 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/mandoc=2Escm create mode 100644 gnu/packages/prjware=2Escm diff --git a/gnu/packages/mandoc=2Escm b/gnu/packages/mandoc=2Escm new file mode 100644 index 0000000000=2E=2E04ff18b14d --- /dev/null +++ b/gnu/packages/mandoc=2Escm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2021 Dr=2E Stefan Karrmann +;;; +;;; This file is part of GNU Guix=2E +;;; +;;; 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=2E +;;; +;;; 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=2E See the +;;; GNU General Public License for more details=2E +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix=2E If not, see =2E + +(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=2E14=2E5") + (source (origin + (method url-fetch) + (uri (string-append + "https://mandoc=2Ebsd=2Elv/snapshots/mandoc-" + version "=2Etar=2Egz")) + (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=3D\\\"-g") "DEFCFLAGS=3D\"-O3 -st= atic") + (("PREFIX=3D=2E*$") (string-append + "PREFIX=3D" (assoc-ref outputs "out") "\n")) + (("CC=3D=2E*$") "CC=3Dgcc\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=2E + +It includes a man(1) manual viewer and additional tools=2E +For general information, see =2E") + (home-page "https://mandoc=2Ebsd=2Elv") +; (license isc bsd-2 bsd-3))) + (license (@ (guix licenses) isc)))) diff --git a/gnu/packages/prjware=2Escm b/gnu/packages/prjware=2Escm new file mode 100644 index 0000000000=2E=2E290ef9435c --- /dev/null +++ b/gnu/packages/prjware=2Escm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2021 Dr=2E Stefan Karrmann +;;; +;;; This file is part of GNU Guix=2E +;;; +;;; 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=2E +;;; +;;; 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=2E See the +;;; GNU General Public License for more details=2E +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix=2E If not, see =2E + +(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=2E05=2E04") + (source (origin + (method url-fetch) + (uri (string-append + "https://code=2Edogmap=2Eorg/runwhen/releases/runwhe= n-" + version "=2Etar=2Ebz2")) + (sha256 + (base32 ; guix hash /tmp/ + "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" "\\=2Ec$") + (("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=2Es= h" + (lambda _ (display (string-append "gcc " + "-L" (assoc-ref inputs "skalibs") "/lib " + "-o \"${output?}\" -s ${1+\"$@\"} " + )))) + (with-output-to-file "conf-compile/host_compile= =2Esh" + (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_skalib= s_sysdeps" + (lambda _ (display (string-append + (assoc-ref inputs "skalib= s") + "/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, -to= uch") + (home-page "https://code=2Edogmap=2Eorg=2E/runwhen/") + (license gpl2))) diff --git a/gnu/packages/skarnet=2Escm b/gnu/packages/skarnet=2Escm index 51be1a30e8=2E=2E1e0d754ebe 100644 --- a/gnu/packages/skarnet=2Escm +++ b/gnu/packages/skarnet=2Escm @@ -4,6 +4,7 @@ ;;; Copyright =C2=A9 2017 Z=2E Ren ;;; Copyright =C2=A9 2018=E2=80=932021 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2020 Oleg Pykhalov +;;; Copyright =C2=A9 2021 Dr=2E Stefan Karrmann ;;; ;;; This file is part of GNU Guix=2E ;;; @@ -22,22 +23,24 @@ =20 (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)) =20 (define-public skalibs (package (name "skalibs") - (version "2=2E10=2E0=2E0") + (version "2=2E10=2E0=2E1") (source (origin (method url-fetch) (uri (string-append "https://skarnet=2Eorg/software/skalibs/skalibs= -" version "=2Etar=2Egz")) (sha256 - (base32 "122xipbxh6awsfdfj37mjc8f3g8ndmmmps4gw5s43mya8wgzib61")))) + (base32 "1chwjzlh13jbrldk77h3i4qjqv8hjpvvd3papcb8j46mvj7sxysg")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -50,6 +53,7 @@ (("\\$\\(wildcard src/lib\\*/\\*=2Ec\\)") "$(sort $(wildcard src/lib*/*=2Ec))")) #t))))) + ; (native-inputs `(("execline" ,execline))) (home-page "https://skarnet=2Eorg/software/skalibs/") (synopsis "Platform abstraction libraries for skarnet=2Eorg software"= ) (description @@ -59,6 +63,14 @@ including primitive data types, cryptography, and POSIX= concepts like sockets and file system operations=2E It is used by all skarnet=2Eorg software= =2E") (license isc))) =20 +(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 fo= otprint and complexity=2E"))) =20 (define-public s6 + (let ((commit "7fba356b1378b0d470f746b45797c229e9d882cd") + (revision "1")) (package (name "s6") - (version "2=2E10=2E0=2E0") + (version (git-version "2=2E10=2E0=2E0" revision commit)) (source (origin - (method url-fetch) - (uri (string-append "https://skarnet=2Eorg/software/s6/s6-" - version "=2Etar=2Egz")) + (method git-fetch) + (uri (git-reference + (url "https://github=2Ecom/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=2E 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 th= e framework, and that can be assembled together to achieve powerful -functionality with a very small amount of code=2E"))) +functionality with a very small amount of code=2E")))) =20 (define-public s6-dns (package @@ -368,3 +385,175 @@ all the details=2E"))) "s6-linux-utils is a set of minimalistic Linux-specific system utili= ties, such as @command{mount}, @command{umount}, and @command{chroot} commands, Linux uevent listeners, a @command{devd} device hotplug daemon, and more= =2E"))) + +(define-public mdevd + (package + (name "mdevd") + (version "0=2E1=2E3=2E0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet=2Eorg/software/mdevd/mdevd-" + version "=2Etar=2Egz")) + (sha256 + (base32 "0spvw27xxd0m6j8bl8xysmgsx18fl769smr6dsh25s2d5h3sp2dy")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("execline" ,execline))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs") + (string-append "--with-sysdeps=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet=2Eorg/software/mdevd") + (license isc) + (synopsis "A small daemon managing kernel hotplug events, similarly t= o udevd") + (description + "It uses the same configuration file as mdev, which is a hotplug +manager integrated in the Busybox suite of tools=2E 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=2E + +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=2E mdevd is designed to be entirely +compatible with advanced mdev usage such as mdev-like-a-boss=2E"))) + +(define-public utmps + (package + (name "utmps") + (version "0=2E1=2E0=2E0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet=2Eorg/software/utmps/utmps-" + version "=2Etar=2Egz")) + (sha256 + (base32 "09p0k2sgxr7jlsbrn66fzvzf9zxvpjp85y79xk10hxjglypszyml")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("s6" ,s6))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs") + (string-append "--with-sysdeps=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet=2Eorg/software/utmps") + (license isc) + (synopsis "Implementation of the utmpx=2Eh family of functions perfor= ming user accounting on Unix systems") + (description + "Traditionally, utmp functionality is provided by the system's libc= =2E +However, not all libcs implement utmp: for instance the musl libc, on +Linux, does not=2E 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=2E + +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=2E"))) + +(define-public nsss + (package + (name "nsss") + (version "0=2E1=2E0=2E0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet=2Eorg/software/nsss/nsss-" + version "=2Etar=2Egz")) + (sha256 + (base32 "15rxbwf16wm1la079yr2xn4bccjgd7m8dh6r7bpr6s57cj93i2mq")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("s6" ,s6))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs") + (string-append "--with-sysdeps=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet=2Eorg/software/nsss") + (license isc) + (synopsis "subset of the pwd=2Eh, group=2Eh and shadow=2Eh family of = functions, performing user database access on Unix systems") + (description + "Usually, user database access via getpwnam() and similar function i= s +provided by the system's libc=2E However, not all libcs implement a +configurable backend for the user/group database=2E 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 bac= kend +The nscd protocol does not support enumeration, so primitives +such as getpwent() cannot be implemented over nscd=2E + +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=2E + +nsss is a secure implementation of a \"name service switch\": +configurable user/group/shadow database access, providing +getpwnam() et al=2E functionality by communicating over a Unix +domain socket with a daemon; the daemon can perform lookups in +any database it chooses=2E + +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=2E +Applications can be statically linked against the nsss +library, and still benefit from configurable user database +access functions=2E"))) + +(define-public s6-man-pages + (package + (name "s6-man-pages") + (version "2=2E10=2E0=2E0=2E1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github=2Ecom/flexibeast/s6-man-pages/archive/v" + version "=2Etar=2Egz")) + (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 =2E=3D /usr/share/man") + (string-append "MANPATH =3D" + (assoc-ref outputs "out") + "/man"))))) + (replace 'build + (lambda _ (invoke "make" "-j" "1"))) + (replace 'install + (lambda _ + (invoke "make" "install-man")))))) + (home-page "https://github=2Ecom/flexibeast/s6-man-pages") + (license isc) + (synopsis "man pages for s6") + (description + "Additional man pages for s6"))) --=20 2=2E20=2E1 From unknown Sat Jun 21 10:44:21 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#46090] [PATCH] updated skarnet and added s6-man-pages new prjware with runwhen new mandoc Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 27 Mar 2021 22:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46090 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: s.karrmann@web.de Cc: 46090@debbugs.gnu.org Received: via spool by 46090-submit@debbugs.gnu.org id=B46090.161688266610300 (code B ref 46090); Sat, 27 Mar 2021 22:05:01 +0000 Received: (at 46090) by debbugs.gnu.org; 27 Mar 2021 22:04:26 +0000 Received: from localhost ([127.0.0.1]:45114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQH2g-0002g4-CC for submit@debbugs.gnu.org; Sat, 27 Mar 2021 18:04:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56988) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lQH2e-0002fr-RM for 46090@debbugs.gnu.org; Sat, 27 Mar 2021 18:04:25 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43732) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lQH2Z-0001kH-MO; Sat, 27 Mar 2021 18:04:19 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43690 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lQH2Z-0004ef-0f; Sat, 27 Mar 2021 18:04:19 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: Date: Sat, 27 Mar 2021 23:04:17 +0100 In-Reply-To: (s. karrmann's message of "Sun, 24 Jan 2021 22:44:22 +0100") Message-ID: <87ft0gxnha.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, s.karrmann@web.de skribis: > +(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")) I have just pushed a =E2=80=98mandoc=E2=80=99 package in (gnu packages man)= , partly inspired by yours here. Apologies for not looking at your patch earlier! In general, we send one patch per =E2=80=9Catomic=E2=80=9D change, which usually means one patc= h per added/updated package. The patch you sent contains a lot more, which is nice, but it would facilitate review if you could split it in several patches and with a commit log, as per: https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html Could you look into it? Thanks in advance, Ludo=E2=80=99. From unknown Sat Jun 21 10:44:21 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: s.karrmann@web.de Subject: bug#46090: closed (Close) Message-ID: References: X-Gnu-PR-Message: they-closed 46090 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 46090@debbugs.gnu.org Date: Mon, 31 Mar 2025 10:04:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1743415444-20910-1" This is a multi-part message in MIME format... ------------=_1743415444-20910-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #46090: [PATCH] updated skarnet and added s6-man-pages new prjware with run= when new mandoc which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 46090@debbugs.gnu.org. --=20 46090: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D46090 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1743415444-20910-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 46090-done) by debbugs.gnu.org; 31 Mar 2025 10:03:06 +0000 Received: from localhost ([127.0.0.1]:39921 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tzByy-0005Hr-3V for submit@debbugs.gnu.org; Mon, 31 Mar 2025 06:03:05 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:58198) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tzByu-0005G8-LX for 46090-done@debbugs.gnu.org; Mon, 31 Mar 2025 06:03:01 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 977DE185; Mon, 31 Mar 2025 12:02:53 +0200 (CEST) Authentication-Results: hera.aquilenet.fr; none X-Virus-Scanned: Debian amavis at hera.aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavis, port 10024) with ESMTP id d2DStJ8LAT5J; Mon, 31 Mar 2025 12:02:52 +0200 (CEST) Received: from jurong (176-179-191-150.abo.bbox.fr [176.179.191.150]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 26AF4EC; Mon, 31 Mar 2025 12:02:52 +0200 (CEST) Date: Mon, 31 Mar 2025 12:02:50 +0200 From: Andreas Enge To: 46090-done@debbugs.gnu.org Subject: Close Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: 977DE185 X-Spamd-Result: default: False [8.40 / 15.00]; SPAM_FLAG(5.00)[]; NEURAL_SPAM(3.00)[1.000]; MID_RHS_NOT_FQDN(0.50)[]; MIME_GOOD(-0.10)[text/plain]; BAYES_HAM(-0.00)[10.83%]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[] X-Spam-Level: ******** X-Rspamd-Action: add header X-Spamd-Bar: ++++++++ X-Rspamd-Server: hera X-Spam: Yes X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46090-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Closing for lack of feedback after several years. Andreas ------------=_1743415444-20910-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 25 Jan 2021 01:08:52 +0000 Received: from localhost ([127.0.0.1]:37545 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3qN6-0004ng-GW for submit@debbugs.gnu.org; Sun, 24 Jan 2021 20:08:52 -0500 Received: from lists.gnu.org ([209.51.188.17]:58820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3nBN-00069t-Th for submit@debbugs.gnu.org; Sun, 24 Jan 2021 16:44:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52084) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l3nBN-0001k5-JJ for guix-patches@gnu.org; Sun, 24 Jan 2021 16:44:29 -0500 Received: from mout.web.de ([212.227.15.4]:34965) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l3nBJ-0005UX-SP for guix-patches@gnu.org; Sun, 24 Jan 2021 16:44:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1611524662; bh=8z9Gd7XeDGYt1xz8/KKIbYOaaBfWGc3RpOpC2Z3FvFY=; h=X-UI-Sender-Class:From:To:Subject:Date; b=ruUm/FPLc8xNP3Ldo0hIDTiIAhN6xNswGoHurcI3x93eLw2MGXM9xLa0U/CicIJ1I jRvFIaVDd52JZFIQAuxqn9aiqBKTrmqd6UdTt6A7TfFJldFKU7j0zT+pYr6RRCc0iZ L8mkhxukB7gkOHp9c9xWy8/DIcyPji9INedFWBvs= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from [188.98.116.245] ([188.98.116.245]) by web-mail.web.de (3c-app-webde-bs56.server.lan [172.19.170.203]) (via HTTP); Sun, 24 Jan 2021 22:44:22 +0100 MIME-Version: 1.0 Message-ID: From: s.karrmann@web.de To: guix-patches@gnu.org Subject: [PATCH] updated skarnet and added s6-man-pages new prjware with runwhen new mandoc Content-Type: text/plain; charset=UTF-8 Date: Sun, 24 Jan 2021 22:44:22 +0100 Importance: normal Sensitivity: Normal Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-Provags-ID: V03:K1:PMoUH1y5sXvd077AuPHM1jHApMpWOU30rtoTKxP5c0QVfgu/GDdp1clPMlf6Dr+T0Y9nN kA4ppqF/vuu7aeH9weLxnrAGzT80zCNdljvcX7Td2/bO7Rm9ieNkfbKSPnUR0npwgH35/ptQZy2G TM3TUgBVD4XVPEgEKztRpBYAgfbYFBLpgiYIhkLOf1OqGM8yxgduZYjVZHPwihi+PgDqfspl6jsr HLfqF1vD9sWnYj6QiCaTi7pnqFqlSl+MN1yN1p49KKMHAXjX5Nj09Wc/1aC3BlVy3kCIYIhW9+X5 kY= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:CdPiq/k8OLQ=:LSa18rS+Mj1IJhkwLZGshJ ivI+HIrjeqeGqgvjjEOvslP8uL5eWLYhFp3uVFQuenwxnexI6fsEda1LJ7j0vnT0RBZkr3mOr l8sHy0Oo8828oNNWBCGyf/x6xbjUN078cItAYO1MupLROwcZOOw/iZKWGwuj0jCUgN1ze3zoz Ss3T2CjrHVHL/0oKltOX9IdHwt1BQZoSmus+VsLKvqAfoX8mYHRpL/CviM1Fmx2TdCZRY/J55 B/jW8BcopFNWd8+D4j5qXfU2mPB/jiLHyjIQ6mIQYGeW6E0Wjx096tbElQuULfS/+3/z7/4+B WqzLCx6xNXOilkY1yZFMyC0wlL7k+v36GOga8tC6pDhVoZRFVqQO0+cgpxwRWcmPF1bkKrQeS tO9uAQhizgGeB3qGn34qMCXaAUj8nXa6DQSQGu+irasG/JCgQrzuiDmirib6kBgFZywM7cklz JamSy+BeRSK9Mr85OLw/Y0qXZGCi1Faz5hpxbfe9RjQNMpEh2qB3Kf8v99jrW2QxE7e6VD3ok no3bBh1e4Y4MwHQ7dkHFbTLJy7aOfUB6+ESNaMZmsVq6IwQlz83+9Ocdb3V+ol64SXPyOC946 tZ601WMirvU0U= Received-SPF: pass client-ip=212.227.15.4; envelope-from=s.karrmann@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 24 Jan 2021 20:08:47 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --- gnu/packages/mandoc=2Escm | 67 +++++++++++++ gnu/packages/prjware=2Escm | 86 ++++++++++++++++ gnu/packages/skarnet=2Escm | 205 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 350 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/mandoc=2Escm create mode 100644 gnu/packages/prjware=2Escm diff --git a/gnu/packages/mandoc=2Escm b/gnu/packages/mandoc=2Escm new file mode 100644 index 0000000000=2E=2E04ff18b14d --- /dev/null +++ b/gnu/packages/mandoc=2Escm @@ -0,0 +1,67 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2021 Dr=2E Stefan Karrmann +;;; +;;; This file is part of GNU Guix=2E +;;; +;;; 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=2E +;;; +;;; 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=2E See the +;;; GNU General Public License for more details=2E +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix=2E If not, see =2E + +(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=2E14=2E5") + (source (origin + (method url-fetch) + (uri (string-append + "https://mandoc=2Ebsd=2Elv/snapshots/mandoc-" + version "=2Etar=2Egz")) + (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=3D\\\"-g") "DEFCFLAGS=3D\"-O3 -st= atic") + (("PREFIX=3D=2E*$") (string-append + "PREFIX=3D" (assoc-ref outputs "out") "\n")) + (("CC=3D=2E*$") "CC=3Dgcc\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=2E + +It includes a man(1) manual viewer and additional tools=2E +For general information, see =2E") + (home-page "https://mandoc=2Ebsd=2Elv") +; (license isc bsd-2 bsd-3))) + (license (@ (guix licenses) isc)))) diff --git a/gnu/packages/prjware=2Escm b/gnu/packages/prjware=2Escm new file mode 100644 index 0000000000=2E=2E290ef9435c --- /dev/null +++ b/gnu/packages/prjware=2Escm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2021 Dr=2E Stefan Karrmann +;;; +;;; This file is part of GNU Guix=2E +;;; +;;; 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=2E +;;; +;;; 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=2E See the +;;; GNU General Public License for more details=2E +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix=2E If not, see =2E + +(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=2E05=2E04") + (source (origin + (method url-fetch) + (uri (string-append + "https://code=2Edogmap=2Eorg/runwhen/releases/runwhe= n-" + version "=2Etar=2Ebz2")) + (sha256 + (base32 ; guix hash /tmp/ + "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" "\\=2Ec$") + (("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=2Es= h" + (lambda _ (display (string-append "gcc " + "-L" (assoc-ref inputs "skalibs") "/lib " + "-o \"${output?}\" -s ${1+\"$@\"} " + )))) + (with-output-to-file "conf-compile/host_compile= =2Esh" + (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_skalib= s_sysdeps" + (lambda _ (display (string-append + (assoc-ref inputs "skalib= s") + "/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, -to= uch") + (home-page "https://code=2Edogmap=2Eorg=2E/runwhen/") + (license gpl2))) diff --git a/gnu/packages/skarnet=2Escm b/gnu/packages/skarnet=2Escm index 51be1a30e8=2E=2E1e0d754ebe 100644 --- a/gnu/packages/skarnet=2Escm +++ b/gnu/packages/skarnet=2Escm @@ -4,6 +4,7 @@ ;;; Copyright =C2=A9 2017 Z=2E Ren ;;; Copyright =C2=A9 2018=E2=80=932021 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2020 Oleg Pykhalov +;;; Copyright =C2=A9 2021 Dr=2E Stefan Karrmann ;;; ;;; This file is part of GNU Guix=2E ;;; @@ -22,22 +23,24 @@ =20 (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)) =20 (define-public skalibs (package (name "skalibs") - (version "2=2E10=2E0=2E0") + (version "2=2E10=2E0=2E1") (source (origin (method url-fetch) (uri (string-append "https://skarnet=2Eorg/software/skalibs/skalibs= -" version "=2Etar=2Egz")) (sha256 - (base32 "122xipbxh6awsfdfj37mjc8f3g8ndmmmps4gw5s43mya8wgzib61")))) + (base32 "1chwjzlh13jbrldk77h3i4qjqv8hjpvvd3papcb8j46mvj7sxysg")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -50,6 +53,7 @@ (("\\$\\(wildcard src/lib\\*/\\*=2Ec\\)") "$(sort $(wildcard src/lib*/*=2Ec))")) #t))))) + ; (native-inputs `(("execline" ,execline))) (home-page "https://skarnet=2Eorg/software/skalibs/") (synopsis "Platform abstraction libraries for skarnet=2Eorg software"= ) (description @@ -59,6 +63,14 @@ including primitive data types, cryptography, and POSIX= concepts like sockets and file system operations=2E It is used by all skarnet=2Eorg software= =2E") (license isc))) =20 +(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 fo= otprint and complexity=2E"))) =20 (define-public s6 + (let ((commit "7fba356b1378b0d470f746b45797c229e9d882cd") + (revision "1")) (package (name "s6") - (version "2=2E10=2E0=2E0") + (version (git-version "2=2E10=2E0=2E0" revision commit)) (source (origin - (method url-fetch) - (uri (string-append "https://skarnet=2Eorg/software/s6/s6-" - version "=2Etar=2Egz")) + (method git-fetch) + (uri (git-reference + (url "https://github=2Ecom/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=2E 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 th= e framework, and that can be assembled together to achieve powerful -functionality with a very small amount of code=2E"))) +functionality with a very small amount of code=2E")))) =20 (define-public s6-dns (package @@ -368,3 +385,175 @@ all the details=2E"))) "s6-linux-utils is a set of minimalistic Linux-specific system utili= ties, such as @command{mount}, @command{umount}, and @command{chroot} commands, Linux uevent listeners, a @command{devd} device hotplug daemon, and more= =2E"))) + +(define-public mdevd + (package + (name "mdevd") + (version "0=2E1=2E3=2E0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet=2Eorg/software/mdevd/mdevd-" + version "=2Etar=2Egz")) + (sha256 + (base32 "0spvw27xxd0m6j8bl8xysmgsx18fl769smr6dsh25s2d5h3sp2dy")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("execline" ,execline))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs") + (string-append "--with-sysdeps=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet=2Eorg/software/mdevd") + (license isc) + (synopsis "A small daemon managing kernel hotplug events, similarly t= o udevd") + (description + "It uses the same configuration file as mdev, which is a hotplug +manager integrated in the Busybox suite of tools=2E 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=2E + +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=2E mdevd is designed to be entirely +compatible with advanced mdev usage such as mdev-like-a-boss=2E"))) + +(define-public utmps + (package + (name "utmps") + (version "0=2E1=2E0=2E0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet=2Eorg/software/utmps/utmps-" + version "=2Etar=2Egz")) + (sha256 + (base32 "09p0k2sgxr7jlsbrn66fzvzf9zxvpjp85y79xk10hxjglypszyml")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("s6" ,s6))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs") + (string-append "--with-sysdeps=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet=2Eorg/software/utmps") + (license isc) + (synopsis "Implementation of the utmpx=2Eh family of functions perfor= ming user accounting on Unix systems") + (description + "Traditionally, utmp functionality is provided by the system's libc= =2E +However, not all libcs implement utmp: for instance the musl libc, on +Linux, does not=2E 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=2E + +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=2E"))) + +(define-public nsss + (package + (name "nsss") + (version "0=2E1=2E0=2E0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://skarnet=2Eorg/software/nsss/nsss-" + version "=2Etar=2Egz")) + (sha256 + (base32 "15rxbwf16wm1la079yr2xn4bccjgd7m8dh6r7bpr6s57cj93i2mq")))) + (build-system gnu-build-system) + (inputs `(("skalibs" ,skalibs) + ("s6" ,s6))) + (arguments + '(#:configure-flags (list + (string-append "--with-lib=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs") + (string-append "--with-sysdeps=3D" + (assoc-ref %build-inputs "skalib= s") + "/lib/skalibs/sysdeps")) + #:tests? #f)) ; no tests exist + (home-page "https://skarnet=2Eorg/software/nsss") + (license isc) + (synopsis "subset of the pwd=2Eh, group=2Eh and shadow=2Eh family of = functions, performing user database access on Unix systems") + (description + "Usually, user database access via getpwnam() and similar function i= s +provided by the system's libc=2E However, not all libcs implement a +configurable backend for the user/group database=2E 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 bac= kend +The nscd protocol does not support enumeration, so primitives +such as getpwent() cannot be implemented over nscd=2E + +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=2E + +nsss is a secure implementation of a \"name service switch\": +configurable user/group/shadow database access, providing +getpwnam() et al=2E functionality by communicating over a Unix +domain socket with a daemon; the daemon can perform lookups in +any database it chooses=2E + +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=2E +Applications can be statically linked against the nsss +library, and still benefit from configurable user database +access functions=2E"))) + +(define-public s6-man-pages + (package + (name "s6-man-pages") + (version "2=2E10=2E0=2E0=2E1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github=2Ecom/flexibeast/s6-man-pages/archive/v" + version "=2Etar=2Egz")) + (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 =2E=3D /usr/share/man") + (string-append "MANPATH =3D" + (assoc-ref outputs "out") + "/man"))))) + (replace 'build + (lambda _ (invoke "make" "-j" "1"))) + (replace 'install + (lambda _ + (invoke "make" "install-man")))))) + (home-page "https://github=2Ecom/flexibeast/s6-man-pages") + (license isc) + (synopsis "man pages for s6") + (description + "Additional man pages for s6"))) --=20 2=2E20=2E1 ------------=_1743415444-20910-1--