Package: guix-patches;
Reported by: Vivien Kraus <vivien <at> planete-kraus.eu>
Date: Tue, 27 Dec 2022 17:05:01 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60358 in the body.
You can then email your comments to 60358 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Tue, 27 Dec 2022 17:05:01 GMT) Full text and rfc822 format available.Vivien Kraus <vivien <at> planete-kraus.eu>
:guix-patches <at> gnu.org
.
(Tue, 27 Dec 2022 17:05:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: guix-patches <at> gnu.org Subject: [PATCH] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-latest): New variable. This one always tracks the latest upstream commit, so don’t use it as an input. (gnulib): New variable. This is a "recent" snapshot. --- gnu/packages/build-tools.scm | 71 ++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..062956f685 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -38,6 +38,7 @@ (define-module (gnu packages build-tools) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages adns) @@ -48,11 +49,13 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages cpp) #:use-module (gnu packages elf) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -803,3 +806,71 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +;; Gnulib is a source code library. The developers encourage you to develop +;; your programs with the latest commit of gnulib. However, gnulib is also +;; used to bootstrap some GNU programs. To avoid rebuilding the world when a +;; new gnulib commit is pushed, gnulib as a native input must use a known +;; snapshot of the library. + +(define-public gnulib-latest + ;; Use this to develop. + (package + (name "gnulib-latest") + (version "latest") + (source + (git-checkout + (url "https://git.savannah.gnu.org/git/gnulib.git"))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (copy-recursively "." + (string-append #$output "/share/gnulib-srcdir"))))) + #:tests? #f)) ;; Tests are syntax and indentation checks for the + ;; maintainer. + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "GNU portability library") + (description + "Gnulib is a library that provides common functions from the glibc to your +programs, in order to enhance portability across operating systems. It also +provides common maintainer tools for gnu packages. This package always tracks +the latest commit in gnulib. @strong{For packages dependencies, please use the +@code{gnulib} package instead.} The latter provides a recent enough snapshot.") + (native-search-paths + (list + (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "share/gnulib-srcdir"))))) + (license + (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + ;; Use this as a native input. + (package + (inherit gnulib-latest) + (name "gnulib") + (version "2022-12-27") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit "fde75446490e18d2539817ca418ab8adf73b02d3"))) + (sha256 + (base32 + "0fjbdhwi9025wyq39rwc2j6aazfmagx056kkbvxx6bs97i80dcim")))) + (synopsis "GNU portability library") + (description + "Gnulib is a library that provides common functions from the glibc to your +programs, in order to enhance portability across operating systems. It also +provides common maintainer tools for gnu packages. This package provides a +recent snapshot of gnulib."))) base-commit: 8f93a1e01a879ae026678dd92c18e2a2a49be540 -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Tue, 27 Dec 2022 17:34:02 GMT) Full text and rfc822 format available.Message #8 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: Providing gnulib Date: Tue, 27 Dec 2022 18:33:15 +0100
Hello guix, I’m trying to provide gnulib for guix. However, when I try to use a git-checkout as the source, to always have the latest commit, then guix fails with: updating checkout of 'https://git.savannah.gnu.org/git/gnulib.git'... guix build: error: Git failure while fetching https://git.savannah.gnu.org/git/gnulib.git: reference 'refs/remotes/origin/HEAD' not found I don’t fully understand what happens. Do you have an idea? Also, when using gnulib, the whole point is to have GNULIB_SRCDIR point to a directory where the gnulib files are, so that bootstrap srcipts can use that instead of a git submodule (which is not possible with guix). I tried to set it as a search-path-specification, which seems to work, but I’m not sure that it is the correct approach. What do you think? Best regards, Vivien
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Tue, 27 Dec 2022 18:45:01 GMT) Full text and rfc822 format available.Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Simon Josefsson <simon <at> josefsson.org> To: Vivien Kraus via Guix-patches via <guix-patches <at> gnu.org> Cc: 60358 <at> debbugs.gnu.org, Vivien Kraus <vivien <at> planete-kraus.eu> Subject: Re: [bug#60358] [PATCH] gnu: Add gnulib. Date: Tue, 27 Dec 2022 19:44:16 +0100
[Message part 1 (text/plain, inline)]
Hi. Many packages needs a specific checkout of gnulib to work reliably, via --gnulib-refdir= (rather than --gnulib-srcdir=), would you consider installing the entire gnulib git archive instead of just the latest checkout? Since so many packages these days require different versions of gnulib, it may make sense to mak the gnulib git archive available as an installed Guix package, so that other packages may bootstrap build from it and get the intended gnulib git checkout. If a checked out gnulib git archive is available as a Guix package, other packages could build-depend on it and use both --gnulib-refdir and --gnulib-srcdir. If I understand your approach now, only --gnulib-srcdir is possible. You could put the git archive under /share/gnulib-git or merely /share/gnulib/ and set both GNULIB_REFDIR and GNULIB_SRCDIR. /Simon
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Tue, 27 Dec 2022 18:45:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Tue, 27 Dec 2022 20:46:02 GMT) Full text and rfc822 format available.Message #17 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH] gnu: Add gnulib. Date: Tue, 27 Dec 2022 21:45:45 +0100
Am Dienstag, dem 27.12.2022 um 17:23 +0100 schrieb Vivien Kraus: > * gnu/packages/build-tools.scm (gnulib-latest): New variable. This > one always > tracks the latest upstream commit, so don’t use it as an input. > (gnulib): New variable. This is a "recent" snapshot. The preferred package:patch ratio is 1:1. > --- > gnu/packages/build-tools.scm | 71 > ++++++++++++++++++++++++++++++++++++ > 1 file changed, 71 insertions(+) > > diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build- > tools.scm > index 6c1350c44f..062956f685 100644 > --- a/gnu/packages/build-tools.scm > +++ b/gnu/packages/build-tools.scm > @@ -38,6 +38,7 @@ (define-module (gnu packages build-tools) > #:use-module (guix gexp) > #:use-module (guix download) > #:use-module (guix git-download) > + #:use-module (guix git) > #:use-module (guix build-system cmake) > #:use-module (gnu packages) > #:use-module (gnu packages adns) > @@ -48,11 +49,13 @@ (define-module (gnu packages build-tools) > #:use-module (gnu packages cpp) > #:use-module (gnu packages elf) > #:use-module (gnu packages linux) > + #:use-module (gnu packages lisp) > #:use-module (gnu packages logging) > #:use-module (gnu packages lua) > #:use-module (gnu packages ninja) > #:use-module (gnu packages package-management) > #:use-module (gnu packages pcre) > + #:use-module (gnu packages perl) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages pretty-print) > #:use-module (gnu packages protobuf) > @@ -803,3 +806,71 @@ (define-public genie > same settings to multiple projects. It supports generating projects > using GNU > Makefiles, JSON Compilation Database, and experimentally Ninja.") > (license license:bsd-3)))) > + > +;; Gnulib is a source code library. The developers encourage you to > develop > +;; your programs with the latest commit of gnulib. However, gnulib > is also > +;; used to bootstrap some GNU programs. To avoid rebuilding the > world when a > +;; new gnulib commit is pushed, gnulib as a native input must use a > known > +;; snapshot of the library. > + > +(define-public gnulib-latest > + ;; Use this to develop. > + (package > + (name "gnulib-latest") > + (version "latest") > + (source > + (git-checkout > + (url "https://git.savannah.gnu.org/git/gnulib.git"))) Don't. If you need to check out a particular commit, use the --with- commit CLI option or a transformer. > + (build-system gnu-build-system) > + (arguments > + (list > + #:phases > + #~(modify-phases %standard-phases > + (delete 'configure) > + (replace 'install > + (lambda _ > + (install-file "gnulib-tool" > + (string-append #$output "/bin")) > + (copy-recursively "." > + (string-append #$output > "/share/gnulib-srcdir"))))) > + #:tests? #f)) ;; Tests are syntax and indentation checks for > the > + ;; maintainer. > + (inputs ;; Shebangs for some auxiliary build files. > + (list python perl clisp)) > + (home-page "https://www.gnu.org/software/gnulib/") > + (synopsis "GNU portability library") > + (description > + "Gnulib is a library that provides common functions from the > glibc to your > +programs, in order to enhance portability across operating systems. > It also > +provides common maintainer tools for gnu packages. This package > always tracks > +the latest commit in gnulib. @strong{For packages dependencies, > please use the > +@code{gnulib} package instead.} The latter provides a recent enough > snapshot.") > + (native-search-paths > + (list > + (search-path-specification > + (variable "GNULIB_SRCDIR") > + (files (list "share/gnulib-srcdir"))))) > + (license > + (list license:lgpl2.0+ license:gpl3+)))) > + > +(define-public gnulib > + ;; Use this as a native input. > + (package > + (inherit gnulib-latest) > + (name "gnulib") > + (version "2022-12-27") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.savannah.gnu.org/git/gnulib.git") > + (commit "fde75446490e18d2539817ca418ab8adf73b02d3"))) Don't throw together raw commits and commit-less versions. Use git- version instead. > + (sha256 > + (base32 > + "0fjbdhwi9025wyq39rwc2j6aazfmagx056kkbvxx6bs97i80dcim")))) > + (synopsis "GNU portability library") > + (description > + "Gnulib is a library that provides common functions from the > glibc to your > +programs, in order to enhance portability across operating systems. > It also > +provides common maintainer tools for gnu packages. This package > provides a > +recent snapshot of gnulib."))) Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Wed, 28 Dec 2022 01:58:02 GMT) Full text and rfc822 format available.Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Simon Josefsson <simon <at> josefsson.org>, Vivien Kraus via Guix-patches via <guix-patches <at> gnu.org> Cc: 60358 <at> debbugs.gnu.org Subject: Re: [bug#60358] [PATCH] gnu: Add gnulib. Date: Wed, 28 Dec 2022 02:57:40 +0100
Hello! Le mardi 27 décembre 2022 à 19:44 +0100, Simon Josefsson a écrit : > Hi. Many packages needs a specific checkout of gnulib to work > reliably, > via --gnulib-refdir= (rather than --gnulib-srcdir=), would you > consider > installing the entire gnulib git archive instead of just the latest > checkout? I did not know about gnulib-refdir. Providing the entire gnulib archive is tempting, but there might be downsides. The contents of the .git directory depends on how trees and objects have been packed by git. As far as I understand, it is possible that pushing a commit in gnulib results in commit objects from previous commits to be re-packed. Thus, if I clone gnulib from the initial commit to a specific commit, the result might depend on other, unrelated commits. So, the content of .git is not reproducible. Maybe I could get around that by deleting all the refs, doing an aggressive garbage collection and then re-packing, but I’m not sure I would get a reproducible result. Now, I don’t know much about gnulib-refdir. How does gnulib-refdir work? Do you have an example of a package that uses this feature? Can I convince the package to use a checkout instead of the gnulib repository, if I swear I have the exact checkout it wants, maybe by tweaking bootstrap.conf or something? Vivien
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Wed, 28 Dec 2022 01:58:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Wed, 28 Dec 2022 02:40:01 GMT) Full text and rfc822 format available.Message #26 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v2 1/2] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib): New variable. (gnulib-checkout): New function. It returns a package with a specific commit of gnulib. --- gnu/packages/build-tools.scm | 58 ++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..5b4fc71429 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -38,6 +38,7 @@ (define-module (gnu packages build-tools) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages adns) @@ -48,11 +49,13 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages cpp) #:use-module (gnu packages elf) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -803,3 +806,58 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define-public (gnulib-checkout gl-version gl-commit gl-hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version gl-version "1" gl-commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit gl-commit))) + (file-name (git-file-name name version)) + (sha256 (base32 gl-hash)))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (copy-recursively "." + (string-append + #$output + "/share/gnulib/" + #$gl-commit))))) + #:tests? #f)) ;; Tests are syntax and indentation checks for the + ;; maintainer. + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list (string-append "share/gnulib/" gl-commit)))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + "2022-12-27" + "fde75446490e18d2539817ca418ab8adf73b02d3" + "0fjbdhwi9025wyq39rwc2j6aazfmagx056kkbvxx6bs97i80dcim")) base-commit: 0cb8f7125b19264b01962c1249c3df4c5ce85aa9 -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Wed, 28 Dec 2022 02:40:01 GMT) Full text and rfc822 format available.Message #29 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..d0f8ca8a15 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,28 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh"))))))) (native-inputs (list autoconf automake @@ -412,7 +421,9 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + gnulib ; gnulib requires git even if nothing is downloaded. + git)) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Wed, 28 Dec 2022 02:51:01 GMT) Full text and rfc822 format available.Message #32 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:50:32 +0100
Le mercredi 28 décembre 2022 à 03:20 +0100, Vivien Kraus a écrit : > * gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang > autopull.sh and > autogen.sh. > * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and > git. > --- > gnu/packages/tls.scm | 37 ++++++++++++++++++++++++------------- > 1 file changed, 24 insertions(+), 13 deletions(-) This is not required, but it shows that the gnulib package works. Best regards, Vivien
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 14:45:01 GMT) Full text and rfc822 format available.Message #35 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Simon Josefsson <simon <at> josefsson.org> To: Vivien Kraus via Guix-patches via <guix-patches <at> gnu.org> Cc: 60358 <at> debbugs.gnu.org, Vivien Kraus <vivien <at> planete-kraus.eu> Subject: Re: [bug#60358] [PATCH] gnu: Add gnulib. Date: Thu, 29 Dec 2022 15:44:12 +0100
[Message part 1 (text/plain, inline)]
Vivien Kraus via Guix-patches via <guix-patches <at> gnu.org> writes: > Hello! > > Le mardi 27 décembre 2022 à 19:44 +0100, Simon Josefsson a écrit : >> Hi. Many packages needs a specific checkout of gnulib to work >> reliably, >> via --gnulib-refdir= (rather than --gnulib-srcdir=), would you >> consider >> installing the entire gnulib git archive instead of just the latest >> checkout? > > I did not know about gnulib-refdir. It is newer than --gnulib-srcdir, but came about because --gnulib-srcdir is often a fragile solution: you have no idea which gnulib version the person building the package supplied. Since gnulib is rolling, compatibility becomes difficult. The --gnulib-srcdir approach works if you make sure to use the same gnulib git checkout as the project you wish to build uses. But then it becomes difficult to package gnulib: no two projects are likely to rely on the same gnulib git commit. So which gnulib git version to package? That's the motivation for packaging the gnulib git repository instead. This may sound strange, but compare how gettext/autopoint ships a CVS repository and checks out the particular files that are needed. Yeah, I can agree that this approach is not ideal, and there are many concerns with it. I'm not convinced gnulib's idea of "source-level library" is something that is viable long-term. But it is what exists today. > Providing the entire gnulib archive is tempting, but there might be > downsides. The contents of the .git directory depends on how trees and > objects have been packed by git. As far as I understand, it is > possible that pushing a commit in gnulib results in commit objects > from previous commits to be re-packed. Thus, if I clone gnulib from > the initial commit to a specific commit, the result might depend on > other, unrelated commits. So, the content of .git is not reproducible. > > Maybe I could get around that by deleting all the refs, doing an > aggressive garbage collection and then re-packing, but I’m not sure I > would get a reproducible result. Interesting -- I think researching this more would be useful. It should be possible to come up with a safe approach to produce a reproducible checkout of a git repository. Doesn't 'git archive' produce a reproducible output from a git repository for a particular branch and commit? > Now, I don’t know much about gnulib-refdir. How does gnulib-refdir > work? You supply --gnulib-refdir pointing to a local gnulib git repository clone when you run ./bootstrap. This avoid checking out the gnulib git submodule from Savannah, and instead ./bootstrap will use the local git repository instead. I believe it should automatically extract the intended gnulib git commit from the gnulib/ git submodule, and extract that version from the local copy (please test -- may be bugs). > Do you have an example of a package that uses this feature? Packages wouldn't use it, but if they use gnulib's ./bootstrap script the support this approach. The idea is that people building projects that use gnulib doesn't always have to fetch the gnulib git submodule, but have a local copy for security or performance reasons. > Can I convince the package to use a checkout instead of the gnulib > repository, if I swear I have the exact checkout it wants, maybe by > tweaking bootstrap.conf or something? You can force a package to use another gnulib version by using --gnulib-srcdir and point that to some other version of gnulib. But the project may not build. The point of --gnulib-refdir is to actually get the same version of gnulib that the project uses, why would you not want that? There is the GNULIB_REVISION environment variable that you can set to something else, but this is probably not very well tested and sounds like a bad idea (but I may be missing something). /Simon
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 14:45:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 14:57:01 GMT) Full text and rfc822 format available.Message #41 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Simon Josefsson <simon <at> josefsson.org> To: Vivien Kraus via Guix-patches via <guix-patches <at> gnu.org> Cc: 60358 <at> debbugs.gnu.org, Vivien Kraus <vivien <at> planete-kraus.eu> Subject: Re: [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Thu, 29 Dec 2022 15:55:59 +0100
[Message part 1 (text/plain, inline)]
Vivien Kraus via Guix-patches via <guix-patches <at> gnu.org> writes: > Le mercredi 28 décembre 2022 à 03:20 +0100, Vivien Kraus a écrit : >> * gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang >> autopull.sh and >> autogen.sh. >> * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and >> git. >> --- >> gnu/packages/tls.scm | 37 ++++++++++++++++++++++++------------- >> 1 file changed, 24 insertions(+), 13 deletions(-) > > This is not required, but it shows that the gnulib package works. Thanks for providing an example package that would use the Guix gnulib package! I don't think it actually does what you would want it to do: your resulting build of guile-gnutls will likely NOT use the exact same version of gnulib that was used when preparing and tagging the guile-gnutls release. That's why this approach uses GNULIB_SRCDIR to force a different gnulib version than the intended one. Since gnulib doesn't offer backwards/future compatibility, this will just cause the guile-gnutls 3.7.11 build to break at some point, or even introduce subtle unintended bugs, when the gnulib package is updated. However, if the 'gnulib' package in Guix would provide a copy of the git repository, and set GNULIB_REFDIR instead, I believe it would work as intended: ./bootstrap will pick the gnulib commit from the local copy of gnulib. This should always work and is future-proof, as long as the Guix gnulib package provides all historic gnulib git commits forever. Taking a step back, I think it boils down to two approaches when building projects: 1) Download git submodules when download git repository of projects that use gnulib. This consumes a lot of bandwidth, but will set up the project the way most developers build the project. 2) Don't fetch the gnulib git submodule (other git submodules will probably be required, though, depending on project) and add a dependency to a Guix 'gnulib' package that ships the entire git repository, and modify the ./bootstrap call to do ./bootstrap --gnulib-refdir=...'. Approach 2) is less well tested but I think it would work, and effectively what it achieves compared to 1) is to reduce the bandwidth requirements and avoid a dependence on an online Savannah. Is this really worth the complexity? Or is there some other advantage that I'm missing? Thanks for caring about how gnulib is used in projects! It is a complicated situation, and has tricky bill-of-material and security consequences. /Simon
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 14:57:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 15:19:02 GMT) Full text and rfc822 format available.Message #47 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Simon Josefsson <simon <at> josefsson.org> Subject: [PATCH v3 1/2] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib): New variable. (gnulib-checkout): New function. It returns a package with a specific commit of gnulib. --- gnu/packages/build-tools.scm | 58 ++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..5b4fc71429 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -38,6 +38,7 @@ (define-module (gnu packages build-tools) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages adns) @@ -48,11 +49,13 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages cpp) #:use-module (gnu packages elf) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -803,3 +806,58 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define-public (gnulib-checkout gl-version gl-commit gl-hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version gl-version "1" gl-commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit gl-commit))) + (file-name (git-file-name name version)) + (sha256 (base32 gl-hash)))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (copy-recursively "." + (string-append + #$output + "/share/gnulib/" + #$gl-commit))))) + #:tests? #f)) ;; Tests are syntax and indentation checks for the + ;; maintainer. + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list (string-append "share/gnulib/" gl-commit)))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + "2022-12-27" + "fde75446490e18d2539817ca418ab8adf73b02d3" + "0fjbdhwi9025wyq39rwc2j6aazfmagx056kkbvxx6bs97i80dcim")) base-commit: 77d4bff94c6918eb0c0ccd20ee610e6dfc823aec -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 15:19:02 GMT) Full text and rfc822 format available.Message #50 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Simon Josefsson <simon <at> josefsson.org> Subject: [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..5bb0faaf64 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,28 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh"))))))) (native-inputs (list autoconf automake @@ -412,7 +421,13 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + "2022-12-06" + "440b528b1d81dd31b2a2e4dde20d5c837c147811" + "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy") + git ; gnulib requires git even if nothing is downloaded. + )) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 15:26:01 GMT) Full text and rfc822 format available.Message #53 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Simon Josefsson <simon <at> josefsson.org> Cc: 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Thu, 29 Dec 2022 16:25:38 +0100
Le mercredi 28 décembre 2022 à 03:20 +0100, Vivien Kraus a écrit : > @@ -412,7 +421,13 @@ (define-public guile-gnutls > pkg-config > texinfo > gnutls ;XXX: 'guile-snarf' invokes the > native 'cpp' > - guile-3.0)) > + guile-3.0 > + (gnulib-checkout > + "2022-12-06" > + "440b528b1d81dd31b2a2e4dde20d5c837c147811" > + "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy") > + git ; gnulib requires git even if nothing is downloaded. > + )) > (inputs > (list gnutls-latest > guile-3.0)) I can still pick an exact commit of gnulib (I was not aware that it would be required, I thought the most common idea was "give me any version of gnulib later than <>"). And I don’t have to package every commit of gnulib, but only those that are actually used. I’m not sure guix people will be happy to have each package use a differently outdated version of gnulib though.
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 15:39:02 GMT) Full text and rfc822 format available.Message #56 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Simon Josefsson <simon <at> josefsson.org> To: Vivien Kraus <vivien <at> planete-kraus.eu> Cc: 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Thu, 29 Dec 2022 16:37:56 +0100
[Message part 1 (text/plain, inline)]
Vivien Kraus <vivien <at> planete-kraus.eu> writes: > Le mercredi 28 décembre 2022 à 03:20 +0100, Vivien Kraus a écrit : >> @@ -412,7 +421,13 @@ (define-public guile-gnutls >> pkg-config >> texinfo >> gnutls ;XXX: 'guile-snarf' invokes the >> native 'cpp' >> - guile-3.0)) >> + guile-3.0 >> + (gnulib-checkout >> + "2022-12-06" >> + "440b528b1d81dd31b2a2e4dde20d5c837c147811" >> + "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy") >> + git ; gnulib requires git even if nothing is downloaded. >> + )) >> (inputs >> (list gnutls-latest >> guile-3.0)) > > I can still pick an exact commit of gnulib (I was not aware that it > would be required, I thought the most common idea was "give me any > version of gnulib later than <>"). And I don’t have to package every > commit of gnulib, but only those that are actually used. > > I’m not sure guix people will be happy to have each package use a > differently outdated version of gnulib though. Interesting approach! I believe this works in Guix, and is also compatible with the way gnulib is intended to be used. However, doesn't this lead to a gazillion variants of gnulib being installed into /gnu/store, once all projects that use gnulib adopt this model in Guix? And built on the build servers, and downloaded via substitute servers? One gnulib for each particular commit that is used by each respective project that rely on gnulib. That sounds worse than having to download copies of gnulib when building a Guix package, which I thought was what you wanted to accomplish. /Simon
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 15:57:01 GMT) Full text and rfc822 format available.Message #59 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Simon Josefsson <simon <at> josefsson.org> To: Simon Josefsson via Guix-patches via <guix-patches <at> gnu.org> Cc: 60358 <at> debbugs.gnu.org, vivien <at> planete-kraus.eu Subject: Re: [bug#60358] [PATCH] gnu: Add gnulib. Date: Thu, 29 Dec 2022 16:56:17 +0100
[Message part 1 (text/plain, inline)]
Simon Josefsson via Guix-patches via <guix-patches <at> gnu.org> writes: > Doesn't 'git archive' produce a reproducible output from a git > repository for a particular branch and commit? Sorry, git-archive that doesn't include the .git/ sub-directory, so that's not the command you want. I don't know what command you would use. I reckon it should be a git clone, check out a particular commit, reset the branch to that commit, filtering away all other branches, and then do 'git gc --aggresive --prune=now'. If that produces unreproducable results for other unrelated changes to the repository, it would be nice to know how to get rid of them. /Simon
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 15:57:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 16:07:02 GMT) Full text and rfc822 format available.Message #65 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Simon Josefsson <simon <at> josefsson.org> Cc: 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Thu, 29 Dec 2022 17:06:41 +0100
Le jeudi 29 décembre 2022 à 16:37 +0100, Simon Josefsson a écrit : > One gnulib for each particular commit that is used > by each respective project that rely on gnulib. Yes, but a shallow checkout of gnulib. If I packaged the whole git archive (if I could do it reliably), that would bring the checkouts for all commits in gnulib, used or not. Granted, compressed. > That sounds worse than > having to download copies of gnulib when building a Guix package From what I understand, the idea in guix would be: yes that would be horrible, the solution is for every project to use the same version of gnulib!
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 16:15:01 GMT) Full text and rfc822 format available.Message #68 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Simon Josefsson <simon <at> josefsson.org> To: Vivien Kraus <vivien <at> planete-kraus.eu> Cc: 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11. Date: Thu, 29 Dec 2022 17:14:32 +0100
[Message part 1 (text/plain, inline)]
Vivien Kraus <vivien <at> planete-kraus.eu> writes: >> That sounds worse than >> having to download copies of gnulib when building a Guix package > From what I understand, the idea in guix would be: yes that would be > horrible, the solution is for every project to use the same version of > gnulib! That won't happen and is impossible -- while I don't have an example, in general you can't build an old version of, say, coreutils with today's gnulib, or expect that a future version of coreutils will work with today's gnulib. I'm sure trying old enough coreutils, or some other project that use gnulib, will come up with an example that breaks the build (or produce incorrect results). /Simon
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Thu, 29 Dec 2022 20:03:01 GMT) Full text and rfc822 format available.Message #71 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Cc: Simon Josefsson <simon <at> josefsson.org> Subject: Re: [PATCH v3 1/2] gnu: Add gnulib. Date: Thu, 29 Dec 2022 21:02:07 +0100
Am Dienstag, dem 27.12.2022 um 17:23 +0100 schrieb Vivien Kraus: > * gnu/packages/build-tools.scm (gnulib): New variable. > (gnulib-checkout): New function. It returns a package with a specific > commit > of gnulib. > --- > gnu/packages/build-tools.scm | 58 > ++++++++++++++++++++++++++++++++++++ > 1 file changed, 58 insertions(+) > > diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build- > tools.scm > index 6c1350c44f..5b4fc71429 100644 > --- a/gnu/packages/build-tools.scm > +++ b/gnu/packages/build-tools.scm > @@ -38,6 +38,7 @@ (define-module (gnu packages build-tools) > #:use-module (guix gexp) > #:use-module (guix download) > #:use-module (guix git-download) > + #:use-module (guix git) > #:use-module (guix build-system cmake) > #:use-module (gnu packages) > #:use-module (gnu packages adns) > @@ -48,11 +49,13 @@ (define-module (gnu packages build-tools) > #:use-module (gnu packages cpp) > #:use-module (gnu packages elf) > #:use-module (gnu packages linux) > + #:use-module (gnu packages lisp) > #:use-module (gnu packages logging) > #:use-module (gnu packages lua) > #:use-module (gnu packages ninja) > #:use-module (gnu packages package-management) > #:use-module (gnu packages pcre) > + #:use-module (gnu packages perl) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages pretty-print) > #:use-module (gnu packages protobuf) > @@ -803,3 +806,58 @@ (define-public genie > same settings to multiple projects. It supports generating projects > using GNU > Makefiles, JSON Compilation Database, and experimentally Ninja.") > (license license:bsd-3)))) > + > +(define-public (gnulib-checkout gl-version gl-commit gl-hash) You should probably use keyword arguments here. Also, don't bother prefixing things, the shadowing rules in Guix are well-defined. > + "Return as a package the exact gnulib checkout." > + (package > + (name "gnulib") > + (version (git-version gl-version "1" gl-commit)) Allow the user to specify revision, defaulting to "1". > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.savannah.gnu.org/git/gnulib.git") > + (commit gl-commit))) > + (file-name (git-file-name name version)) > + (sha256 (base32 gl-hash)))) While it's more typing effort, move base32 outside for that compile- time expansion. > + (build-system gnu-build-system) > + (arguments > + (list > + #:phases > + #~(modify-phases %standard-phases > + (delete 'configure) > + (replace 'install > + (lambda _ > + (install-file "gnulib-tool" > + (string-append #$output "/bin")) > + (copy-recursively "." > + (string-append > + #$output > + "/share/gnulib/" > + #$gl-commit))))) See [*] below. > + #:tests? #f)) ;; Tests are syntax and indentation checks for > the > + ;; maintainer. IMHO, we should still run tests unless they significantly complicate packaging. > + (inputs ;; Shebangs for some auxiliary build files. > + (list python perl clisp)) > + (home-page "https://www.gnu.org/software/gnulib/") > + (synopsis "Source files to share among distributions") > + (description > + "Gnulib is a central location for common infrastructure needed > by GNU > +packages. It provides a wide variety of functionality, e.g., > portability > +across many systems, working with Unicode strings, cryptographic > computation, > +and much more. The code is intended to be shared at the level of > source > +files, rather than being a standalone library that is distributed, > built, and > +installed. The included @command{gnulib-tool} script helps with > using Gnulib > +code in other packages. Gnulib also includes copies of licensing > and > +maintenance-related files, for convenience.") > + (native-search-paths > + (list (search-path-specification > + (variable "GNULIB_SRCDIR") > + (files (list (string-append "share/gnulib/" gl- > commit)))))) [*] Rather than installing the library to an always different location and using an environment variable to bind it, I'd suggest using a fixed location, such as #$output/src/gnulib, so that consuming packages can use --gnulib-srcdir=#$(search-input-directory %build-inputs "src/gnulib") > + (license (list license:lgpl2.0+ license:gpl3+)))) > + Furthermore, quite a number of gnulib appears to have been automatically generated. Can we do a proper bootstrap? :) Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 11:45:02 GMT) Full text and rfc822 format available.Message #74 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v4 3/3] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..44a27ef8cb 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,28 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh"))))))) (native-inputs (list autoconf automake @@ -412,7 +421,13 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")) + git ; gnulib requires git even if nothing is downloaded. + )) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 11:45:02 GMT) Full text and rfc822 format available.Message #77 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v4 2/3] gnu: gnulib: Enable tests. Date: Fri, 30 Dec 2022 12:30:54 +0100
* gnu/packages/build-tools.scm (gnulib-checkout) [fix-tests]: New phase. Create a git repository so that every file is committed. * gnu/packages/build-tools.scm (gnulib-checkout): [disable-failing-tests]: New phase. * gnu/packages/build-tools.scm (gnulib-checkout): [install]: Delete the fake git repository. * gnu/packages/build-tools.scm (gnulib-checkout): [native-inputs]: Add more tools for the tests. --- gnu/packages/build-tools.scm | 54 +++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index bde4ee0973..5fa2b7234c 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -43,11 +43,14 @@ (define-module (gnu packages build-tools) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) @@ -830,16 +833,59 @@ (define*-public (gnulib-checkout #:key (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + (invoke "git" "commit" "-m" + "Syntax checks are only run against committed files, so commit everything."))) + (add-after 'fix-tests 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_sym_list") + "disabled_check_sym_list") + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_check_copyright") + "disabled_check_copyright") + (("sc_prohibit_AC_LIBOBJ_in_m4") + "disabled_prohibit_AC_LIBOBJ_in_m4") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_leading_TABs") + "disabled_prohibit_leading_TABs")))) (delete 'configure) (replace 'install (lambda _ (install-file "gnulib-tool" (string-append #$output "/bin")) - (copy-recursively "." (string-append #$output "/src/gnulib/"))))) - #:tests? #f)) ;; Tests are syntax and indentation checks for the - ;; maintainer. And they are failing. + (delete-file-recursively ".git") + (copy-recursively "." (string-append #$output "/src/gnulib/"))))))) (inputs ;; Shebangs for some auxiliary build files. - (list python perl clisp)) + (list python perl clisp + ;; Programs for the tests: + cppi indent git autoconf)) (home-page "https://www.gnu.org/software/gnulib/") (synopsis "Source files to share among distributions") (description -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 11:45:03 GMT) Full text and rfc822 format available.Message #80 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v4 1/3] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib): New variable. (gnulib-checkout): New function. It returns a package with a specific commit of gnulib. --- gnu/packages/build-tools.scm | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..bde4ee0973 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,12 +32,14 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages adns) @@ -48,11 +50,13 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages cpp) #:use-module (gnu packages elf) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -803,3 +807,58 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (copy-recursively "." (string-append #$output "/src/gnulib/"))))) + #:tests? #f)) ;; Tests are syntax and indentation checks for the + ;; maintainer. And they are failing. + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-28" + #:commit "14a7b0ce5462c90ce86d97bf952185ec2500d341" + #:hash (base32 "0fz25ccdlxf4xp37rjsl1fslc4g0x12qpvadz4qw0cq18dvx5kbx"))) base-commit: 01762b7171f9afaf7ffa364f7926461bdebc903f -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 11:46:01 GMT) Full text and rfc822 format available.Message #83 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 60358 <at> debbugs.gnu.org Cc: Simon Josefsson <simon <at> josefsson.org> Subject: Re: [PATCH v3 1/2] gnu: Add gnulib. Date: Fri, 30 Dec 2022 12:45:39 +0100
Hello, Le jeudi 29 décembre 2022 à 21:02 +0100, Liliana Marie Prikler a écrit : > Furthermore, quite a number of gnulib appears to have been > automatically generated. Can we do a proper bootstrap? :) Could you give an example? I think I remember that gnulib sources are taken from glibc, is it what you mean? Best regards, Vivien
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 19:36:01 GMT) Full text and rfc822 format available.Message #86 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Cc: Simon Josefsson <simon <at> josefsson.org> Subject: Re: [PATCH v3 1/2] gnu: Add gnulib. Date: Fri, 30 Dec 2022 20:35:49 +0100
Am Freitag, dem 30.12.2022 um 12:45 +0100 schrieb Vivien Kraus: > Hello, > > Le jeudi 29 décembre 2022 à 21:02 +0100, Liliana Marie Prikler a > écrit : > > Furthermore, quite a number of gnulib appears to have been > > automatically generated. Can we do a proper bootstrap? :) > > Could you give an example? I think I remember that gnulib sources are > taken from glibc, is it what you mean? grep -iR "do not edit" $(./pre-inst-env guix build -S gnulib) Some of the matches are emitters, but many of them are emitted comments. Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 22:38:02 GMT) Full text and rfc822 format available.Message #89 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v5 5/5] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..44a27ef8cb 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,28 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh"))))))) (native-inputs (list autoconf automake @@ -412,7 +421,13 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")) + git ; gnulib requires git even if nothing is downloaded. + )) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 22:39:01 GMT) Full text and rfc822 format available.Message #92 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v5 2/5] gnu: gnulib: Enable tests. Date: Fri, 30 Dec 2022 12:30:54 +0100
* gnu/packages/build-tools.scm (gnulib-checkout) [fix-tests]: New phase. Create a git repository so that every file is committed. * gnu/packages/build-tools.scm (gnulib-checkout): [disable-failing-tests]: New phase. * gnu/packages/build-tools.scm (gnulib-checkout): [install]: Delete the fake git repository. * gnu/packages/build-tools.scm (gnulib-checkout): [native-inputs]: Add more tools for the tests. --- gnu/packages/build-tools.scm | 54 +++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index bde4ee0973..5fa2b7234c 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -43,11 +43,14 @@ (define-module (gnu packages build-tools) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) @@ -830,16 +833,59 @@ (define*-public (gnulib-checkout #:key (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + (invoke "git" "commit" "-m" + "Syntax checks are only run against committed files, so commit everything."))) + (add-after 'fix-tests 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_sym_list") + "disabled_check_sym_list") + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_check_copyright") + "disabled_check_copyright") + (("sc_prohibit_AC_LIBOBJ_in_m4") + "disabled_prohibit_AC_LIBOBJ_in_m4") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_leading_TABs") + "disabled_prohibit_leading_TABs")))) (delete 'configure) (replace 'install (lambda _ (install-file "gnulib-tool" (string-append #$output "/bin")) - (copy-recursively "." (string-append #$output "/src/gnulib/"))))) - #:tests? #f)) ;; Tests are syntax and indentation checks for the - ;; maintainer. And they are failing. + (delete-file-recursively ".git") + (copy-recursively "." (string-append #$output "/src/gnulib/"))))))) (inputs ;; Shebangs for some auxiliary build files. - (list python perl clisp)) + (list python perl clisp + ;; Programs for the tests: + cppi indent git autoconf)) (home-page "https://www.gnu.org/software/gnulib/") (synopsis "Source files to share among distributions") (description -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 22:39:02 GMT) Full text and rfc822 format available.Message #95 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1. Date: Fri, 30 Dec 2022 22:20:30 +0100
* gnu/packages/unicode.scm (ucd3.0-update1): New variable. --- gnu/packages/unicode.scm | 59 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..66340721e3 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -21,13 +21,15 @@ (define-module (gnu packages unicode) #:use-module (gnu packages autotools) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (ice-9 match)) (define-public libunibreak (package @@ -112,6 +114,61 @@ (define-public ucd-next (base32 "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) +(define-public ucd3.0-update1 + (package + (inherit ucd) + (version "3.0-update1") + (source + ;; unicode.org does not provide a zipped archive. + (directory-union + "ucd-3.0-update1-source" + (map + (match-lambda + ((filename . hash) + (file-union + (string-append "ucd-3.0-update1-" filename) + `((,filename + ,(origin + (method url-fetch) + (uri (string-append "https://www.unicode.org/Public/3.0-Update1/" filename)) + (sha256 hash))))))) + `(("ArabicShaping-3.txt" + . ,(base32 + "0k6hwdnln8cwkzixxbbc6q5g3nx3z5p1549c0jicnz7gq2mvkh90")) + ("BidiMirroring-1.txt" + . ,(base32 + "0wc5gj6mx5wjkwph734swqd3zvi3ngfx75yybbc1f52dc1l3sh9m")) + ("CaseFolding-2.txt" + . ,(base32 + "143hvpalrnkrxc2g9626v6w4cgmksg9hkcm39fpmqidn0rnpm8vy")) + ("CompositionExclusions-2.txt" + . ,(base32 + "06vlc7yqhkacbb411ykyn4na5kq93yp0p9mm3a2jfixk704nwpj1")) + ("Jamo-3.txt" + . ,(base32 + "092lww4ak9wa7g4jn80i9ckniwg3ymmiaq62xxhhbwk3cx2d23ad")) + ("NormalizationTest-3.0.1.txt" + . ,(base32 + "1r5vq8dlar7km1376bp16l40pyczzvwk9waxgin2i2432qdpwmga")) + ("PropList-3.0.1.txt" + . ,(base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")) + ("ReadMe-3.0.1.txt" + . ,(base32 + "08mkcs3r1caj67wrcqq0gyb79zj9qyqnmx8qab0rsd4qg87xhnbv")) + ("SpecialCasing-3.txt" + . ,(base32 + "08vrf0kk5zlsl40h4nsfbpnckl4610m7x2072lyq97lln7dsky7a")) + ("UnicodeCharacterDatabase-3.0.1.html" + . ,(base32 + "0fy7vb1zkxg2pg198p7phncjs78gz6lvdzhv51yz34kds8nzz40m")) + ("UnicodeData-3.0.1.html" + . ,(base32 + "0fvv59ydp09mppjr8130kmp90r240hnaqld8i5xkpz900fl20pc1")) + ("UnicodeData-3.0.1.txt" + . ,(base32 + "092svm19f78pxg58pcisg3i57884y7z22rymrcppjkg6sz3izsia")))))))) + (define (unicode-emoji-file name version hash) (origin (method url-fetch) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 22:39:02 GMT) Full text and rfc822 format available.Message #98 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v5 1/5] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib): New variable. (gnulib-checkout): New function. It returns a package with a specific commit of gnulib. --- gnu/packages/build-tools.scm | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..bde4ee0973 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,12 +32,14 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages adns) @@ -48,11 +50,13 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages cpp) #:use-module (gnu packages elf) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -803,3 +807,58 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (copy-recursively "." (string-append #$output "/src/gnulib/"))))) + #:tests? #f)) ;; Tests are syntax and indentation checks for the + ;; maintainer. And they are failing. + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-28" + #:commit "14a7b0ce5462c90ce86d97bf952185ec2500d341" + #:hash (base32 "0fz25ccdlxf4xp37rjsl1fslc4g0x12qpvadz4qw0cq18dvx5kbx"))) base-commit: e84f17ea939013f25a0dd1276659e27bc4c2198f -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Fri, 30 Dec 2022 22:39:02 GMT) Full text and rfc822 format available.Message #101 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v5 4/5] gnu: gnulib: Regenerate the unicode data. Date: Fri, 30 Dec 2022 23:05:50 +0100
* gnu/packages/build-tools.scm (gnulib-checkout): [snippet]: Remove generated unicode processors. [regenerate-unicode]: New phase. --- gnu/packages/build-tools.scm | 401 ++++++++++++++++++++++++++++++++++- 1 file changed, 397 insertions(+), 4 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 5fa2b7234c..9592b82130 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -41,6 +41,7 @@ (define-module (gnu packages build-tools) #:use-module (guix git-download) #:use-module (guix git) #:use-module (guix build-system cmake) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) #:use-module (gnu packages autotools) @@ -52,6 +53,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages cpp) #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) #:use-module (gnu packages logging) @@ -72,6 +74,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -827,7 +830,350 @@ (define*-public (gnulib-checkout #:key (url "https://git.savannah.gnu.org/git/gnulib.git") (commit commit))) (file-name (git-file-name name version)) - (sha256 hash))) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils)) + (for-each delete-file-recursively + `("tests/unicase/test-ignorable.c" + "tests/unicase/test-uc_toupper.c" + "tests/unicase/test-uc_tolower.c" + "tests/unicase/test-cased.c" + "tests/unicase/test-uc_totitle.c" + "tests/unigbrk/test-uc-gbrk-prop.h" + "tests/unictype/test-pr_zero_width.c" + "tests/unictype/test-pr_ascii_hex_digit.c" + "tests/unictype/test-ctype_xdigit.c" + "tests/unictype/test-digit.h" + "tests/unictype/test-pr_grapheme_extend.c" + "tests/unictype/test-ctype_cntrl.c" + "tests/unictype/test-pr_default_ignorable_code_point.c" + "tests/unictype/test-categ_Nd.c" + "tests/unictype/test-decdigit.h" + "tests/unictype/test-pr_currency_symbol.c" + "tests/unictype/test-pr_logical_order_exception.c" + "tests/unictype/test-pr_bidi_common_separator.c" + "tests/unictype/test-pr_space.c" + "tests/unictype/test-pr_ids_trinary_operator.c" + "tests/unictype/test-pr_decimal_digit.c" + "tests/unictype/test-categ_Lo.c" + "tests/unictype/test-categ_Cn.c" + "tests/unictype/test-categ_Mn.c" + "tests/unictype/test-pr_line_separator.c" + "tests/unictype/test-ctype_upper.c" + "tests/unictype/test-pr_extender.c" + "tests/unictype/test-pr_other_default_ignorable_code_point.c" + "tests/unictype/test-pr_uppercase.c" + "tests/unictype/test-categ_Ll.c" + "tests/unictype/test-ctype_alpha.c" + "tests/unictype/test-pr_changes_when_lowercased.c" + "tests/unictype/test-categ_Sm.c" + "tests/unictype/test-pr_variation_selector.c" + "tests/unictype/test-pr_white_space.c" + "tests/unictype/test-pr_ideographic.c" + "tests/unictype/test-joininggroup_of.h" + "tests/unictype/test-ctype_lower.c" + "tests/unictype/test-pr_quotation_mark.c" + "tests/unictype/test-pr_bidi_block_separator.c" + "tests/unictype/test-ctype_blank.c" + "tests/unictype/test-pr_bidi_eur_num_terminator.c" + "tests/unictype/test-pr_bidi_pdf.c" + "tests/unictype/test-pr_deprecated.c" + "tests/unictype/test-pr_grapheme_base.c" + "tests/unictype/test-sy_java_whitespace.c" + "tests/unictype/test-pr_other_alphabetic.c" + "tests/unictype/test-categ_C.c" + "tests/unictype/test-categ_Cc.c" + "tests/unictype/test-pr_id_continue.c" + "tests/unictype/test-pr_changes_when_uppercased.c" + "tests/unictype/test-pr_bidi_control.c" + "tests/unictype/test-pr_changes_when_casemapped.c" + "tests/unictype/test-categ_S.c" + "tests/unictype/test-pr_pattern_white_space.c" + "tests/unictype/test-pr_format_control.c" + "tests/unictype/test-categ_N.c" + "tests/unictype/test-categ_LC.c" + "tests/unictype/test-pr_bidi_arabic_right_to_left.c" + "tests/unictype/test-categ_Nl.c" + "tests/unictype/test-pr_other_uppercase.c" + "tests/unictype/test-pr_other_grapheme_extend.c" + "tests/unictype/test-pr_diacritic.c" + "tests/unictype/test-pr_join_control.c" + "tests/unictype/test-pr_composite.c" + "tests/unictype/test-pr_extended_pictographic.c" + "tests/unictype/test-pr_combining.c" + "tests/unictype/test-categ_Lm.c" + "tests/unictype/test-pr_other_id_continue.c" + "tests/unictype/test-pr_xid_continue.c" + "tests/unictype/test-pr_ids_binary_operator.c" + "tests/unictype/test-pr_bidi_left_to_right.c" + "tests/unictype/test-pr_bidi_non_spacing_mark.c" + "tests/unictype/test-categ_Zl.c" + "tests/unictype/test-pr_sentence_terminal.c" + "tests/unictype/test-categ_Co.c" + "tests/unictype/test-pr_non_break.c" + "tests/unictype/test-pr_math.c" + "tests/unictype/test-ctype_punct.c" + "tests/unictype/test-pr_other_id_start.c" + "tests/unictype/test-ctype_digit.c" + "tests/unictype/test-pr_bidi_eur_num_separator.c" + "tests/unictype/test-pr_id_start.c" + "tests/unictype/test-pr_numeric.c" + "tests/unictype/test-categ_Pe.c" + "tests/unictype/test-pr_lowercase.c" + "tests/unictype/test-pr_hex_digit.c" + "tests/unictype/test-pr_emoji_presentation.c" + "tests/unictype/test-pr_ignorable_control.c" + "tests/unictype/test-categ_Pi.c" + "tests/unictype/test-pr_bidi_boundary_neutral.c" + "tests/unictype/test-pr_changes_when_titlecased.c" + "tests/unictype/test-categ_Cf.c" + "tests/unictype/test-pr_emoji_modifier.c" + "tests/unictype/test-pr_alphabetic.c" + "tests/unictype/test-pr_changes_when_casefolded.c" + "tests/unictype/test-pr_left_of_pair.c" + "tests/unictype/test-pr_radical.c" + "tests/unictype/test-pr_pattern_syntax.c" + "tests/unictype/test-categ_L.c" + "tests/unictype/test-pr_other_lowercase.c" + "tests/unictype/test-categ_Pf.c" + "tests/unictype/test-ctype_print.c" + "tests/unictype/test-pr_bidi_whitespace.c" + "tests/unictype/test-numeric.h" + "tests/unictype/test-pr_paired_punctuation.c" + "tests/unictype/test-pr_emoji_modifier_base.c" + "tests/unictype/test-categ_Ps.c" + "tests/unictype/test-pr_dash.c" + "tests/unictype/test-pr_bidi_european_digit.c" + "tests/unictype/test-categ_P.c" + "tests/unictype/test-pr_grapheme_link.c" + "tests/unictype/test-categ_Lu.c" + "tests/unictype/test-categ_No.c" + "tests/unictype/test-pr_emoji.c" + "tests/unictype/test-categ_M.c" + "tests/unictype/test-pr_regional_indicator.c" + "tests/unictype/test-categ_Zs.c" + "tests/unictype/test-categ_Sk.c" + "tests/unictype/test-sy_c_whitespace.c" + "tests/unictype/test-pr_unified_ideograph.c" + "tests/unictype/test-categ_Cs.c" + "tests/unictype/test-pr_case_ignorable.c" + "tests/unictype/test-categ_Sc.c" + "tests/unictype/test-categ_So.c" + "tests/unictype/test-pr_bidi_hebrew_right_to_left.c" + "tests/unictype/test-categ_Po.c" + "tests/unictype/test-joiningtype_of.h" + "tests/unictype/test-pr_soft_dotted.c" + "tests/unictype/test-categ_Pd.c" + "tests/unictype/test-categ_Z.c" + "tests/unictype/test-categ_Zp.c" + "tests/unictype/test-ctype_space.c" + "tests/unictype/test-pr_emoji_component.c" + "tests/unictype/test-pr_bidi_other_neutral.c" + "tests/unictype/test-pr_other_math.c" + "tests/unictype/test-pr_private_use.c" + "tests/unictype/test-pr_cased.c" + "tests/unictype/test-pr_terminal_punctuation.c" + "tests/unictype/test-categ_Me.c" + "tests/unictype/test-ctype_graph.c" + "tests/unictype/test-pr_unassigned_code_value.c" + "tests/unictype/test-categ_Lt.c" + "tests/unictype/test-categ_Pc.c" + "tests/unictype/test-pr_punctuation.c" + "tests/unictype/test-pr_bidi_segment_separator.c" + "tests/unictype/test-pr_paragraph_separator.c" + "tests/unictype/test-pr_xid_start.c" + "tests/unictype/test-pr_bidi_embedding_or_override.c" + "tests/unictype/test-categ_Mc.c" + "tests/unictype/test-pr_bidi_arabic_digit.c" + "tests/unictype/test-pr_titlecase.c" + "tests/unictype/test-pr_iso_control.c" + "tests/unictype/test-pr_not_a_character.c" + "tests/unictype/test-pr_hyphen.c" + "tests/unictype/test-ctype_alnum.c" + "lib/unicase/ignorable.h" + "lib/unicase/special-casing-table.gperf" + "lib/unicase/tolower.h" + "lib/unicase/toupper.h" + "lib/unicase/tocasefold.h" + "lib/unicase/totitle.h" + "lib/unicase/cased.h" + "lib/uniwidth/width0.h" + "lib/uniwidth/width2.h" + "lib/unigbrk/gbrkprop.h" + "lib/uninorm/composition-table.gperf" + "lib/uninorm/decomposition-table1.h" + "lib/uninorm/decomposition-table2.h" + "lib/uniname/uninames.h" + "lib/uniwbrk/wbrkprop.h" + "lib/unilbrk/lbrktables.c" + "lib/unilbrk/lbrkprop1.h" + "lib/unilbrk/lbrkprop2.h" + "lib/unictype/pr_radical.h" + "lib/unictype/pr_other_math.h" + "lib/unictype/pr_dash.h" + "lib/unictype/pr_combining.h" + "lib/unictype/pr_not_a_character.h" + "lib/unictype/pr_math.h" + "lib/unictype/pr_terminal_punctuation.h" + "lib/unictype/pr_id_start.h" + "lib/unictype/pr_quotation_mark.h" + "lib/unictype/pr_changes_when_titlecased.h" + "lib/unictype/categ_Mc.h" + "lib/unictype/pr_deprecated.h" + "lib/unictype/categ_Cf.h" + "lib/unictype/pr_zero_width.h" + "lib/unictype/pr_emoji_modifier_base.h" + "lib/unictype/ctype_blank.h" + "lib/unictype/joininggroup_of.h" + "lib/unictype/categ_Sk.h" + "lib/unictype/pr_paired_punctuation.h" + "lib/unictype/pr_decimal_digit.h" + "lib/unictype/pr_other_uppercase.h" + "lib/unictype/categ_Cn.h" + "lib/unictype/categ_of.h" + "lib/unictype/sy_c_whitespace.h" + "lib/unictype/pr_composite.h" + "lib/unictype/pr_other_grapheme_extend.h" + "lib/unictype/pr_other_id_continue.h" + "lib/unictype/pr_paragraph_separator.h" + "lib/unictype/pr_bidi_whitespace.h" + "lib/unictype/scripts.h" + "lib/unictype/ctype_graph.h" + "lib/unictype/pr_bidi_arabic_right_to_left.h" + "lib/unictype/categ_Lu.h" + "lib/unictype/pr_hyphen.h" + "lib/unictype/pr_changes_when_casemapped.h" + "lib/unictype/categ_Pe.h" + "lib/unictype/pr_hex_digit.h" + "lib/unictype/pr_id_continue.h" + "lib/unictype/pr_pattern_white_space.h" + "lib/unictype/joiningtype_of.h" + "lib/unictype/ctype_upper.h" + "lib/unictype/pr_extender.h" + "lib/unictype/pr_iso_control.h" + "lib/unictype/ctype_lower.h" + "lib/unictype/categ_Ps.h" + "lib/unictype/categ_Sc.h" + "lib/unictype/ctype_print.h" + "lib/unictype/sy_java_ident.h" + "lib/unictype/ctype_alnum.h" + "lib/unictype/pr_ideographic.h" + "lib/unictype/pr_titlecase.h" + "lib/unictype/categ_N.h" + "lib/unictype/pr_changes_when_casefolded.h" + "lib/unictype/pr_soft_dotted.h" + "lib/unictype/categ_Z.h" + "lib/unictype/categ_Lm.h" + "lib/unictype/categ_P.h" + "lib/unictype/pr_emoji_component.h" + "lib/unictype/pr_space.h" + "lib/unictype/pr_other_lowercase.h" + "lib/unictype/pr_bidi_eur_num_separator.h" + "lib/unictype/pr_bidi_eur_num_terminator.h" + "lib/unictype/ctype_alpha.h" + "lib/unictype/numeric.h" + "lib/unictype/pr_grapheme_base.h" + "lib/unictype/ctype_xdigit.h" + "lib/unictype/pr_bidi_embedding_or_override.h" + "lib/unictype/blocks.h" + "lib/unictype/categ_No.h" + "lib/unictype/pr_ascii_hex_digit.h" + "lib/unictype/pr_bidi_european_digit.h" + "lib/unictype/pr_format_control.h" + "lib/unictype/pr_join_control.h" + "lib/unictype/pr_case_ignorable.h" + "lib/unictype/ctype_space.h" + "lib/unictype/pr_bidi_control.h" + "lib/unictype/pr_diacritic.h" + "lib/unictype/categ_Zs.h" + "lib/unictype/mirror.h" + "lib/unictype/categ_Zl.h" + "lib/unictype/pr_bidi_hebrew_right_to_left.h" + "lib/unictype/decdigit.h" + "lib/unictype/categ_Nd.h" + "lib/unictype/pr_sentence_terminal.h" + "lib/unictype/combiningclass.h" + "lib/unictype/categ_S.h" + "lib/unictype/pr_bidi_arabic_digit.h" + "lib/unictype/digit.h" + "lib/unictype/categ_So.h" + "lib/unictype/pr_changes_when_uppercased.h" + "lib/unictype/pr_other_alphabetic.h" + "lib/unictype/pr_emoji_presentation.h" + "lib/unictype/pr_ignorable_control.h" + "lib/unictype/categ_Cs.h" + "lib/unictype/sy_java_whitespace.h" + "lib/unictype/pr_changes_when_lowercased.h" + "lib/unictype/pr_ids_binary_operator.h" + "lib/unictype/categ_Ll.h" + "lib/unictype/pr_logical_order_exception.h" + "lib/unictype/pr_bidi_pdf.h" + "lib/unictype/sy_c_ident.h" + "lib/unictype/categ_Sm.h" + "lib/unictype/pr_non_break.h" + "lib/unictype/categ_Zp.h" + "lib/unictype/categ_Pc.h" + "lib/unictype/pr_bidi_common_separator.h" + "lib/unictype/pr_grapheme_extend.h" + "lib/unictype/categ_Pd.h" + "lib/unictype/categ_Mn.h" + "lib/unictype/pr_extended_pictographic.h" + "lib/unictype/categ_Lo.h" + "lib/unictype/pr_currency_symbol.h" + "lib/unictype/pr_unassigned_code_value.h" + "lib/unictype/categ_Cc.h" + "lib/unictype/pr_xid_continue.h" + "lib/unictype/pr_numeric.h" + "lib/unictype/categ_LC.h" + "lib/unictype/pr_bidi_segment_separator.h" + "lib/unictype/categ_M.h" + "lib/unictype/ctype_cntrl.h" + "lib/unictype/pr_ids_trinary_operator.h" + "lib/unictype/pr_private_use.h" + "lib/unictype/categ_Pi.h" + "lib/unictype/categ_Lt.h" + "lib/unictype/pr_variation_selector.h" + "lib/unictype/categ_L.h" + "lib/unictype/pr_emoji_modifier.h" + "lib/unictype/pr_alphabetic.h" + "lib/unictype/ctype_punct.h" + "lib/unictype/pr_bidi_boundary_neutral.h" + "lib/unictype/pr_uppercase.h" + "lib/unictype/pr_xid_start.h" + "lib/unictype/categ_Po.h" + "lib/unictype/scripts_byname.gperf" + "lib/unictype/pr_default_ignorable_code_point.h" + "lib/unictype/pr_bidi_non_spacing_mark.h" + "lib/unictype/bidi_of.h" + "lib/unictype/pr_white_space.h" + "lib/unictype/pr_left_of_pair.h" + "lib/unictype/categ_Nl.h" + "lib/unictype/pr_other_id_start.h" + "lib/unictype/categ_C.h" + "lib/unictype/pr_bidi_left_to_right.h" + "lib/unictype/categ_Me.h" + "lib/unictype/pr_cased.h" + "lib/unictype/categ_Pf.h" + "lib/unictype/pr_other_default_ignorable_code_point.h" + "lib/unictype/pr_unified_ideograph.h" + "lib/unictype/pr_grapheme_link.h" + "lib/unictype/pr_pattern_syntax.h" + "lib/unictype/pr_bidi_block_separator.h" + "lib/unictype/categ_Co.h" + "lib/unictype/pr_punctuation.h" + "lib/unictype/pr_bidi_other_neutral.h" + "lib/unictype/pr_line_separator.h" + "lib/unictype/ctype_digit.h" + "lib/unictype/pr_lowercase.h" + "lib/unictype/pr_emoji.h" + "tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; I could not find a replacement for tests/unigbrk/HangulSyllableNames.txt + "tests/uniwbrk/WordBreakTest.txt"))))))) (build-system gnu-build-system) (arguments (list @@ -876,6 +1222,48 @@ (define*-public (gnulib-checkout #:key (("sc_prohibit_leading_TABs") "disabled_prohibit_leading_TABs")))) (delete 'configure) + (add-after 'unpack 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + `(,@(map (lambda (f) + (search-input-file inputs f)) + '("share/ucd/UnicodeData.txt" + "share/ucd/PropList.txt" + "share/ucd/DerivedCoreProperties.txt" + "share/ucd/emoji/emoji-data.txt" + "share/ucd/ArabicShaping.txt" + "share/ucd/Scripts.txt" + "share/ucd/Blocks.txt" + "share/ucd/PropList-3.0.1.txt" + "share/ucd/EastAsianWidth.txt" + "share/ucd/LineBreak.txt" + "share/ucd/auxiliary/WordBreakProperty.txt" + "share/ucd/auxiliary/GraphemeBreakProperty.txt" + "share/ucd/CompositionExclusions.txt" + "share/ucd/SpecialCasing.txt" + "share/ucd/CaseFolding.txt")) + #$(package-version ucd))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (search-input-file inputs "share/ucd/UnicodeData.txt") + "uniname/uninames.h" + (search-input-file inputs "share/ucd/NameAliases.txt")) + (copy-file (search-input-file inputs "share/ucd/NameAliases.txt") + "../tests/uniname/NameAliases.txt") + (copy-file (search-input-file inputs "share/ucd/UnicodeData.txt") + "../tests/uniname/UnicodeData.txt") + (copy-file (search-input-file inputs "share/ucd/NormalizationTest.txt") + "../tests/uninorm/NormalizationTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/GraphemeBreakTest.txt") + "../tests/unigbrk/GraphemeBreakTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/WordBreakTest.txt") + "../tests/uniwbrk/WordBreakTest.txt") + (delete-file "gen-uni-tables")))) (replace 'install (lambda _ (install-file "gnulib-tool" @@ -883,9 +1271,14 @@ (define*-public (gnulib-checkout #:key (delete-file-recursively ".git") (copy-recursively "." (string-append #$output "/src/gnulib/"))))))) (inputs ;; Shebangs for some auxiliary build files. - (list python perl clisp - ;; Programs for the tests: - cppi indent git autoconf)) + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd ucd3.0-update1 + ;; Programs for the tests: + cppi indent git autoconf)) (home-page "https://www.gnu.org/software/gnulib/") (synopsis "Source files to share among distributions") (description -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 06:50:01 GMT) Full text and rfc822 format available.Message #104 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1. Date: Sat, 31 Dec 2022 07:49:24 +0100
Am Freitag, dem 30.12.2022 um 22:20 +0100 schrieb Vivien Kraus: > * gnu/packages/unicode.scm (ucd3.0-update1): New variable. > --- Surely this must work with a newer UCD. Perhaps not with 14, which is the currently packaged one, but what if we use 7, which is the first zipped one? Using a newer UCD might also solve your Hangul problem. Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 06:54:02 GMT) Full text and rfc822 format available.Message #107 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v5 1/5] gnu: Add gnulib. Date: Sat, 31 Dec 2022 07:53:04 +0100
Am Dienstag, dem 27.12.2022 um 17:23 +0100 schrieb Vivien Kraus: > * gnu/packages/build-tools.scm (gnulib): New variable. > (gnulib-checkout): New function. It returns a package with a specific > commit > of gnulib. > --- As a matter of principle, order the commits so that dependencies come before depending packages. You can also squash multiple commits that fix issues in the previous one into one. Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 06:54:02 GMT) Full text and rfc822 format available.Message #110 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v5 5/5] gnu: guile-gnutls: Update to 3.7.11. Date: Sat, 31 Dec 2022 07:53:28 +0100
Am Mittwoch, dem 28.12.2022 um 03:20 +0100 schrieb Vivien Kraus: > * gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang > autopull.sh and > autogen.sh. > * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and > git. > --- > gnu/packages/tls.scm | 41 ++++++++++++++++++++++++++++------------- > 1 file changed, 28 insertions(+), 13 deletions(-) > > diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm > index a74b423ccf..44a27ef8cb 100644 > --- a/gnu/packages/tls.scm > +++ b/gnu/packages/tls.scm > @@ -56,6 +56,7 @@ (define-module (gnu packages tls) > #:use-module (gnu packages) > #:use-module (gnu packages autotools) > #:use-module (gnu packages bash) > + #:use-module (gnu packages build-tools) > #:use-module (gnu packages check) > #:use-module (gnu packages curl) > #:use-module (gnu packages dns) > @@ -80,6 +81,7 @@ (define-module (gnu packages tls) > #:use-module (gnu packages sphinx) > #:use-module (gnu packages texinfo) > #:use-module (gnu packages time) > + #:use-module (gnu packages version-control) > #:use-module (gnu packages base) > #:use-module (srfi srfi-1)) > > @@ -381,7 +383,7 @@ (define-public guile-gnutls > ;; This package supersedes the Guile bindings that came with > GnuTLS until > ;; version 3.7.8 included. > (name "guile-gnutls") > - (version "3.7.9") > + (version "3.7.11") > (home-page "https://gitlab.com/gnutls/guile/") > (source (origin > (method git-fetch) > @@ -390,21 +392,28 @@ (define-public guile-gnutls > (commit (string-append "v" version)))) > (sha256 > (base32 > - > "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) > + > "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) > (file-name (git-file-name name version)) > (patches (search-patches "gnutls-cross.patch")))) > (build-system gnu-build-system) > (arguments > - '(#:configure-flags > - ;; Tell the build system that we want Guile bindings > installed to > - ;; the output instead of Guiles own module directory. > - (list "--disable-static" > - (string-append "--with-guile-site-dir=" > - > "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") > - (string-append "--with-guile-site-ccache-dir=" > - > "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") > - (string-append "--with-guile-extension-dir=" > - > "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) > + (list > + #:configure-flags > + ;; Tell the build system that we want Guile bindings installed > to the > + ;; output instead of Guiles own module directory. > + #~(list "--disable-static" > + (string-append "--with-guile-site-dir=" > + > "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") > + (string-append "--with-guile-site-ccache-dir=" > + > "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") > + (string-append "--with-guile-extension-dir=" > + > "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'patch-more-shebangs > + (lambda _ > + (for-each patch-shebang > + '("autopull.sh" "autogen.sh"))))))) > (native-inputs > (list autoconf > automake > @@ -412,7 +421,13 @@ (define-public guile-gnutls > pkg-config > texinfo > gnutls ;XXX: 'guile-snarf' invokes the > native 'cpp' > - guile-3.0)) > + guile-3.0 > + (gnulib-checkout > + #:version "2022-12-06" > + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" > + #:hash (base32 > "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")) > + git ; gnulib requires git even if nothing is downloaded. We should really make it so that it doesn't. > + )) > (inputs > (list gnutls-latest > guile-3.0)) Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 10:57:01 GMT) Full text and rfc822 format available.Message #113 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1. Date: Sat, 31 Dec 2022 11:56:39 +0100
Hi! Le samedi 31 décembre 2022 à 07:49 +0100, Liliana Marie Prikler a écrit : > Am Freitag, dem 30.12.2022 um 22:20 +0100 schrieb Vivien Kraus: > > * gnu/packages/unicode.scm (ucd3.0-update1): New variable. > > --- > Surely this must work with a newer UCD. Perhaps not with 14, which > is > the currently packaged one, but what if we use 7, which is the first > zipped one? Using a newer UCD might also solve your Hangul problem. If you look at gen-uni-tables.c in lib/, you will see that the instructions insist on using PropList-3.0.1.txt from 3.0 update 1, in addition to a recent UCD (there are 2 UCD inputs to the gnulib package: the specific 3.0.1 ucd and the recent ucd − they don’t have colliding file names). In theory, I would also update UCD, but it has a lot of dependent packages so the update should go to the staging branch instead. There are no clear instructions on how to get HangulSyllableNames.txt, so I’m hesitant to declare that version 7 will do. Vivien
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 10:59:01 GMT) Full text and rfc822 format available.Message #116 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v6 1/3] gnu: UCD: Add version 3.0-update1. Date: Fri, 30 Dec 2022 22:20:30 +0100
* gnu/packages/unicode.scm (ucd3.0-update1): New variable. --- gnu/packages/unicode.scm | 59 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..66340721e3 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -21,13 +21,15 @@ (define-module (gnu packages unicode) #:use-module (gnu packages autotools) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (ice-9 match)) (define-public libunibreak (package @@ -112,6 +114,61 @@ (define-public ucd-next (base32 "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) +(define-public ucd3.0-update1 + (package + (inherit ucd) + (version "3.0-update1") + (source + ;; unicode.org does not provide a zipped archive. + (directory-union + "ucd-3.0-update1-source" + (map + (match-lambda + ((filename . hash) + (file-union + (string-append "ucd-3.0-update1-" filename) + `((,filename + ,(origin + (method url-fetch) + (uri (string-append "https://www.unicode.org/Public/3.0-Update1/" filename)) + (sha256 hash))))))) + `(("ArabicShaping-3.txt" + . ,(base32 + "0k6hwdnln8cwkzixxbbc6q5g3nx3z5p1549c0jicnz7gq2mvkh90")) + ("BidiMirroring-1.txt" + . ,(base32 + "0wc5gj6mx5wjkwph734swqd3zvi3ngfx75yybbc1f52dc1l3sh9m")) + ("CaseFolding-2.txt" + . ,(base32 + "143hvpalrnkrxc2g9626v6w4cgmksg9hkcm39fpmqidn0rnpm8vy")) + ("CompositionExclusions-2.txt" + . ,(base32 + "06vlc7yqhkacbb411ykyn4na5kq93yp0p9mm3a2jfixk704nwpj1")) + ("Jamo-3.txt" + . ,(base32 + "092lww4ak9wa7g4jn80i9ckniwg3ymmiaq62xxhhbwk3cx2d23ad")) + ("NormalizationTest-3.0.1.txt" + . ,(base32 + "1r5vq8dlar7km1376bp16l40pyczzvwk9waxgin2i2432qdpwmga")) + ("PropList-3.0.1.txt" + . ,(base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")) + ("ReadMe-3.0.1.txt" + . ,(base32 + "08mkcs3r1caj67wrcqq0gyb79zj9qyqnmx8qab0rsd4qg87xhnbv")) + ("SpecialCasing-3.txt" + . ,(base32 + "08vrf0kk5zlsl40h4nsfbpnckl4610m7x2072lyq97lln7dsky7a")) + ("UnicodeCharacterDatabase-3.0.1.html" + . ,(base32 + "0fy7vb1zkxg2pg198p7phncjs78gz6lvdzhv51yz34kds8nzz40m")) + ("UnicodeData-3.0.1.html" + . ,(base32 + "0fvv59ydp09mppjr8130kmp90r240hnaqld8i5xkpz900fl20pc1")) + ("UnicodeData-3.0.1.txt" + . ,(base32 + "092svm19f78pxg58pcisg3i57884y7z22rymrcppjkg6sz3izsia")))))))) + (define (unicode-emoji-file name version hash) (origin (method url-fetch) base-commit: c39db91e51e55e46f177378c7b5a797441dc7d1b -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 10:59:02 GMT) Full text and rfc822 format available.Message #119 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v6 2/3] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib): New variable. (gnulib-checkout): New function. It returns a package with a specific commit of gnulib. --- gnu/packages/build-tools.scm | 498 +++++++++++++++++++++++++++++++++++ 1 file changed, 498 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..9592b82130 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,27 +32,36 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +74,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +813,491 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils)) + (for-each delete-file-recursively + `("tests/unicase/test-ignorable.c" + "tests/unicase/test-uc_toupper.c" + "tests/unicase/test-uc_tolower.c" + "tests/unicase/test-cased.c" + "tests/unicase/test-uc_totitle.c" + "tests/unigbrk/test-uc-gbrk-prop.h" + "tests/unictype/test-pr_zero_width.c" + "tests/unictype/test-pr_ascii_hex_digit.c" + "tests/unictype/test-ctype_xdigit.c" + "tests/unictype/test-digit.h" + "tests/unictype/test-pr_grapheme_extend.c" + "tests/unictype/test-ctype_cntrl.c" + "tests/unictype/test-pr_default_ignorable_code_point.c" + "tests/unictype/test-categ_Nd.c" + "tests/unictype/test-decdigit.h" + "tests/unictype/test-pr_currency_symbol.c" + "tests/unictype/test-pr_logical_order_exception.c" + "tests/unictype/test-pr_bidi_common_separator.c" + "tests/unictype/test-pr_space.c" + "tests/unictype/test-pr_ids_trinary_operator.c" + "tests/unictype/test-pr_decimal_digit.c" + "tests/unictype/test-categ_Lo.c" + "tests/unictype/test-categ_Cn.c" + "tests/unictype/test-categ_Mn.c" + "tests/unictype/test-pr_line_separator.c" + "tests/unictype/test-ctype_upper.c" + "tests/unictype/test-pr_extender.c" + "tests/unictype/test-pr_other_default_ignorable_code_point.c" + "tests/unictype/test-pr_uppercase.c" + "tests/unictype/test-categ_Ll.c" + "tests/unictype/test-ctype_alpha.c" + "tests/unictype/test-pr_changes_when_lowercased.c" + "tests/unictype/test-categ_Sm.c" + "tests/unictype/test-pr_variation_selector.c" + "tests/unictype/test-pr_white_space.c" + "tests/unictype/test-pr_ideographic.c" + "tests/unictype/test-joininggroup_of.h" + "tests/unictype/test-ctype_lower.c" + "tests/unictype/test-pr_quotation_mark.c" + "tests/unictype/test-pr_bidi_block_separator.c" + "tests/unictype/test-ctype_blank.c" + "tests/unictype/test-pr_bidi_eur_num_terminator.c" + "tests/unictype/test-pr_bidi_pdf.c" + "tests/unictype/test-pr_deprecated.c" + "tests/unictype/test-pr_grapheme_base.c" + "tests/unictype/test-sy_java_whitespace.c" + "tests/unictype/test-pr_other_alphabetic.c" + "tests/unictype/test-categ_C.c" + "tests/unictype/test-categ_Cc.c" + "tests/unictype/test-pr_id_continue.c" + "tests/unictype/test-pr_changes_when_uppercased.c" + "tests/unictype/test-pr_bidi_control.c" + "tests/unictype/test-pr_changes_when_casemapped.c" + "tests/unictype/test-categ_S.c" + "tests/unictype/test-pr_pattern_white_space.c" + "tests/unictype/test-pr_format_control.c" + "tests/unictype/test-categ_N.c" + "tests/unictype/test-categ_LC.c" + "tests/unictype/test-pr_bidi_arabic_right_to_left.c" + "tests/unictype/test-categ_Nl.c" + "tests/unictype/test-pr_other_uppercase.c" + "tests/unictype/test-pr_other_grapheme_extend.c" + "tests/unictype/test-pr_diacritic.c" + "tests/unictype/test-pr_join_control.c" + "tests/unictype/test-pr_composite.c" + "tests/unictype/test-pr_extended_pictographic.c" + "tests/unictype/test-pr_combining.c" + "tests/unictype/test-categ_Lm.c" + "tests/unictype/test-pr_other_id_continue.c" + "tests/unictype/test-pr_xid_continue.c" + "tests/unictype/test-pr_ids_binary_operator.c" + "tests/unictype/test-pr_bidi_left_to_right.c" + "tests/unictype/test-pr_bidi_non_spacing_mark.c" + "tests/unictype/test-categ_Zl.c" + "tests/unictype/test-pr_sentence_terminal.c" + "tests/unictype/test-categ_Co.c" + "tests/unictype/test-pr_non_break.c" + "tests/unictype/test-pr_math.c" + "tests/unictype/test-ctype_punct.c" + "tests/unictype/test-pr_other_id_start.c" + "tests/unictype/test-ctype_digit.c" + "tests/unictype/test-pr_bidi_eur_num_separator.c" + "tests/unictype/test-pr_id_start.c" + "tests/unictype/test-pr_numeric.c" + "tests/unictype/test-categ_Pe.c" + "tests/unictype/test-pr_lowercase.c" + "tests/unictype/test-pr_hex_digit.c" + "tests/unictype/test-pr_emoji_presentation.c" + "tests/unictype/test-pr_ignorable_control.c" + "tests/unictype/test-categ_Pi.c" + "tests/unictype/test-pr_bidi_boundary_neutral.c" + "tests/unictype/test-pr_changes_when_titlecased.c" + "tests/unictype/test-categ_Cf.c" + "tests/unictype/test-pr_emoji_modifier.c" + "tests/unictype/test-pr_alphabetic.c" + "tests/unictype/test-pr_changes_when_casefolded.c" + "tests/unictype/test-pr_left_of_pair.c" + "tests/unictype/test-pr_radical.c" + "tests/unictype/test-pr_pattern_syntax.c" + "tests/unictype/test-categ_L.c" + "tests/unictype/test-pr_other_lowercase.c" + "tests/unictype/test-categ_Pf.c" + "tests/unictype/test-ctype_print.c" + "tests/unictype/test-pr_bidi_whitespace.c" + "tests/unictype/test-numeric.h" + "tests/unictype/test-pr_paired_punctuation.c" + "tests/unictype/test-pr_emoji_modifier_base.c" + "tests/unictype/test-categ_Ps.c" + "tests/unictype/test-pr_dash.c" + "tests/unictype/test-pr_bidi_european_digit.c" + "tests/unictype/test-categ_P.c" + "tests/unictype/test-pr_grapheme_link.c" + "tests/unictype/test-categ_Lu.c" + "tests/unictype/test-categ_No.c" + "tests/unictype/test-pr_emoji.c" + "tests/unictype/test-categ_M.c" + "tests/unictype/test-pr_regional_indicator.c" + "tests/unictype/test-categ_Zs.c" + "tests/unictype/test-categ_Sk.c" + "tests/unictype/test-sy_c_whitespace.c" + "tests/unictype/test-pr_unified_ideograph.c" + "tests/unictype/test-categ_Cs.c" + "tests/unictype/test-pr_case_ignorable.c" + "tests/unictype/test-categ_Sc.c" + "tests/unictype/test-categ_So.c" + "tests/unictype/test-pr_bidi_hebrew_right_to_left.c" + "tests/unictype/test-categ_Po.c" + "tests/unictype/test-joiningtype_of.h" + "tests/unictype/test-pr_soft_dotted.c" + "tests/unictype/test-categ_Pd.c" + "tests/unictype/test-categ_Z.c" + "tests/unictype/test-categ_Zp.c" + "tests/unictype/test-ctype_space.c" + "tests/unictype/test-pr_emoji_component.c" + "tests/unictype/test-pr_bidi_other_neutral.c" + "tests/unictype/test-pr_other_math.c" + "tests/unictype/test-pr_private_use.c" + "tests/unictype/test-pr_cased.c" + "tests/unictype/test-pr_terminal_punctuation.c" + "tests/unictype/test-categ_Me.c" + "tests/unictype/test-ctype_graph.c" + "tests/unictype/test-pr_unassigned_code_value.c" + "tests/unictype/test-categ_Lt.c" + "tests/unictype/test-categ_Pc.c" + "tests/unictype/test-pr_punctuation.c" + "tests/unictype/test-pr_bidi_segment_separator.c" + "tests/unictype/test-pr_paragraph_separator.c" + "tests/unictype/test-pr_xid_start.c" + "tests/unictype/test-pr_bidi_embedding_or_override.c" + "tests/unictype/test-categ_Mc.c" + "tests/unictype/test-pr_bidi_arabic_digit.c" + "tests/unictype/test-pr_titlecase.c" + "tests/unictype/test-pr_iso_control.c" + "tests/unictype/test-pr_not_a_character.c" + "tests/unictype/test-pr_hyphen.c" + "tests/unictype/test-ctype_alnum.c" + "lib/unicase/ignorable.h" + "lib/unicase/special-casing-table.gperf" + "lib/unicase/tolower.h" + "lib/unicase/toupper.h" + "lib/unicase/tocasefold.h" + "lib/unicase/totitle.h" + "lib/unicase/cased.h" + "lib/uniwidth/width0.h" + "lib/uniwidth/width2.h" + "lib/unigbrk/gbrkprop.h" + "lib/uninorm/composition-table.gperf" + "lib/uninorm/decomposition-table1.h" + "lib/uninorm/decomposition-table2.h" + "lib/uniname/uninames.h" + "lib/uniwbrk/wbrkprop.h" + "lib/unilbrk/lbrktables.c" + "lib/unilbrk/lbrkprop1.h" + "lib/unilbrk/lbrkprop2.h" + "lib/unictype/pr_radical.h" + "lib/unictype/pr_other_math.h" + "lib/unictype/pr_dash.h" + "lib/unictype/pr_combining.h" + "lib/unictype/pr_not_a_character.h" + "lib/unictype/pr_math.h" + "lib/unictype/pr_terminal_punctuation.h" + "lib/unictype/pr_id_start.h" + "lib/unictype/pr_quotation_mark.h" + "lib/unictype/pr_changes_when_titlecased.h" + "lib/unictype/categ_Mc.h" + "lib/unictype/pr_deprecated.h" + "lib/unictype/categ_Cf.h" + "lib/unictype/pr_zero_width.h" + "lib/unictype/pr_emoji_modifier_base.h" + "lib/unictype/ctype_blank.h" + "lib/unictype/joininggroup_of.h" + "lib/unictype/categ_Sk.h" + "lib/unictype/pr_paired_punctuation.h" + "lib/unictype/pr_decimal_digit.h" + "lib/unictype/pr_other_uppercase.h" + "lib/unictype/categ_Cn.h" + "lib/unictype/categ_of.h" + "lib/unictype/sy_c_whitespace.h" + "lib/unictype/pr_composite.h" + "lib/unictype/pr_other_grapheme_extend.h" + "lib/unictype/pr_other_id_continue.h" + "lib/unictype/pr_paragraph_separator.h" + "lib/unictype/pr_bidi_whitespace.h" + "lib/unictype/scripts.h" + "lib/unictype/ctype_graph.h" + "lib/unictype/pr_bidi_arabic_right_to_left.h" + "lib/unictype/categ_Lu.h" + "lib/unictype/pr_hyphen.h" + "lib/unictype/pr_changes_when_casemapped.h" + "lib/unictype/categ_Pe.h" + "lib/unictype/pr_hex_digit.h" + "lib/unictype/pr_id_continue.h" + "lib/unictype/pr_pattern_white_space.h" + "lib/unictype/joiningtype_of.h" + "lib/unictype/ctype_upper.h" + "lib/unictype/pr_extender.h" + "lib/unictype/pr_iso_control.h" + "lib/unictype/ctype_lower.h" + "lib/unictype/categ_Ps.h" + "lib/unictype/categ_Sc.h" + "lib/unictype/ctype_print.h" + "lib/unictype/sy_java_ident.h" + "lib/unictype/ctype_alnum.h" + "lib/unictype/pr_ideographic.h" + "lib/unictype/pr_titlecase.h" + "lib/unictype/categ_N.h" + "lib/unictype/pr_changes_when_casefolded.h" + "lib/unictype/pr_soft_dotted.h" + "lib/unictype/categ_Z.h" + "lib/unictype/categ_Lm.h" + "lib/unictype/categ_P.h" + "lib/unictype/pr_emoji_component.h" + "lib/unictype/pr_space.h" + "lib/unictype/pr_other_lowercase.h" + "lib/unictype/pr_bidi_eur_num_separator.h" + "lib/unictype/pr_bidi_eur_num_terminator.h" + "lib/unictype/ctype_alpha.h" + "lib/unictype/numeric.h" + "lib/unictype/pr_grapheme_base.h" + "lib/unictype/ctype_xdigit.h" + "lib/unictype/pr_bidi_embedding_or_override.h" + "lib/unictype/blocks.h" + "lib/unictype/categ_No.h" + "lib/unictype/pr_ascii_hex_digit.h" + "lib/unictype/pr_bidi_european_digit.h" + "lib/unictype/pr_format_control.h" + "lib/unictype/pr_join_control.h" + "lib/unictype/pr_case_ignorable.h" + "lib/unictype/ctype_space.h" + "lib/unictype/pr_bidi_control.h" + "lib/unictype/pr_diacritic.h" + "lib/unictype/categ_Zs.h" + "lib/unictype/mirror.h" + "lib/unictype/categ_Zl.h" + "lib/unictype/pr_bidi_hebrew_right_to_left.h" + "lib/unictype/decdigit.h" + "lib/unictype/categ_Nd.h" + "lib/unictype/pr_sentence_terminal.h" + "lib/unictype/combiningclass.h" + "lib/unictype/categ_S.h" + "lib/unictype/pr_bidi_arabic_digit.h" + "lib/unictype/digit.h" + "lib/unictype/categ_So.h" + "lib/unictype/pr_changes_when_uppercased.h" + "lib/unictype/pr_other_alphabetic.h" + "lib/unictype/pr_emoji_presentation.h" + "lib/unictype/pr_ignorable_control.h" + "lib/unictype/categ_Cs.h" + "lib/unictype/sy_java_whitespace.h" + "lib/unictype/pr_changes_when_lowercased.h" + "lib/unictype/pr_ids_binary_operator.h" + "lib/unictype/categ_Ll.h" + "lib/unictype/pr_logical_order_exception.h" + "lib/unictype/pr_bidi_pdf.h" + "lib/unictype/sy_c_ident.h" + "lib/unictype/categ_Sm.h" + "lib/unictype/pr_non_break.h" + "lib/unictype/categ_Zp.h" + "lib/unictype/categ_Pc.h" + "lib/unictype/pr_bidi_common_separator.h" + "lib/unictype/pr_grapheme_extend.h" + "lib/unictype/categ_Pd.h" + "lib/unictype/categ_Mn.h" + "lib/unictype/pr_extended_pictographic.h" + "lib/unictype/categ_Lo.h" + "lib/unictype/pr_currency_symbol.h" + "lib/unictype/pr_unassigned_code_value.h" + "lib/unictype/categ_Cc.h" + "lib/unictype/pr_xid_continue.h" + "lib/unictype/pr_numeric.h" + "lib/unictype/categ_LC.h" + "lib/unictype/pr_bidi_segment_separator.h" + "lib/unictype/categ_M.h" + "lib/unictype/ctype_cntrl.h" + "lib/unictype/pr_ids_trinary_operator.h" + "lib/unictype/pr_private_use.h" + "lib/unictype/categ_Pi.h" + "lib/unictype/categ_Lt.h" + "lib/unictype/pr_variation_selector.h" + "lib/unictype/categ_L.h" + "lib/unictype/pr_emoji_modifier.h" + "lib/unictype/pr_alphabetic.h" + "lib/unictype/ctype_punct.h" + "lib/unictype/pr_bidi_boundary_neutral.h" + "lib/unictype/pr_uppercase.h" + "lib/unictype/pr_xid_start.h" + "lib/unictype/categ_Po.h" + "lib/unictype/scripts_byname.gperf" + "lib/unictype/pr_default_ignorable_code_point.h" + "lib/unictype/pr_bidi_non_spacing_mark.h" + "lib/unictype/bidi_of.h" + "lib/unictype/pr_white_space.h" + "lib/unictype/pr_left_of_pair.h" + "lib/unictype/categ_Nl.h" + "lib/unictype/pr_other_id_start.h" + "lib/unictype/categ_C.h" + "lib/unictype/pr_bidi_left_to_right.h" + "lib/unictype/categ_Me.h" + "lib/unictype/pr_cased.h" + "lib/unictype/categ_Pf.h" + "lib/unictype/pr_other_default_ignorable_code_point.h" + "lib/unictype/pr_unified_ideograph.h" + "lib/unictype/pr_grapheme_link.h" + "lib/unictype/pr_pattern_syntax.h" + "lib/unictype/pr_bidi_block_separator.h" + "lib/unictype/categ_Co.h" + "lib/unictype/pr_punctuation.h" + "lib/unictype/pr_bidi_other_neutral.h" + "lib/unictype/pr_line_separator.h" + "lib/unictype/ctype_digit.h" + "lib/unictype/pr_lowercase.h" + "lib/unictype/pr_emoji.h" + "tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; I could not find a replacement for tests/unigbrk/HangulSyllableNames.txt + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + (invoke "git" "commit" "-m" + "Syntax checks are only run against committed files, so commit everything."))) + (add-after 'fix-tests 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_sym_list") + "disabled_check_sym_list") + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_check_copyright") + "disabled_check_copyright") + (("sc_prohibit_AC_LIBOBJ_in_m4") + "disabled_prohibit_AC_LIBOBJ_in_m4") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_leading_TABs") + "disabled_prohibit_leading_TABs")))) + (delete 'configure) + (add-after 'unpack 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + `(,@(map (lambda (f) + (search-input-file inputs f)) + '("share/ucd/UnicodeData.txt" + "share/ucd/PropList.txt" + "share/ucd/DerivedCoreProperties.txt" + "share/ucd/emoji/emoji-data.txt" + "share/ucd/ArabicShaping.txt" + "share/ucd/Scripts.txt" + "share/ucd/Blocks.txt" + "share/ucd/PropList-3.0.1.txt" + "share/ucd/EastAsianWidth.txt" + "share/ucd/LineBreak.txt" + "share/ucd/auxiliary/WordBreakProperty.txt" + "share/ucd/auxiliary/GraphemeBreakProperty.txt" + "share/ucd/CompositionExclusions.txt" + "share/ucd/SpecialCasing.txt" + "share/ucd/CaseFolding.txt")) + #$(package-version ucd))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (search-input-file inputs "share/ucd/UnicodeData.txt") + "uniname/uninames.h" + (search-input-file inputs "share/ucd/NameAliases.txt")) + (copy-file (search-input-file inputs "share/ucd/NameAliases.txt") + "../tests/uniname/NameAliases.txt") + (copy-file (search-input-file inputs "share/ucd/UnicodeData.txt") + "../tests/uniname/UnicodeData.txt") + (copy-file (search-input-file inputs "share/ucd/NormalizationTest.txt") + "../tests/uninorm/NormalizationTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/GraphemeBreakTest.txt") + "../tests/unigbrk/GraphemeBreakTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/WordBreakTest.txt") + "../tests/uniwbrk/WordBreakTest.txt") + (delete-file "gen-uni-tables")))) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (delete-file-recursively ".git") + (copy-recursively "." (string-append #$output "/src/gnulib/"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd ucd3.0-update1 + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-28" + #:commit "14a7b0ce5462c90ce86d97bf952185ec2500d341" + #:hash (base32 "0fz25ccdlxf4xp37rjsl1fslc4g0x12qpvadz4qw0cq18dvx5kbx"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 10:59:02 GMT) Full text and rfc822 format available.Message #122 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v6 3/3] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 14:08:01 GMT) Full text and rfc822 format available.Message #125 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1. Date: Sat, 31 Dec 2022 15:07:09 +0100
Am Samstag, dem 31.12.2022 um 11:56 +0100 schrieb Vivien Kraus: > Hi! > > Le samedi 31 décembre 2022 à 07:49 +0100, Liliana Marie Prikler a > écrit : > > Am Freitag, dem 30.12.2022 um 22:20 +0100 schrieb Vivien Kraus: > > > * gnu/packages/unicode.scm (ucd3.0-update1): New variable. > > > --- > > Surely this must work with a newer UCD. Perhaps not with 14, which > > is > > the currently packaged one, but what if we use 7, which is the > > first > > zipped one? Using a newer UCD might also solve your Hangul > > problem. > > If you look at gen-uni-tables.c in lib/, you will see that the > instructions insist on using PropList-3.0.1.txt from 3.0 update 1, in > addition to a recent UCD (there are 2 UCD inputs to the gnulib > package: the specific 3.0.1 ucd and the recent ucd − they don’t have > colliding file names). In theory, I would also update UCD, but it has > a lot of dependent packages so the update should go to the staging > branch instead. Looking at the comment, you only need the proplist, however, not anything else. I'd also experiment with providing an empty file in its stead, but it doesn't matter too much as long as the hacks we need to take are kept acceptably few. If you want to use UCD 15, go ahead. There is a ucd-next package that has possibly fewer dependants, which ironically also points to UCD 14 atm. As for the deleted files in some test directories, can we abbreviate them with regular expressions or keep lists? Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 18:27:01 GMT) Full text and rfc822 format available.Message #128 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v7 1/5] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures base-commit: d4ed8dc3c5743aac6766da0e54e0c969386ed8ac -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 18:27:02 GMT) Full text and rfc822 format available.Message #131 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v7 2/5] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. --- gnu/packages/unicode.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..1f5bc10c94 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -101,7 +101,7 @@ (define-public ucd-next (package (inherit ucd) (name "ucd-next") - (version "14.0.0") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 18:28:01 GMT) Full text and rfc822 format available.Message #134 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1. Date: Fri, 30 Dec 2022 22:20:30 +0100
* gnu/packages/unicode.scm (ucd3.0-update1): New variable. --- gnu/packages/unicode.scm | 59 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 1f5bc10c94..b3a228f4f1 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -21,13 +21,15 @@ (define-module (gnu packages unicode) #:use-module (gnu packages autotools) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (ice-9 match)) (define-public libunibreak (package @@ -111,6 +113,61 @@ (define-public ucd-next (base32 "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) +(define-public ucd3.0-update1 + (package + (inherit ucd) + (version "3.0-update1") + (source + ;; unicode.org does not provide a zipped archive. + (directory-union + "ucd-3.0-update1-source" + (map + (match-lambda + ((filename . hash) + (file-union + (string-append "ucd-3.0-update1-" filename) + `((,filename + ,(origin + (method url-fetch) + (uri (string-append "https://www.unicode.org/Public/3.0-Update1/" filename)) + (sha256 hash))))))) + `(("ArabicShaping-3.txt" + . ,(base32 + "0k6hwdnln8cwkzixxbbc6q5g3nx3z5p1549c0jicnz7gq2mvkh90")) + ("BidiMirroring-1.txt" + . ,(base32 + "0wc5gj6mx5wjkwph734swqd3zvi3ngfx75yybbc1f52dc1l3sh9m")) + ("CaseFolding-2.txt" + . ,(base32 + "143hvpalrnkrxc2g9626v6w4cgmksg9hkcm39fpmqidn0rnpm8vy")) + ("CompositionExclusions-2.txt" + . ,(base32 + "06vlc7yqhkacbb411ykyn4na5kq93yp0p9mm3a2jfixk704nwpj1")) + ("Jamo-3.txt" + . ,(base32 + "092lww4ak9wa7g4jn80i9ckniwg3ymmiaq62xxhhbwk3cx2d23ad")) + ("NormalizationTest-3.0.1.txt" + . ,(base32 + "1r5vq8dlar7km1376bp16l40pyczzvwk9waxgin2i2432qdpwmga")) + ("PropList-3.0.1.txt" + . ,(base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")) + ("ReadMe-3.0.1.txt" + . ,(base32 + "08mkcs3r1caj67wrcqq0gyb79zj9qyqnmx8qab0rsd4qg87xhnbv")) + ("SpecialCasing-3.txt" + . ,(base32 + "08vrf0kk5zlsl40h4nsfbpnckl4610m7x2072lyq97lln7dsky7a")) + ("UnicodeCharacterDatabase-3.0.1.html" + . ,(base32 + "0fy7vb1zkxg2pg198p7phncjs78gz6lvdzhv51yz34kds8nzz40m")) + ("UnicodeData-3.0.1.html" + . ,(base32 + "0fvv59ydp09mppjr8130kmp90r240hnaqld8i5xkpz900fl20pc1")) + ("UnicodeData-3.0.1.txt" + . ,(base32 + "092svm19f78pxg58pcisg3i57884y7z22rymrcppjkg6sz3izsia")))))))) + (define (unicode-emoji-file name version hash) (origin (method url-fetch) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 18:28:01 GMT) Full text and rfc822 format available.Message #137 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v7 4/5] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib): New variable. (gnulib-checkout): New function. It returns a package with a specific commit of gnulib. --- gnu/packages/build-tools.scm | 220 +++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..d2eeb88db6 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,27 +32,36 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +74,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +813,213 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((count-purged + (file-system-fold + ;; enter? + (lambda (name stat result) + #t) + ;; leaf + (lambda (name stat result) + (if (or (string-suffix? ".c" name) + (string-suffix? ".h" name) + (string-suffix? ".gperf" name)) + (call-with-input-file name + (lambda (port) + (let ((first-line (read-line port))) + (if (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */") + (begin + (delete-file name) + (1+ result)) + result)))) + result)) + ;; down + (lambda (name stat result) + result) + ;; up + (lambda (name stat result) + result) + ;; skip + (lambda (name stat result) + (error "No directory should be spared")) + ;; error + (lambda (name stat errno result) + (error "A file is inaccessible")) + ;; Initial value + 0 + (getcwd)))) + (unless (eqv? count-purged 332) + (format (current-error-port) "There were ~s files purged.\n" count-purged) + (error "Please check the number of automatically generated files."))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + (invoke "git" "commit" "-m" + "Syntax checks are only run against committed files, so commit everything."))) + (add-after 'fix-tests 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_sym_list") + "disabled_check_sym_list") + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_check_copyright") + "disabled_check_copyright") + (("sc_prohibit_AC_LIBOBJ_in_m4") + "disabled_prohibit_AC_LIBOBJ_in_m4") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_leading_TABs") + "disabled_prohibit_leading_TABs")))) + (delete 'configure) + (add-after 'unpack 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + `(,@(map (lambda (f) + (search-input-file inputs f)) + '("share/ucd/UnicodeData.txt" + "share/ucd/PropList.txt" + "share/ucd/DerivedCoreProperties.txt" + "share/ucd/emoji/emoji-data.txt" + "share/ucd/ArabicShaping.txt" + "share/ucd/Scripts.txt" + "share/ucd/Blocks.txt" + "share/ucd/PropList-3.0.1.txt" + "share/ucd/EastAsianWidth.txt" + "share/ucd/LineBreak.txt" + "share/ucd/auxiliary/WordBreakProperty.txt" + "share/ucd/auxiliary/GraphemeBreakProperty.txt" + "share/ucd/CompositionExclusions.txt" + "share/ucd/SpecialCasing.txt" + "share/ucd/CaseFolding.txt")) + ;; This is the version of the UCD used, it should be + ;; the same as the native-input. + #$(package-version ucd-next))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (search-input-file inputs "share/ucd/UnicodeData.txt") + "uniname/uninames.h" + (search-input-file inputs "share/ucd/NameAliases.txt")) + (copy-file (search-input-file inputs "share/ucd/NameAliases.txt") + "../tests/uniname/NameAliases.txt") + (copy-file (search-input-file inputs "share/ucd/UnicodeData.txt") + "../tests/uniname/UnicodeData.txt") + (copy-file (search-input-file inputs "share/ucd/NormalizationTest.txt") + "../tests/uninorm/NormalizationTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/GraphemeBreakTest.txt") + "../tests/unigbrk/GraphemeBreakTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/WordBreakTest.txt") + "../tests/uniwbrk/WordBreakTest.txt") + (delete-file "gen-uni-tables")))) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (delete-file-recursively ".git") + (copy-recursively "." (string-append #$output "/src/gnulib/"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next ;; If you change it, also change #$(package-version ucd-next) + ;; in the regenerate-unicode phase. + ucd3.0-update1 + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-28" + #:commit "14a7b0ce5462c90ce86d97bf952185ec2500d341" + #:hash (base32 "0fz25ccdlxf4xp37rjsl1fslc4g0x12qpvadz4qw0cq18dvx5kbx"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 18:28:02 GMT) Full text and rfc822 format available.Message #140 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v7 5/5] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 19:18:02 GMT) Full text and rfc822 format available.Message #143 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1. Date: Sat, 31 Dec 2022 20:17:25 +0100
Am Freitag, dem 30.12.2022 um 22:20 +0100 schrieb Vivien Kraus: > * gnu/packages/unicode.scm (ucd3.0-update1): New variable. Once again, do you need all of these, or just a single file? (Or indeed none at all?)
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 31 Dec 2022 19:27:02 GMT) Full text and rfc822 format available.Message #146 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v7 4/5] gnu: Add gnulib. Date: Sat, 31 Dec 2022 20:26:10 +0100
Am Dienstag, dem 27.12.2022 um 17:23 +0100 schrieb Vivien Kraus: > * gnu/packages/build-tools.scm (gnulib): New variable. > (gnulib-checkout): New function. It returns a package with a specific > commit of gnulib. Btw. you can shorten this to (gnulib-checkout, gnulib): New variables. > --- > gnu/packages/build-tools.scm | 220 > +++++++++++++++++++++++++++++++++++ > 1 file changed, 220 insertions(+) > > diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build- > tools.scm > index 6c1350c44f..d2eeb88db6 100644 > --- a/gnu/packages/build-tools.scm > +++ b/gnu/packages/build-tools.scm > @@ -32,27 +32,36 @@ > ;;; along with GNU Guix. If not, see > <http://www.gnu.org/licenses/>. > > (define-module (gnu packages build-tools) > + #:use-module (ice-9 optargs) > #:use-module ((guix licenses) #:prefix license:) > #:use-module (guix utils) > #:use-module (guix packages) > #:use-module (guix gexp) > #:use-module (guix download) > #:use-module (guix git-download) > + #:use-module (guix git) > #:use-module (guix build-system cmake) > + #:use-module (guix modules) > #:use-module (gnu packages) > #:use-module (gnu packages adns) > + #:use-module (gnu packages autotools) > #:use-module (gnu packages base) > #:use-module (gnu packages bash) > #:use-module (gnu packages check) > + #:use-module (gnu packages code) > #:use-module (gnu packages compression) > #:use-module (gnu packages cpp) > + #:use-module (gnu packages cppi) > #:use-module (gnu packages elf) > + #:use-module (gnu packages gcc) > #:use-module (gnu packages linux) > + #:use-module (gnu packages lisp) > #:use-module (gnu packages logging) > #:use-module (gnu packages lua) > #:use-module (gnu packages ninja) > #:use-module (gnu packages package-management) > #:use-module (gnu packages pcre) > + #:use-module (gnu packages perl) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages pretty-print) > #:use-module (gnu packages protobuf) > @@ -65,6 +74,7 @@ (define-module (gnu packages build-tools) > #:use-module (gnu packages rpc) > #:use-module (gnu packages sqlite) > #:use-module (gnu packages tls) > + #:use-module (gnu packages unicode) > #:use-module (gnu packages version-control) > #:use-module (guix build-system gnu) > #:use-module (guix build-system python)) > @@ -803,3 +813,213 @@ (define-public genie > same settings to multiple projects. It supports generating projects > using GNU > Makefiles, JSON Compilation Database, and experimentally Ninja.") > (license license:bsd-3)))) > + > +(define*-public (gnulib-checkout #:key > + version > + (revision "1") > + commit > + hash) > + "Return as a package the exact gnulib checkout." > + (package > + (name "gnulib") > + (version (git-version version revision commit)) > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.savannah.gnu.org/git/gnulib.git") > + (commit commit))) > + (file-name (git-file-name name version)) > + (sha256 hash) > + (snippet > + (with-imported-modules (source-module-closure '((guix build > utils))) > + #~(begin > + (use-modules (guix build utils) > + (ice-9 ftw) > + (ice-9 rdelim)) > + ;; .c, .h and .gperf files whose first line is /* DO > NOT EDIT! > + ;; GENERATED AUTOMATICALLY! */ are generated > automatically based > + ;; on the unicode database. Since we replace the > unicode > + ;; database with our own, we need to regenerate them. > So, they > + ;; are removed from the source. They are sprinkled all > over the > + ;; place unfortunately, so we can’t exclude whole > directories. > + (let ((count-purged > + (file-system-fold > + ;; enter? > + (lambda (name stat result) > + #t) > + ;; leaf > + (lambda (name stat result) > + (if (or (string-suffix? ".c" name) > + (string-suffix? ".h" name) > + (string-suffix? ".gperf" name)) > + (call-with-input-file name > + (lambda (port) > + (let ((first-line (read-line port))) > + (if (equal? > + first-line > + "/* DO NOT EDIT! GENERATED > AUTOMATICALLY! */") > + (begin > + (delete-file name) > + (1+ result)) > + result)))) > + result)) > + ;; down > + (lambda (name stat result) > + result) > + ;; up > + (lambda (name stat result) > + result) > + ;; skip > + (lambda (name stat result) > + (error "No directory should be spared")) > + ;; error > + (lambda (name stat errno result) > + (error "A file is inaccessible")) > + ;; Initial value > + 0 > + (getcwd)))) I think it should be possible to express this list in terms of find- files. Note that it accepts a procedure rather than just a simple regexp too. > + (unless (eqv? count-purged 332) > + (format (current-error-port) "There were ~s files > purged.\n" count-purged) > + (error "Please check the number of automatically > generated files."))) I'm not sure whether this check is a good idea. This seems to be the kind of thing that will break for no reason. > + ;; Other files are copied from UCD. > + (for-each delete-file > + '("tests/unigbrk/GraphemeBreakTest.txt" > + "tests/uninorm/NormalizationTest.txt" > + "tests/uniname/UnicodeData.txt" > + "tests/uniname/NameAliases.txt" > + ;; FIXME: > tests/uniname/HangulSyllableNames.txt > + ;; seems like a UCD file but it is not > distributed > + ;; with UCD. > + "tests/uniwbrk/WordBreakTest.txt"))))))) > + (build-system gnu-build-system) > + (arguments > + (list > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'fix-tests > + (lambda _ > + (substitute* "Makefile" > + (("-f maint.mk syntax-check") > + "_gl-Makefile=yes -f maint.mk syntax-check")) > + (invoke "git" "init") > + (invoke "git" "config" "user.name" "Guix") > + (invoke "git" "config" "user.email" "guix <at> localhost") > + (invoke "git" "add" ".") > + (invoke "git" "commit" "-m" > + "Syntax checks are only run against committed > files, so commit everything."))) > + (add-after 'fix-tests 'disable-failing-tests > + (lambda _ > + (substitute* "cfg.mk" > + (("local-checks-to-skip =") > + "local-checks-to-skip = \\ > + sc_Wundef_boolean \\ > + sc_file_system \\ > + sc_indent \\ > + sc_keep_gnulib_texi_files_mostly_ascii \\ > + sc_prohibit_assert_without_use \\ > + sc_prohibit_close_stream_without_use \\ > + sc_prohibit_defined_have_decl_tests \\ > + sc_prohibit_doubled_word \\ > + sc_prohibit_empty_lines_at_EOF \\ > + sc_prohibit_intprops_without_use \\ > + sc_prohibit_openat_without_use \\ > + sc_prohibit_test_minus_ao \\ > + sc_unportable_grep_q")) > + (substitute* "Makefile" > + (("sc_check_sym_list") > + "disabled_check_sym_list") > + (("sc_cpp_indent_check") > + "disabled_cpp_indent_check") > + (("sc_check_copyright") > + "disabled_check_copyright") > + (("sc_prohibit_AC_LIBOBJ_in_m4") > + "disabled_prohibit_AC_LIBOBJ_in_m4") > + (("sc_prefer_ac_check_funcs_once") > + "disabled_prefer_ac_check_funcs_once") > + (("sc_prohibit_leading_TABs") > + "disabled_prohibit_leading_TABs")))) > + (delete 'configure) > + (add-after 'unpack 'regenerate-unicode > + (lambda* (#:key inputs #:allow-other-keys) > + (with-directory-excursion "lib" > + ;; See the compile-command buffer-local variable in > + ;; lib/gen-uni-tables.c > + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" > "gen-uni-tables.c" > + "-Iunictype" "-o" "gen-uni-tables") > + (apply invoke > + "./gen-uni-tables" > + `(,@(map (lambda (f) > + (search-input-file inputs f)) > + '("share/ucd/UnicodeData.txt" > + "share/ucd/PropList.txt" > + > "share/ucd/DerivedCoreProperties.txt" > + "share/ucd/emoji/emoji-data.txt" > + "share/ucd/ArabicShaping.txt" > + "share/ucd/Scripts.txt" > + "share/ucd/Blocks.txt" > + "share/ucd/PropList-3.0.1.txt" > + "share/ucd/EastAsianWidth.txt" > + "share/ucd/LineBreak.txt" > + > "share/ucd/auxiliary/WordBreakProperty.txt" > + > "share/ucd/auxiliary/GraphemeBreakProperty.txt" > + > "share/ucd/CompositionExclusions.txt" > + "share/ucd/SpecialCasing.txt" > + "share/ucd/CaseFolding.txt")) > + ;; This is the version of the UCD used, it > should be > + ;; the same as the native-input. > + #$(package-version ucd-next))) Use (package-version (this-package-input "ucd")) instead, so that a user can replace it. > + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" > + (search-input-file inputs > "share/ucd/UnicodeData.txt") > + "uniname/uninames.h" > + (search-input-file inputs > "share/ucd/NameAliases.txt")) > + (copy-file (search-input-file inputs > "share/ucd/NameAliases.txt") > + "../tests/uniname/NameAliases.txt") > + (copy-file (search-input-file inputs > "share/ucd/UnicodeData.txt") > + "../tests/uniname/UnicodeData.txt") > + (copy-file (search-input-file inputs > "share/ucd/NormalizationTest.txt") > + "../tests/uninorm/NormalizationTest.txt") > + (copy-file (search-input-file inputs > "share/ucd/auxiliary/GraphemeBreakTest.txt") > + "../tests/unigbrk/GraphemeBreakTest.txt") > + (copy-file (search-input-file inputs > "share/ucd/auxiliary/WordBreakTest.txt") > + "../tests/uniwbrk/WordBreakTest.txt") > + (delete-file "gen-uni-tables")))) > + (replace 'install > + (lambda _ > + (install-file "gnulib-tool" > + (string-append #$output "/bin")) > + (delete-file-recursively ".git") > + (copy-recursively "." (string-append #$output > "/src/gnulib/"))))))) > + (inputs ;; Shebangs for some auxiliary build files. > + (list python perl clisp)) > + (native-inputs > + (list > + python perl clisp > + ;; Unicode data: > + ucd-next ;; If you change it, also change #$(package-version > ucd-next) > + ;; in the regenerate-unicode phase. > + ucd3.0-update1 > + ;; Programs for the tests: > + cppi indent git autoconf)) > + (home-page "https://www.gnu.org/software/gnulib/") > + (synopsis "Source files to share among distributions") > + (description > + "Gnulib is a central location for common infrastructure needed > by GNU > +packages. It provides a wide variety of functionality, e.g., > portability > +across many systems, working with Unicode strings, cryptographic > computation, > +and much more. The code is intended to be shared at the level of > source > +files, rather than being a standalone library that is distributed, > built, and > +installed. The included @command{gnulib-tool} script helps with > using Gnulib > +code in other packages. Gnulib also includes copies of licensing > and > +maintenance-related files, for convenience.") > + (native-search-paths > + (list (search-path-specification > + (variable "GNULIB_SRCDIR") > + (files (list "src/gnulib"))))) > + (license (list license:lgpl2.0+ license:gpl3+)))) Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 00:25:02 GMT) Full text and rfc822 format available.Message #149 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v8 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 00:25:02 GMT) Full text and rfc822 format available.Message #152 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v8 1/4] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures base-commit: 343c220e1b73d8294b1b9a54d7a4ef2db9931e24 -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 00:25:02 GMT) Full text and rfc822 format available.Message #155 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v8 2/4] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. Rename package to just "ucd", not "ucd-next". --- gnu/packages/unicode.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..857af13d71 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -100,8 +100,8 @@ (define-public ucd (define-public ucd-next (package (inherit ucd) - (name "ucd-next") - (version "14.0.0") + (name "ucd") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 00:25:03 GMT) Full text and rfc822 format available.Message #158 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v8 3/4] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New variables --- gnu/packages/build-tools.scm | 201 +++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..6b60820649 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,27 +32,36 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +74,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +813,194 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((generated-automatically? + (lambda (filename . unused) + (and (or (string-suffix? ".c" filename) + (string-suffix? ".h" filename) + (string-suffix? ".gperf" filename)) + (call-with-input-file filename + (lambda (port) + (let ((first-line (read-line port))) + (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */")))))))) + (for-each delete-file (find-files (getcwd) generated-automatically?))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + (invoke "git" "commit" "-m" + "Syntax checks are only run against committed files, so commit everything."))) + (add-after 'fix-tests 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + ;; sc_copyright_check fails because the fake commit date may + ;; be later than the copyright year. + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_copyright_check \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_sym_list") + "disabled_check_sym_list") + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_check_copyright") + "disabled_check_copyright") + (("sc_prohibit_AC_LIBOBJ_in_m4") + "disabled_prohibit_AC_LIBOBJ_in_m4") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_leading_TABs") + "disabled_prohibit_leading_TABs")))) + (delete 'configure) + (add-after 'unpack 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (define (find-ucd-file name) + (search-input-file inputs (string-append "share/ucd/" name))) + (define PropList-3.0.1.txt + #$(origin + (method url-fetch) + (uri "https://www.unicode.org/Public/3.0-Update1/PropList-3.0.1.txt") + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + `(,@(map find-ucd-file + '("UnicodeData.txt" + "PropList.txt" + "DerivedCoreProperties.txt" + "emoji/emoji-data.txt" + "ArabicShaping.txt" + "Scripts.txt" + "Blocks.txt")) + ,PropList-3.0.1.txt + ,@(map find-ucd-file + '("EastAsianWidth.txt" + "LineBreak.txt" + "auxiliary/WordBreakProperty.txt" + "auxiliary/GraphemeBreakProperty.txt" + "CompositionExclusions.txt" + "SpecialCasing.txt" + "CaseFolding.txt")) + #$(package-version (this-package-native-input "ucd")))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (search-input-file inputs "share/ucd/UnicodeData.txt") + "uniname/uninames.h" + (search-input-file inputs "share/ucd/NameAliases.txt")) + (copy-file (search-input-file inputs "share/ucd/NameAliases.txt") + "../tests/uniname/NameAliases.txt") + (copy-file (search-input-file inputs "share/ucd/UnicodeData.txt") + "../tests/uniname/UnicodeData.txt") + (copy-file (search-input-file inputs "share/ucd/NormalizationTest.txt") + "../tests/uninorm/NormalizationTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/GraphemeBreakTest.txt") + "../tests/unigbrk/GraphemeBreakTest.txt") + (copy-file (search-input-file inputs "share/ucd/auxiliary/WordBreakTest.txt") + "../tests/uniwbrk/WordBreakTest.txt") + (delete-file "gen-uni-tables")))) + (replace 'install + (lambda _ + (install-file "gnulib-tool" + (string-append #$output "/bin")) + (delete-file-recursively ".git") + (copy-recursively "." (string-append #$output "/src/gnulib/"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-28" + #:commit "14a7b0ce5462c90ce86d97bf952185ec2500d341" + #:hash (base32 "0fz25ccdlxf4xp37rjsl1fslc4g0x12qpvadz4qw0cq18dvx5kbx"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 00:26:01 GMT) Full text and rfc822 format available.Message #161 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1. Date: Sun, 01 Jan 2023 01:24:58 +0100
Happy new year! Le samedi 31 décembre 2022 à 20:17 +0100, Liliana Marie Prikler a écrit : > Am Freitag, dem 30.12.2022 um 22:20 +0100 schrieb Vivien Kraus: > > * gnu/packages/unicode.scm (ucd3.0-update1): New variable. > Once again, do you need all of these, or just a single file? (Or > indeed none at all?) The build fails if I pass an empty file or a file with just the header. I switched to an unnamed origin in the build phase, is that better? Vivien
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 01:29:01 GMT) Full text and rfc822 format available.Message #164 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1. Date: Sun, 01 Jan 2023 02:28:36 +0100
Am Sonntag, dem 01.01.2023 um 01:24 +0100 schrieb Vivien Kraus: > Happy new year! > > Le samedi 31 décembre 2022 à 20:17 +0100, Liliana Marie Prikler a > écrit : > > Am Freitag, dem 30.12.2022 um 22:20 +0100 schrieb Vivien Kraus: > > > * gnu/packages/unicode.scm (ucd3.0-update1): New variable. > > Once again, do you need all of these, or just a single file? (Or > > indeed none at all?) > > The build fails if I pass an empty file or a file with just the > header. > > I switched to an unnamed origin in the build phase, is that better? Yes, that is better – an outside variable would also have been, but it works for now. > + (("sc_check_sym_list") > + "disabled_check_sym_list") > + (("sc_cpp_indent_check") > + "disabled_cpp_indent_check") > + (("sc_check_copyright") > + "disabled_check_copyright") > + (("sc_prohibit_AC_LIBOBJ_in_m4") > + "disabled_prohibit_AC_LIBOBJ_in_m4") > + (("sc_prefer_ac_check_funcs_once") > + "disabled_prefer_ac_check_funcs_once") > + (("sc_prohibit_leading_TABs") > + "disabled_prohibit_leading_TABs")))) I think matching the name and then doing (string-append "disabled_" test) should work better and possibly lets you group some. > + (define (find-ucd-file name) > + (search-input-file inputs (string-append > "share/ucd/" name))) I think you should also (define (find-ucd-files . files) (map find-ucd-file files)) Then you can > + (apply invoke > + "./gen-uni-tables" > + `(,@(map find-ucd-file > + '("UnicodeData.txt" > + "PropList.txt" > + "DerivedCoreProperties.txt" > + "emoji/emoji-data.txt" > + "ArabicShaping.txt" > + "Scripts.txt" > + "Blocks.txt")) > + ,PropList-3.0.1.txt > + ,@(map find-ucd-file > + '("EastAsianWidth.txt" > + "LineBreak.txt" > + "auxiliary/WordBreakProperty.txt" > + > "auxiliary/GraphemeBreakProperty.txt" > + "CompositionExclusions.txt" > + "SpecialCasing.txt" > + "CaseFolding.txt")) (apply invoke (append (find-ucd-files "UnicodeData.txt" "PropList.txt" ...) (list PropList-3.0.1.txt) ; or inline the origin here (find-ucd-files "EastAsianWidth.txt" ...))) > + (copy-file (search-input-file inputs > "share/ucd/NameAliases.txt") > + "../tests/uniname/NameAliases.txt") > + (copy-file (search-input-file inputs > "share/ucd/UnicodeData.txt") > + "../tests/uniname/UnicodeData.txt") > + (copy-file (search-input-file inputs > "share/ucd/NormalizationTest.txt") > + "../tests/uninorm/NormalizationTest.txt") > + (copy-file (search-input-file inputs > "share/ucd/auxiliary/GraphemeBreakTest.txt") > + "../tests/unigbrk/GraphemeBreakTest.txt") > + (copy-file (search-input-file inputs > "share/ucd/auxiliary/WordBreakTest.txt") > + "../tests/uniwbrk/WordBreakTest.txt") Can we simplify this in terms of for-each and directory excursions? Also reuse find-ucd-file(s). > + (replace 'install > + (lambda _ > + (install-file "gnulib-tool" > + (string-append #$output "/bin")) > + (delete-file-recursively ".git") > + (copy-recursively "." (string-append #$output > "/src/gnulib/"))))))) Should we perhaps use copy-build-system instead and just copy over gnu:build and gnu:test? Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 15:16:02 GMT) Full text and rfc822 format available.Message #167 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v9 3/4] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New variables --- gnu/packages/build-tools.scm | 201 +++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..3e6a16f3f5 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,27 +32,37 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +75,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +814,193 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((generated-automatically? + (lambda (filename . unused) + (and (or (string-suffix? ".c" filename) + (string-suffix? ".h" filename) + (string-suffix? ".gperf" filename)) + (call-with-input-file filename + (lambda (port) + (let ((first-line (read-line port))) + (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */")))))))) + (for-each delete-file (find-files (getcwd) generated-automatically?))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("./gnulib-tool" "bin/") + ("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) + #:modules '((ice-9 match) + (guix build utils) + (guix build copy-build-system) + ((guix build gnu-build-system) #:prefix gnu:)) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'gnu:check + (assoc-ref gnu:%standard-phases 'check)) + (add-before 'gnu:check 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + ;; Syntax checks are only run against committed files. + (invoke "git" "commit" "-m" "Prepare for tests."))) + (add-before 'gnu:check 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + ;; sc_copyright_check fails because the fake commit date may + ;; be later than the copyright year. + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_copyright_check \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_(\ +check_(sym_list|copyright)\ +|cpp_indent_check\ +|prohibit_(AC_LIBOBJ_in_m4|leading_TABs)\ +|prefer_ac_check_funcs_once)" rule) + (string-append "disabled_" rule))))) + (add-before 'gnu:check 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (define (find-ucd-file name) + (search-input-file inputs (string-append "share/ucd/" name))) + (define (find-ucd-files . names) + (map find-ucd-file names)) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + (append + (find-ucd-files "UnicodeData.txt" + "PropList.txt" + "DerivedCoreProperties.txt" + "emoji/emoji-data.txt" + "ArabicShaping.txt" + "Scripts.txt" + "Blocks.txt") + (list + #$(origin + (method url-fetch) + (uri (string-append + "https://www.unicode.org/Public/" + "3.0-Update1/PropList-3.0.1.txt")) + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + (find-ucd-files "EastAsianWidth.txt" + "LineBreak.txt" + "auxiliary/WordBreakProperty.txt" + "auxiliary/GraphemeBreakProperty.txt" + "CompositionExclusions.txt" + "SpecialCasing.txt" + "CaseFolding.txt") + (list #$(package-version (this-package-native-input "ucd"))))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (search-input-file inputs "share/ucd/UnicodeData.txt") + "uniname/uninames.h" + (search-input-file inputs "share/ucd/NameAliases.txt")) + (for-each + (match-lambda + ((ucd-file . directory) + (copy-file (find-ucd-file ucd-file) + (string-append "../tests/" directory "/" + (basename ucd-file))))) + '(("NameAliases.txt" . "uniname") + ("UnicodeData.txt" . "uniname") + ("NormalizationTest.txt" . "uninorm") + ("auxiliary/GraphemeBreakTest.txt" . "unigbrk") + ("auxiliary/WordBreakTest.txt" . "uniwbrk"))) + (delete-file "gen-uni-tables"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-31" + #:commit "875461ffdf58ac04677957b4ae4160465b83b940" + #:hash (base32 "0bf7a6wdns9c5wwv60qfcn9llg0j6jz5ryd2qgsqqx2i6xkmp77c"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 15:16:03 GMT) Full text and rfc822 format available.Message #170 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v9 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 15:16:03 GMT) Full text and rfc822 format available.Message #173 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v9 1/4] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures base-commit: 87cc524f52b65f7f12c9b87d25b467772e357cab -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 15:17:02 GMT) Full text and rfc822 format available.Message #176 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v9 2/4] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. Rename package to just "ucd", not "ucd-next". --- gnu/packages/unicode.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..857af13d71 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -100,8 +100,8 @@ (define-public ucd (define-public ucd-next (package (inherit ucd) - (name "ucd-next") - (version "14.0.0") + (name "ucd") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 16:26:02 GMT) Full text and rfc822 format available.Message #179 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v9 3/4] gnu: Add gnulib. Date: Sun, 01 Jan 2023 17:25:19 +0100
Am Dienstag, dem 27.12.2022 um 17:23 +0100 schrieb Vivien Kraus: > * gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New > variables Missing the dot :) > --- > gnu/packages/build-tools.scm | 201 > +++++++++++++++++++++++++++++++++++ > 1 file changed, 201 insertions(+) > > diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build- > tools.scm > index 6c1350c44f..3e6a16f3f5 100644 > --- a/gnu/packages/build-tools.scm > +++ b/gnu/packages/build-tools.scm > @@ -32,27 +32,37 @@ > ;;; along with GNU Guix. If not, see > <http://www.gnu.org/licenses/>. > > (define-module (gnu packages build-tools) > + #:use-module (ice-9 optargs) > #:use-module ((guix licenses) #:prefix license:) > #:use-module (guix utils) > #:use-module (guix packages) > #:use-module (guix gexp) > #:use-module (guix download) > #:use-module (guix git-download) > + #:use-module (guix git) > #:use-module (guix build-system cmake) > + #:use-module (guix build-system copy) > + #:use-module (guix modules) > #:use-module (gnu packages) > #:use-module (gnu packages adns) > + #:use-module (gnu packages autotools) > #:use-module (gnu packages base) > #:use-module (gnu packages bash) > #:use-module (gnu packages check) > + #:use-module (gnu packages code) > #:use-module (gnu packages compression) > #:use-module (gnu packages cpp) > + #:use-module (gnu packages cppi) > #:use-module (gnu packages elf) > + #:use-module (gnu packages gcc) > #:use-module (gnu packages linux) > + #:use-module (gnu packages lisp) > #:use-module (gnu packages logging) > #:use-module (gnu packages lua) > #:use-module (gnu packages ninja) > #:use-module (gnu packages package-management) > #:use-module (gnu packages pcre) > + #:use-module (gnu packages perl) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages pretty-print) > #:use-module (gnu packages protobuf) > @@ -65,6 +75,7 @@ (define-module (gnu packages build-tools) > #:use-module (gnu packages rpc) > #:use-module (gnu packages sqlite) > #:use-module (gnu packages tls) > + #:use-module (gnu packages unicode) > #:use-module (gnu packages version-control) > #:use-module (guix build-system gnu) > #:use-module (guix build-system python)) > @@ -803,3 +814,193 @@ (define-public genie > same settings to multiple projects. It supports generating projects > using GNU > Makefiles, JSON Compilation Database, and experimentally Ninja.") > (license license:bsd-3)))) > + > +(define*-public (gnulib-checkout #:key > + version > + (revision "1") > + commit > + hash) > + "Return as a package the exact gnulib checkout." > + (package > + (name "gnulib") > + (version (git-version version revision commit)) > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.savannah.gnu.org/git/gnulib.git/") > + (commit commit))) > + (file-name (git-file-name name version)) > + (sha256 hash) > + (snippet > + (with-imported-modules (source-module-closure '((guix build > utils))) > + #~(begin > + (use-modules (guix build utils) > + (ice-9 ftw) > + (ice-9 rdelim)) > + ;; .c, .h and .gperf files whose first line is /* DO > NOT EDIT! > + ;; GENERATED AUTOMATICALLY! */ are generated > automatically based > + ;; on the unicode database. Since we replace the > unicode > + ;; database with our own, we need to regenerate them. > So, they > + ;; are removed from the source. They are sprinkled all > over the > + ;; place unfortunately, so we can’t exclude whole > directories. > + (let ((generated-automatically? > + (lambda (filename . unused) > + (and (or (string-suffix? ".c" filename) > + (string-suffix? ".h" filename) > + (string-suffix? ".gperf" filename)) > + (call-with-input-file filename > + (lambda (port) > + (let ((first-line (read-line port))) > + (equal? > + first-line > + "/* DO NOT EDIT! GENERATED > AUTOMATICALLY! */")))))))) > + (for-each delete-file (find-files (getcwd) > generated-automatically?))) > + ;; Other files are copied from UCD. > + (for-each delete-file > + '("tests/unigbrk/GraphemeBreakTest.txt" > + "tests/uninorm/NormalizationTest.txt" > + "tests/uniname/UnicodeData.txt" > + "tests/uniname/NameAliases.txt" > + ;; FIXME: > tests/uniname/HangulSyllableNames.txt > + ;; seems like a UCD file but it is not > distributed > + ;; with UCD. > + "tests/uniwbrk/WordBreakTest.txt"))))))) > + (build-system copy-build-system) > + (arguments > + (list > + #:install-plan > + #~'(("./gnulib-tool" "bin/") > + ("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) > + #:modules '((ice-9 match) > + (guix build utils) > + (guix build copy-build-system) > + ((guix build gnu-build-system) #:prefix gnu:)) > + #:phases > + #~(modify-phases %standard-phases > + (add-before 'install 'gnu:check > + (assoc-ref gnu:%standard-phases 'check) > ) Use just "check" for the phase name. > + (add-before 'gnu:check 'fix-tests > + (lambda _ > + (substitute* "Makefile" > + (("-f maint.mk syntax-check") > + "_gl-Makefile=yes -f maint.mk syntax-check")) > + (invoke "git" "init") > + (invoke "git" "config" "user.name" "Guix") > + (invoke "git" "config" "user.email" "guix <at> localhost") > + (invoke "git" "add" ".") > + ;; Syntax checks are only run against committed files. > + (invoke "git" "commit" "-m" "Prepare for tests."))) > + (add-before 'gnu:check 'disable-failing-tests > + (lambda _ > + (substitute* "cfg.mk" > + (("local-checks-to-skip =") > + ;; sc_copyright_check fails because the fake commit > date may > + ;; be later than the copyright year. > + "local-checks-to-skip = \\ > + sc_Wundef_boolean \\ > + sc_copyright_check \\ > + sc_file_system \\ > + sc_indent \\ > + sc_keep_gnulib_texi_files_mostly_ascii \\ > + sc_prohibit_assert_without_use \\ > + sc_prohibit_close_stream_without_use \\ > + sc_prohibit_defined_have_decl_tests \\ > + sc_prohibit_doubled_word \\ > + sc_prohibit_empty_lines_at_EOF \\ > + sc_prohibit_intprops_without_use \\ > + sc_prohibit_openat_without_use \\ > + sc_prohibit_test_minus_ao \\ > + sc_unportable_grep_q")) Can we provide these via #:make-flags (assuming they get forwarded through copy-build-system)? > + (substitute* "Makefile" > + (("sc_(\ > +check_(sym_list|copyright)\ > +|cpp_indent_check\ > +|prohibit_(AC_LIBOBJ_in_m4|leading_TABs)\ > +|prefer_ac_check_funcs_once)" rule) I do think splitting this into 4 separate rules is a comfy middle ground between obivously splitting a regexp over multiple lines and listing 10 rules separately. > + (string-append "disabled_" rule))))) > + (add-before 'gnu:check 'regenerate-unicode > + (lambda* (#:key inputs #:allow-other-keys) > + (define (find-ucd-file name) > + (search-input-file inputs (string-append > "share/ucd/" name))) > + (define (find-ucd-files . names) > + (map find-ucd-file names)) > + (with-directory-excursion "lib" > + ;; See the compile-command buffer-local variable in > + ;; lib/gen-uni-tables.c > + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" > "gen-uni-tables.c" > + "-Iunictype" "-o" "gen-uni-tables") > + (apply invoke > + "./gen-uni-tables" > + (append > + (find-ucd-files "UnicodeData.txt" > + "PropList.txt" > + "DerivedCoreProperties.txt" > + "emoji/emoji-data.txt" > + "ArabicShaping.txt" > + "Scripts.txt" > + "Blocks.txt") > + (list > + #$(origin > + (method url-fetch) > + (uri (string-append > + "https://www.unicode.org/Public/" > + "3.0-Update1/PropList- > 3.0.1.txt")) > + (sha256 > + (base32 > + > "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) > + (find-ucd-files "EastAsianWidth.txt" > + "LineBreak.txt" > + > "auxiliary/WordBreakProperty.txt" > + > "auxiliary/GraphemeBreakProperty.txt" > + "CompositionExclusions.txt" > + "SpecialCasing.txt" > + "CaseFolding.txt") > + (list #$(package-version (this-package- > native-input "ucd"))))) > + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" > + (search-input-file inputs > "share/ucd/UnicodeData.txt") > + "uniname/uninames.h" > + (search-input-file inputs > "share/ucd/NameAliases.txt")) Why not (find-ucd-file "UnicodeData.txt") and (find-ucd-file "NameAliases.txt") respectively? > + (for-each > + (match-lambda > + ((ucd-file . directory) > + (copy-file (find-ucd-file ucd-file) > + (string-append "../tests/" directory > "/" > + (basename ucd-file))))) > + '(("NameAliases.txt" . "uniname") > + ("UnicodeData.txt" . "uniname") > + ("NormalizationTest.txt" . "uninorm") > + ("auxiliary/GraphemeBreakTest.txt" . "unigbrk") > + ("auxiliary/WordBreakTest.txt" . "uniwbrk"))) LGTM. Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 16:56:01 GMT) Full text and rfc822 format available.Message #182 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v9 3/4] gnu: Add gnulib. Date: Sun, 01 Jan 2023 17:55:49 +0100
Le dimanche 01 janvier 2023 à 17:25 +0100, Liliana Marie Prikler a écrit : > > + (substitute* "cfg.mk" > > + (("local-checks-to-skip =") > > + ;; sc_copyright_check fails because the fake > > commit > > date may > > + ;; be later than the copyright year. > > + "local-checks-to-skip = \\ > > + sc_Wundef_boolean \\ > > + sc_copyright_check \\ > > + sc_file_system \\ > > + sc_indent \\ > > + sc_keep_gnulib_texi_files_mostly_ascii \\ > > + sc_prohibit_assert_without_use \\ > > + sc_prohibit_close_stream_without_use \\ > > + sc_prohibit_defined_have_decl_tests \\ > > + sc_prohibit_doubled_word \\ > > + sc_prohibit_empty_lines_at_EOF \\ > > + sc_prohibit_intprops_without_use \\ > > + sc_prohibit_openat_without_use \\ > > + sc_prohibit_test_minus_ao \\ > > + sc_unportable_grep_q")) > Can we provide these via #:make-flags (assuming they get forwarded > through copy-build-system)? The copy-build-system does not recognize #:make-flags, unfortunately. Vivien
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 16:57:01 GMT) Full text and rfc822 format available.Message #185 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v10 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 16:57:02 GMT) Full text and rfc822 format available.Message #188 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v10 1/4] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures base-commit: 87cc524f52b65f7f12c9b87d25b467772e357cab -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 16:57:02 GMT) Full text and rfc822 format available.Message #191 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v10 2/4] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. Rename package to just "ucd", not "ucd-next". --- gnu/packages/unicode.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..857af13d71 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -100,8 +100,8 @@ (define-public ucd (define-public ucd-next (package (inherit ucd) - (name "ucd-next") - (version "14.0.0") + (name "ucd") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 16:57:03 GMT) Full text and rfc822 format available.Message #194 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Cc: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: [PATCH v10 3/4] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New variables. --- gnu/packages/build-tools.scm | 203 +++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..3a3d2a22b7 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,27 +32,37 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix git) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +75,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +814,195 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((generated-automatically? + (lambda (filename . unused) + (and (or (string-suffix? ".c" filename) + (string-suffix? ".h" filename) + (string-suffix? ".gperf" filename)) + (call-with-input-file filename + (lambda (port) + (let ((first-line (read-line port))) + (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */")))))))) + (for-each delete-file (find-files (getcwd) generated-automatically?))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("./gnulib-tool" "bin/") + ("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) + #:modules '((ice-9 match) + (guix build utils) + (guix build copy-build-system) + ((guix build gnu-build-system) #:prefix gnu:)) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'check + (assoc-ref gnu:%standard-phases 'check)) + (add-before 'check 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + ;; Syntax checks are only run against committed files. + (invoke "git" "commit" "-m" "Prepare for tests."))) + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + ;; sc_copyright_check fails because the fake commit date may + ;; be later than the copyright year. + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_copyright_check \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_(sym_list|copyright)" rule) + (string-append "disabled_check_" rule)) + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_(AC_LIBOBJ_in_m4|leading_TABs)" rule) + (string-append "disabled_prohibit_" rule))))) + (add-before 'check 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (define (find-ucd-file name) + (search-input-file inputs (string-append "share/ucd/" name))) + (define (find-ucd-files . names) + (map find-ucd-file names)) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + (append + (find-ucd-files "UnicodeData.txt" + "PropList.txt" + "DerivedCoreProperties.txt" + "emoji/emoji-data.txt" + "ArabicShaping.txt" + "Scripts.txt" + "Blocks.txt") + (list + #$(origin + (method url-fetch) + (uri (string-append + "https://www.unicode.org/Public/" + "3.0-Update1/PropList-3.0.1.txt")) + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + (find-ucd-files "EastAsianWidth.txt" + "LineBreak.txt" + "auxiliary/WordBreakProperty.txt" + "auxiliary/GraphemeBreakProperty.txt" + "CompositionExclusions.txt" + "SpecialCasing.txt" + "CaseFolding.txt") + (list #$(package-version (this-package-native-input "ucd"))))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (find-ucd-file "UnicodeData.txt") + "uniname/uninames.h" + (find-ucd-file "NameAliases.txt")) + (for-each + (match-lambda + ((ucd-file . directory) + (copy-file (find-ucd-file ucd-file) + (string-append "../tests/" directory "/" + (basename ucd-file))))) + '(("NameAliases.txt" . "uniname") + ("UnicodeData.txt" . "uniname") + ("NormalizationTest.txt" . "uninorm") + ("auxiliary/GraphemeBreakTest.txt" . "unigbrk") + ("auxiliary/WordBreakTest.txt" . "uniwbrk"))) + (delete-file "gen-uni-tables"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-31" + #:commit "875461ffdf58ac04677957b4ae4160465b83b940" + #:hash (base32 "0bf7a6wdns9c5wwv60qfcn9llg0j6jz5ryd2qgsqqx2i6xkmp77c"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 17:32:01 GMT) Full text and rfc822 format available.Message #197 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v9 3/4] gnu: Add gnulib. Date: Sun, 01 Jan 2023 18:31:29 +0100
Am Sonntag, dem 01.01.2023 um 17:55 +0100 schrieb Vivien Kraus: > Le dimanche 01 janvier 2023 à 17:25 +0100, Liliana Marie Prikler a > écrit : > > > + (substitute* "cfg.mk" > > > + (("local-checks-to-skip =") > > > + ;; sc_copyright_check fails because the fake > > > commit > > > date may > > > + ;; be later than the copyright year. > > > + "local-checks-to-skip = \\ > > > + sc_Wundef_boolean \\ > > > + sc_copyright_check \\ > > > + sc_file_system \\ > > > + sc_indent \\ > > > + sc_keep_gnulib_texi_files_mostly_ascii \\ > > > + sc_prohibit_assert_without_use \\ > > > + sc_prohibit_close_stream_without_use \\ > > > + sc_prohibit_defined_have_decl_tests \\ > > > + sc_prohibit_doubled_word \\ > > > + sc_prohibit_empty_lines_at_EOF \\ > > > + sc_prohibit_intprops_without_use \\ > > > + sc_prohibit_openat_without_use \\ > > > + sc_prohibit_test_minus_ao \\ > > > + sc_unportable_grep_q")) > > Can we provide these via #:make-flags (assuming they get forwarded > > through copy-build-system)? > > The copy-build-system does not recognize #:make-flags, unfortunately. Okay. I've now built this series locally and queued it for upstreaming on the 15th. Might do it earlier if QA lights green. Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 20:49:02 GMT) Full text and rfc822 format available.Message #200 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 20:49:02 GMT) Full text and rfc822 format available.Message #203 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 3/4] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New variables. --- gnu/packages/build-tools.scm | 202 +++++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..5f6d0c6b4e 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,6 +32,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) @@ -39,20 +40,28 @@ (define-module (gnu packages build-tools) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +74,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +813,195 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((generated-automatically? + (lambda (filename . unused) + (and (or (string-suffix? ".c" filename) + (string-suffix? ".h" filename) + (string-suffix? ".gperf" filename)) + (call-with-input-file filename + (lambda (port) + (let ((first-line (read-line port))) + (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */")))))))) + (for-each delete-file (find-files (getcwd) generated-automatically?))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("./gnulib-tool" "bin/") + ("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) + #:modules '((ice-9 match) + (guix build utils) + (guix build copy-build-system) + ((guix build gnu-build-system) #:prefix gnu:)) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'check + (assoc-ref gnu:%standard-phases 'check)) + (add-before 'check 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + ;; Syntax checks are only run against committed files. + (invoke "git" "commit" "-m" "Prepare for tests."))) + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + ;; sc_copyright_check fails because the fake commit date may + ;; be later than the copyright year. + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_copyright_check \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_(sym_list|copyright)" rule) + (string-append "disabled_check_" rule)) + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_(AC_LIBOBJ_in_m4|leading_TABs)" rule) + (string-append "disabled_prohibit_" rule))))) + (add-before 'check 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (define (find-ucd-file name) + (search-input-file inputs (string-append "share/ucd/" name))) + (define (find-ucd-files . names) + (map find-ucd-file names)) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + (append + (find-ucd-files "UnicodeData.txt" + "PropList.txt" + "DerivedCoreProperties.txt" + "emoji/emoji-data.txt" + "ArabicShaping.txt" + "Scripts.txt" + "Blocks.txt") + (list + #$(origin + (method url-fetch) + (uri (string-append + "https://www.unicode.org/Public/" + "3.0-Update1/PropList-3.0.1.txt")) + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + (find-ucd-files "EastAsianWidth.txt" + "LineBreak.txt" + "auxiliary/WordBreakProperty.txt" + "auxiliary/GraphemeBreakProperty.txt" + "CompositionExclusions.txt" + "SpecialCasing.txt" + "CaseFolding.txt") + (list #$(package-version (this-package-native-input "ucd"))))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (find-ucd-file "UnicodeData.txt") + "uniname/uninames.h" + (find-ucd-file "NameAliases.txt")) + (for-each + (match-lambda + ((ucd-file . directory) + (copy-file (find-ucd-file ucd-file) + (string-append "../tests/" directory "/" + (basename ucd-file))))) + '(("NameAliases.txt" . "uniname") + ("UnicodeData.txt" . "uniname") + ("NormalizationTest.txt" . "uninorm") + ("auxiliary/GraphemeBreakTest.txt" . "unigbrk") + ("auxiliary/WordBreakTest.txt" . "uniwbrk"))) + (delete-file "gen-uni-tables"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-31" + #:commit "875461ffdf58ac04677957b4ae4160465b83b940" + #:hash (base32 "0bf7a6wdns9c5wwv60qfcn9llg0j6jz5ryd2qgsqqx2i6xkmp77c"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 20:49:03 GMT) Full text and rfc822 format available.Message #206 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. Rename package to just "ucd", not "ucd-next". --- gnu/packages/unicode.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..857af13d71 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -100,8 +100,8 @@ (define-public ucd (define-public ucd-next (package (inherit ucd) - (name "ucd-next") - (version "14.0.0") + (name "ucd") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 20:49:03 GMT) Full text and rfc822 format available.Message #209 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures base-commit: 6d4c53893308d7db340a2978307a214103660341 -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 20:49:03 GMT) Full text and rfc822 format available.Message #212 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: Re: [PATCH v11 3/4] gnu: Add gnulib. Date: Sun, 01 Jan 2023 21:48:44 +0100
Le mardi 27 décembre 2022 à 17:23 +0100, Vivien Kraus a écrit : > * gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New > variables. > --- > gnu/packages/build-tools.scm | 202 > +++++++++++++++++++++++++++++++++++ > 1 file changed, 202 insertions(+) I removed the (guix git) import that I introduced earlier in the series and forgot to remove. It caused the Guix QA to fail.
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 21:53:01 GMT) Full text and rfc822 format available.Message #215 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 0/4] Use a cover letter. Date: Sun, 1 Jan 2023 22:45:41 +0100
I’m trying to learn how to make QA happy. I have not changed anything from last time, but now I’m trying the "deep" thread style with a cover letter for patches on my end, so maybe it will work? Sorry for the spam. Vivien Kraus (4): gnu: libunibreak: Use ucd instead of ucd-next. gnu: ucd-next: Update to 15.0.0. gnu: Add gnulib. gnu: guile-gnutls: Update to 3.7.11. gnu/packages/build-tools.scm | 202 +++++++++++++++++++++++++++++++++++ gnu/packages/tls.scm | 42 +++++--- gnu/packages/unicode.scm | 9 +- 3 files changed, 235 insertions(+), 18 deletions(-) base-commit: 6d4c53893308d7db340a2978307a214103660341 -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 21:53:02 GMT) Full text and rfc822 format available.Message #218 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 21:53:02 GMT) Full text and rfc822 format available.Message #221 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 21:53:03 GMT) Full text and rfc822 format available.Message #224 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. Rename package to just "ucd", not "ucd-next". --- gnu/packages/unicode.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..857af13d71 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -100,8 +100,8 @@ (define-public ucd (define-public ucd-next (package (inherit ucd) - (name "ucd-next") - (version "14.0.0") + (name "ucd") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 21:53:03 GMT) Full text and rfc822 format available.Message #227 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 3/4] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New variables. --- gnu/packages/build-tools.scm | 202 +++++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..5f6d0c6b4e 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,6 +32,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) @@ -39,20 +40,28 @@ (define-module (gnu packages build-tools) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +74,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +813,195 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((generated-automatically? + (lambda (filename . unused) + (and (or (string-suffix? ".c" filename) + (string-suffix? ".h" filename) + (string-suffix? ".gperf" filename)) + (call-with-input-file filename + (lambda (port) + (let ((first-line (read-line port))) + (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */")))))))) + (for-each delete-file (find-files (getcwd) generated-automatically?))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("./gnulib-tool" "bin/") + ("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) + #:modules '((ice-9 match) + (guix build utils) + (guix build copy-build-system) + ((guix build gnu-build-system) #:prefix gnu:)) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'check + (assoc-ref gnu:%standard-phases 'check)) + (add-before 'check 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + ;; Syntax checks are only run against committed files. + (invoke "git" "commit" "-m" "Prepare for tests."))) + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + ;; sc_copyright_check fails because the fake commit date may + ;; be later than the copyright year. + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_copyright_check \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_(sym_list|copyright)" rule) + (string-append "disabled_check_" rule)) + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_(AC_LIBOBJ_in_m4|leading_TABs)" rule) + (string-append "disabled_prohibit_" rule))))) + (add-before 'check 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (define (find-ucd-file name) + (search-input-file inputs (string-append "share/ucd/" name))) + (define (find-ucd-files . names) + (map find-ucd-file names)) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + (append + (find-ucd-files "UnicodeData.txt" + "PropList.txt" + "DerivedCoreProperties.txt" + "emoji/emoji-data.txt" + "ArabicShaping.txt" + "Scripts.txt" + "Blocks.txt") + (list + #$(origin + (method url-fetch) + (uri (string-append + "https://www.unicode.org/Public/" + "3.0-Update1/PropList-3.0.1.txt")) + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + (find-ucd-files "EastAsianWidth.txt" + "LineBreak.txt" + "auxiliary/WordBreakProperty.txt" + "auxiliary/GraphemeBreakProperty.txt" + "CompositionExclusions.txt" + "SpecialCasing.txt" + "CaseFolding.txt") + (list #$(package-version (this-package-native-input "ucd"))))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (find-ucd-file "UnicodeData.txt") + "uniname/uninames.h" + (find-ucd-file "NameAliases.txt")) + (for-each + (match-lambda + ((ucd-file . directory) + (copy-file (find-ucd-file ucd-file) + (string-append "../tests/" directory "/" + (basename ucd-file))))) + '(("NameAliases.txt" . "uniname") + ("UnicodeData.txt" . "uniname") + ("NormalizationTest.txt" . "uninorm") + ("auxiliary/GraphemeBreakTest.txt" . "unigbrk") + ("auxiliary/WordBreakTest.txt" . "uniwbrk"))) + (delete-file "gen-uni-tables"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-31" + #:commit "875461ffdf58ac04677957b4ae4160465b83b940" + #:hash (base32 "0bf7a6wdns9c5wwv60qfcn9llg0j6jz5ryd2qgsqqx2i6xkmp77c"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 22:10:02 GMT) Full text and rfc822 format available.Message #230 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 3/4] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New variables. --- gnu/packages/build-tools.scm | 202 +++++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..5f6d0c6b4e 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -32,6 +32,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) @@ -39,20 +40,28 @@ (define-module (gnu packages build-tools) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +74,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +813,195 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((generated-automatically? + (lambda (filename . unused) + (and (or (string-suffix? ".c" filename) + (string-suffix? ".h" filename) + (string-suffix? ".gperf" filename)) + (call-with-input-file filename + (lambda (port) + (let ((first-line (read-line port))) + (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */")))))))) + (for-each delete-file (find-files (getcwd) generated-automatically?))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("./gnulib-tool" "bin/") + ("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) + #:modules '((ice-9 match) + (guix build utils) + (guix build copy-build-system) + ((guix build gnu-build-system) #:prefix gnu:)) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'check + (assoc-ref gnu:%standard-phases 'check)) + (add-before 'check 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + ;; Syntax checks are only run against committed files. + (invoke "git" "commit" "-m" "Prepare for tests."))) + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + ;; sc_copyright_check fails because the fake commit date may + ;; be later than the copyright year. + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_copyright_check \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_(sym_list|copyright)" rule) + (string-append "disabled_check_" rule)) + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_(AC_LIBOBJ_in_m4|leading_TABs)" rule) + (string-append "disabled_prohibit_" rule))))) + (add-before 'check 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (define (find-ucd-file name) + (search-input-file inputs (string-append "share/ucd/" name))) + (define (find-ucd-files . names) + (map find-ucd-file names)) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + (append + (find-ucd-files "UnicodeData.txt" + "PropList.txt" + "DerivedCoreProperties.txt" + "emoji/emoji-data.txt" + "ArabicShaping.txt" + "Scripts.txt" + "Blocks.txt") + (list + #$(origin + (method url-fetch) + (uri (string-append + "https://www.unicode.org/Public/" + "3.0-Update1/PropList-3.0.1.txt")) + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + (find-ucd-files "EastAsianWidth.txt" + "LineBreak.txt" + "auxiliary/WordBreakProperty.txt" + "auxiliary/GraphemeBreakProperty.txt" + "CompositionExclusions.txt" + "SpecialCasing.txt" + "CaseFolding.txt") + (list #$(package-version (this-package-native-input "ucd"))))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (find-ucd-file "UnicodeData.txt") + "uniname/uninames.h" + (find-ucd-file "NameAliases.txt")) + (for-each + (match-lambda + ((ucd-file . directory) + (copy-file (find-ucd-file ucd-file) + (string-append "../tests/" directory "/" + (basename ucd-file))))) + '(("NameAliases.txt" . "uniname") + ("UnicodeData.txt" . "uniname") + ("NormalizationTest.txt" . "uninorm") + ("auxiliary/GraphemeBreakTest.txt" . "unigbrk") + ("auxiliary/WordBreakTest.txt" . "uniwbrk"))) + (delete-file "gen-uni-tables"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-31" + #:commit "875461ffdf58ac04677957b4ae4160465b83b940" + #:hash (base32 "0bf7a6wdns9c5wwv60qfcn9llg0j6jz5ryd2qgsqqx2i6xkmp77c"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 22:10:02 GMT) Full text and rfc822 format available.Message #233 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 0/4] Using a cover letter with a shallow thread style. Date: Sun, 1 Jan 2023 22:59:29 +0100
I tried the "deep" thread style, but unfortunately it seems that Patchwork only picked the last commit. My guess is that the email thread model that Patchwork recognizes is one cover letter, and every patch links to the cover letter. Maybe the deep thread style means that Patchwork recognizes the last commit as a new commit, looks up its parent and interprets it as the cover letter. So, maybe the penultimate patch was interpreted as the cover letter and so only the last patch made its way. I understand that you are upset because of the spam. I don’t like that either when it happens to me. I have more or less exhausted all the options that I can easily tweak in order to make the patch work with patchwork. If this doesn’t work, then I won’t try again and I will let the QA fail. That’s my last "sorry for the spam" on this issue. Sorry for the spam! Vivien Kraus (4): gnu: libunibreak: Use ucd instead of ucd-next. gnu: ucd-next: Update to 15.0.0. gnu: Add gnulib. gnu: guile-gnutls: Update to 3.7.11. gnu/packages/build-tools.scm | 202 +++++++++++++++++++++++++++++++++++ gnu/packages/tls.scm | 42 +++++--- gnu/packages/unicode.scm | 9 +- 3 files changed, 235 insertions(+), 18 deletions(-) base-commit: 6d4c53893308d7db340a2978307a214103660341 -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 22:10:03 GMT) Full text and rfc822 format available.Message #236 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 22:10:03 GMT) Full text and rfc822 format available.Message #239 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..2c7e36a6c5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -56,6 +56,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +81,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +383,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +392,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +424,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sun, 01 Jan 2023 22:10:04 GMT) Full text and rfc822 format available.Message #242 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. Rename package to just "ucd", not "ucd-next". --- gnu/packages/unicode.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..857af13d71 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -100,8 +100,8 @@ (define-public ucd (define-public ucd-next (package (inherit ucd) - (name "ucd-next") - (version "14.0.0") + (name "ucd") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Mon, 02 Jan 2023 19:48:02 GMT) Full text and rfc822 format available.Message #245 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v12 3/4] gnu: Add gnulib. Date: Tue, 27 Dec 2022 17:23:30 +0100
* gnu/packages/build-tools.scm (gnulib-checkout, gnulib): New variables. --- gnu/packages/build-tools.scm | 203 +++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 6c1350c44f..397318e555 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2021 qblade <qblade <at> protonmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2022 Juliana Sims <jtsims <at> protonmail.com> +;;; Copyright © 2022 Vivien Kraus <vivien <at> planete-kraus.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages build-tools) + #:use-module (ice-9 optargs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) @@ -39,20 +41,28 @@ (define-module (gnu packages build-tools) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages cppi) #:use-module (gnu packages elf) + #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp) #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages ninja) #:use-module (gnu packages package-management) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) @@ -65,6 +75,7 @@ (define-module (gnu packages build-tools) #:use-module (gnu packages rpc) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages unicode) #:use-module (gnu packages version-control) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -803,3 +814,195 @@ (define-public genie same settings to multiple projects. It supports generating projects using GNU Makefiles, JSON Compilation Database, and experimentally Ninja.") (license license:bsd-3)))) + +(define*-public (gnulib-checkout #:key + version + (revision "1") + commit + hash) + "Return as a package the exact gnulib checkout." + (package + (name "gnulib") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 hash) + (snippet + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) + (ice-9 ftw) + (ice-9 rdelim)) + ;; .c, .h and .gperf files whose first line is /* DO NOT EDIT! + ;; GENERATED AUTOMATICALLY! */ are generated automatically based + ;; on the unicode database. Since we replace the unicode + ;; database with our own, we need to regenerate them. So, they + ;; are removed from the source. They are sprinkled all over the + ;; place unfortunately, so we can’t exclude whole directories. + (let ((generated-automatically? + (lambda (filename . unused) + (and (or (string-suffix? ".c" filename) + (string-suffix? ".h" filename) + (string-suffix? ".gperf" filename)) + (call-with-input-file filename + (lambda (port) + (let ((first-line (read-line port))) + (equal? + first-line + "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */")))))))) + (for-each delete-file (find-files (getcwd) generated-automatically?))) + ;; Other files are copied from UCD. + (for-each delete-file + '("tests/unigbrk/GraphemeBreakTest.txt" + "tests/uninorm/NormalizationTest.txt" + "tests/uniname/UnicodeData.txt" + "tests/uniname/NameAliases.txt" + ;; FIXME: tests/uniname/HangulSyllableNames.txt + ;; seems like a UCD file but it is not distributed + ;; with UCD. + "tests/uniwbrk/WordBreakTest.txt"))))))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("./gnulib-tool" "bin/") + ("." "src/gnulib" #:exclude-regexp ("\\.git.*"))) + #:modules '((ice-9 match) + (guix build utils) + (guix build copy-build-system) + ((guix build gnu-build-system) #:prefix gnu:)) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'check + (assoc-ref gnu:%standard-phases 'check)) + (add-before 'check 'fix-tests + (lambda _ + (substitute* "Makefile" + (("-f maint.mk syntax-check") + "_gl-Makefile=yes -f maint.mk syntax-check")) + (invoke "git" "init") + (invoke "git" "config" "user.name" "Guix") + (invoke "git" "config" "user.email" "guix <at> localhost") + (invoke "git" "add" ".") + ;; Syntax checks are only run against committed files. + (invoke "git" "commit" "-m" "Prepare for tests."))) + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "cfg.mk" + (("local-checks-to-skip =") + ;; sc_copyright_check fails because the fake commit date may + ;; be later than the copyright year. + "local-checks-to-skip = \\ + sc_Wundef_boolean \\ + sc_copyright_check \\ + sc_file_system \\ + sc_indent \\ + sc_keep_gnulib_texi_files_mostly_ascii \\ + sc_prohibit_assert_without_use \\ + sc_prohibit_close_stream_without_use \\ + sc_prohibit_defined_have_decl_tests \\ + sc_prohibit_doubled_word \\ + sc_prohibit_empty_lines_at_EOF \\ + sc_prohibit_intprops_without_use \\ + sc_prohibit_openat_without_use \\ + sc_prohibit_test_minus_ao \\ + sc_unportable_grep_q")) + (substitute* "Makefile" + (("sc_check_(sym_list|copyright)" rule) + (string-append "disabled_check_" rule)) + (("sc_cpp_indent_check") + "disabled_cpp_indent_check") + (("sc_prefer_ac_check_funcs_once") + "disabled_prefer_ac_check_funcs_once") + (("sc_prohibit_(AC_LIBOBJ_in_m4|leading_TABs)" rule) + (string-append "disabled_prohibit_" rule))))) + (add-before 'check 'regenerate-unicode + (lambda* (#:key inputs #:allow-other-keys) + (define (find-ucd-file name) + (search-input-file inputs (string-append "share/ucd/" name))) + (define (find-ucd-files . names) + (map find-ucd-file names)) + (with-directory-excursion "lib" + ;; See the compile-command buffer-local variable in + ;; lib/gen-uni-tables.c + (invoke #+(file-append gcc "/bin/gcc") "-O" "-Wall" "gen-uni-tables.c" + "-Iunictype" "-o" "gen-uni-tables") + (apply invoke + "./gen-uni-tables" + (append + (find-ucd-files "UnicodeData.txt" + "PropList.txt" + "DerivedCoreProperties.txt" + "emoji/emoji-data.txt" + "ArabicShaping.txt" + "Scripts.txt" + "Blocks.txt") + (list + #$(origin + (method url-fetch) + (uri (string-append + "https://www.unicode.org/Public/" + "3.0-Update1/PropList-3.0.1.txt")) + (sha256 + (base32 + "0k6wyijyzdl5g3nibcwfm898kfydx1pqaz28v7fdvnzdvd5fz7lh")))) + (find-ucd-files "EastAsianWidth.txt" + "LineBreak.txt" + "auxiliary/WordBreakProperty.txt" + "auxiliary/GraphemeBreakProperty.txt" + "CompositionExclusions.txt" + "SpecialCasing.txt" + "CaseFolding.txt") + (list #$(package-version (this-package-native-input "ucd"))))) + (invoke "clisp" "-C" "uniname/gen-uninames.lisp" + (find-ucd-file "UnicodeData.txt") + "uniname/uninames.h" + (find-ucd-file "NameAliases.txt")) + (for-each + (match-lambda + ((ucd-file . directory) + (copy-file (find-ucd-file ucd-file) + (string-append "../tests/" directory "/" + (basename ucd-file))))) + '(("NameAliases.txt" . "uniname") + ("UnicodeData.txt" . "uniname") + ("NormalizationTest.txt" . "uninorm") + ("auxiliary/GraphemeBreakTest.txt" . "unigbrk") + ("auxiliary/WordBreakTest.txt" . "uniwbrk"))) + (delete-file "gen-uni-tables"))))))) + (inputs ;; Shebangs for some auxiliary build files. + (list python perl clisp)) + (native-inputs + (list + python perl clisp + ;; Unicode data: + ucd-next + ;; Programs for the tests: + cppi indent git autoconf)) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Source files to share among distributions") + (description + "Gnulib is a central location for common infrastructure needed by GNU +packages. It provides a wide variety of functionality, e.g., portability +across many systems, working with Unicode strings, cryptographic computation, +and much more. The code is intended to be shared at the level of source +files, rather than being a standalone library that is distributed, built, and +installed. The included @command{gnulib-tool} script helps with using Gnulib +code in other packages. Gnulib also includes copies of licensing and +maintenance-related files, for convenience.") + (native-search-paths + (list (search-path-specification + (variable "GNULIB_SRCDIR") + (files (list "src/gnulib"))))) + (license (list license:lgpl2.0+ license:gpl3+)))) + +(define-public gnulib + (gnulib-checkout + #:version "2022-12-31" + #:commit "875461ffdf58ac04677957b4ae4160465b83b940" + #:hash (base32 "0bf7a6wdns9c5wwv60qfcn9llg0j6jz5ryd2qgsqqx2i6xkmp77c"))) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Mon, 02 Jan 2023 19:48:02 GMT) Full text and rfc822 format available.Message #248 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v12 0/4] Add my name to the copyright line. Date: Mon, 2 Jan 2023 20:43:10 +0100
I added my name to the copyright line of build-tools (for gnulib) and also of tls (for guile-gnutls). I used the 2022 year because the initial work was done in 2022. Vivien Kraus (4): gnu: libunibreak: Use ucd instead of ucd-next. gnu: ucd-next: Update to 15.0.0. gnu: Add gnulib. gnu: guile-gnutls: Update to 3.7.11. gnu/packages/build-tools.scm | 203 +++++++++++++++++++++++++++++++++++ gnu/packages/tls.scm | 43 +++++--- gnu/packages/unicode.scm | 9 +- 3 files changed, 237 insertions(+), 18 deletions(-) base-commit: 7efcf36e3b753a1dba6f8208f3c22d151007eaf0 -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Mon, 02 Jan 2023 19:48:03 GMT) Full text and rfc822 format available.Message #251 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v12 1/4] gnu: libunibreak: Use ucd instead of ucd-next. Date: Sat, 31 Dec 2022 18:33:47 +0100
* gnu/packages/unicode.scm (libunibreak) [native-inputs]: Replace ucd-next with ucd. They are identical. --- gnu/packages/unicode.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index bda0de04cc..5b5900f2ba 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -48,8 +48,7 @@ (define-public libunibreak (list autoconf-wrapper automake libtool - ucd-next ; required for tests - )) + ucd)) (arguments `(#:parallel-tests? #f ; parallel tests cause non-deterministic ; build failures -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Mon, 02 Jan 2023 19:49:02 GMT) Full text and rfc822 format available.Message #254 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v12 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Wed, 28 Dec 2022 03:20:54 +0100
* gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang autopull.sh and autogen.sh. * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and git. --- gnu/packages/tls.scm | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a74b423ccf..b8cba06386 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2021 Matthew James Kraai <kraai <at> ftbfs.org> ;;; Copyright © 2021 John Kehayias <john.kehayias <at> protonmail.com> ;;; Copyright © 2022 Greg Hogan <code <at> greghogan.com> +;;; Copyright © 2022 Vivien Kraus <vivien <at> planete-kraus.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages dns) @@ -80,6 +82,7 @@ (define-module (gnu packages tls) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) + #:use-module (gnu packages version-control) #:use-module (gnu packages base) #:use-module (srfi srfi-1)) @@ -381,7 +384,7 @@ (define-public guile-gnutls ;; This package supersedes the Guile bindings that came with GnuTLS until ;; version 3.7.8 included. (name "guile-gnutls") - (version "3.7.9") + (version "3.7.11") (home-page "https://gitlab.com/gnutls/guile/") (source (origin (method git-fetch) @@ -390,21 +393,31 @@ (define-public guile-gnutls (commit (string-append "v" version)))) (sha256 (base32 - "00sfpqjmd263ka51fq4xf7nvaaxyfqsr3r8fj94jgx45q6q6n6wq")) + "06d7v3i0d9ayp7zqk1rsy4z0wfpq69n0r54f1xrppb9gn7q9iva6")) (file-name (git-file-name name version)) (patches (search-patches "gnutls-cross.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - ;; Tell the build system that we want Guile bindings installed to - ;; the output instead of Guiles own module directory. - (list "--disable-static" - (string-append "--with-guile-site-dir=" - "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") - (string-append "--with-guile-site-ccache-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") - (string-append "--with-guile-extension-dir=" - "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")))) + (list + #:configure-flags + ;; Tell the build system that we want Guile bindings installed to the + ;; output instead of Guiles own module directory. + #~(list "--disable-static" + (string-append "--with-guile-site-dir=" + "$(datarootdir)/guile/site/$(GUILE_EFFECTIVE_VERSION)") + (string-append "--with-guile-site-ccache-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache") + (string-append "--with-guile-extension-dir=" + "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-more-shebangs + (lambda _ + (for-each patch-shebang + '("autopull.sh" "autogen.sh")))) + (replace 'bootstrap + (lambda _ + (invoke "bash" "./bootstrap" "--no-git")))))) (native-inputs (list autoconf automake @@ -412,7 +425,11 @@ (define-public guile-gnutls pkg-config texinfo gnutls ;XXX: 'guile-snarf' invokes the native 'cpp' - guile-3.0)) + guile-3.0 + (gnulib-checkout + #:version "2022-12-06" + #:commit "440b528b1d81dd31b2a2e4dde20d5c837c147811" + #:hash (base32 "15mq43abbnkbamchc9lynrvrd5ql8qacgyx2ph4kkngxf1bz3pqy")))) (inputs (list gnutls-latest guile-3.0)) -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Mon, 02 Jan 2023 19:49:02 GMT) Full text and rfc822 format available.Message #257 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <at> debbugs.gnu.org Subject: [PATCH v12 2/4] gnu: ucd-next: Update to 15.0.0. Date: Sat, 31 Dec 2022 18:34:35 +0100
* gnu/packages/unicode.scm (ucd-next): Update to 15.0.0. Rename package to just "ucd", not "ucd-next". --- gnu/packages/unicode.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 5b5900f2ba..857af13d71 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -100,8 +100,8 @@ (define-public ucd (define-public ucd-next (package (inherit ucd) - (name "ucd-next") - (version "14.0.0") + (name "ucd") + (version "15.0.0") (source (origin (method url-fetch/zipbomb) @@ -109,7 +109,7 @@ (define-public ucd-next "/UCD.zip")) (sha256 (base32 - "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))))) + "133inqn33hcfvylmps63yjr6rrqrfq6x7a5hr5fd51z6yc0f9gaz")))))) (define (unicode-emoji-file name version hash) (origin -- 2.38.1
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Sat, 07 Jan 2023 10:22:02 GMT) Full text and rfc822 format available.Message #260 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Vivien Kraus <vivien <at> planete-kraus.eu> To: 60358 <60358 <at> debbugs.gnu.org> Subject: gnulib: Should this be in its own module? Date: Sat, 07 Jan 2023 11:21:04 +0100
Dear guix, gnulib is a useful tool to recreate distribution tarballs from git on many GNU projects. In the future, it may be a native input for many. Should I move it to its own module, (gnu packages gnulib) for instance? That would certainly help with forseeable mess with circular guile module dependencies. What do you think? Best regards, Vivien
Liliana Marie Prikler <liliana.prikler <at> gmail.com>
:Vivien Kraus <vivien <at> planete-kraus.eu>
:Message #265 received at 60358-done <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Vivien Kraus <vivien <at> planete-kraus.eu>, 60358-done <at> debbugs.gnu.org Subject: Re: [PATCH v10 4/4] gnu: guile-gnutls: Update to 3.7.11. Date: Sun, 15 Jan 2023 08:07:30 +0100
Am Mittwoch, dem 28.12.2022 um 03:20 +0100 schrieb Vivien Kraus: > * gnu/packages/tls.scm (guile-gnutls) [phases]: Patch-shebang > autopull.sh and autogen.sh. > * gnu/packages/tls.scm (guile-gnutls) [native-inupts]: Add gnulib and > git. > --- Pushed now. Incidentally, git was not actually added, but I forgot to augment the ChangeLog. Sorry for that. Cheers
guix-patches <at> gnu.org
:bug#60358
; Package guix-patches
.
(Mon, 16 Jan 2023 12:01:02 GMT) Full text and rfc822 format available.Message #268 received at 60358 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Vivien Kraus <vivien <at> planete-kraus.eu> Cc: 60358 <at> debbugs.gnu.org Subject: Re: bug#60358: [PATCH] gnu: Add gnulib. Date: Mon, 16 Jan 2023 12:59:31 +0100
Hi Vivien, Vivien Kraus <vivien <at> planete-kraus.eu> skribis: > + (native-search-paths > + (list (search-path-specification > + (variable "GNULIB_SRCDIR") > + (files (list "src/gnulib"))))) Perhaps you need (separator #f) if it’s meant to contain a single directory name (as opposed to a colon-separate search path)? Thanks, Ludo’.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 13 Feb 2023 12:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.