unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60358] [PATCH] gnu: Add gnulib.
@ 2022-12-27 16:23 Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v5 1/5] " Vivien Kraus via Guix-patches via
                   ` (38 more replies)
  0 siblings, 39 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v2 1/2] gnu: Add gnulib.
  2022-12-27 20:45 ` Liliana Marie Prikler
@ 2022-12-27 16:23   ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20   ` [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
  1 sibling, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 1/2] gnu: Add gnulib.
  2022-12-29 14:55       ` Simon Josefsson via Guix-patches via
@ 2022-12-27 16:23         ` Vivien Kraus via Guix-patches via
  2022-12-29 20:02           ` Liliana Marie Prikler
  2022-12-28  2:20         ` [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
  1 sibling, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Simon Josefsson

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v4 1/3] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (2 preceding siblings ...)
  2022-12-27 16:23 ` [bug#60358] [PATCH v10 3/4] " Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v9 3/4] " Vivien Kraus via Guix-patches via
                   ` (34 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 1/5] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2022-12-31  6:53   ` Liliana Marie Prikler
  2022-12-27 16:23 ` [bug#60358] [PATCH v7 4/5] " Vivien Kraus via Guix-patches via
                   ` (37 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v6 2/3] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (6 preceding siblings ...)
  2022-12-27 16:23 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2022-12-27 17:33 ` [bug#60358] Providing gnulib Vivien Kraus via Guix-patches via
                   ` (30 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 4/5] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v5 1/5] " Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2022-12-31 19:26   ` Liliana Marie Prikler
  2022-12-27 16:23 ` [bug#60358] [PATCH v10 3/4] " Vivien Kraus via Guix-patches via
                   ` (36 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 12851 bytes --]

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v8 3/4] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (4 preceding siblings ...)
  2022-12-27 16:23 ` [bug#60358] [PATCH v9 3/4] " Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
                   ` (32 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 11808 bytes --]

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v9 3/4] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (3 preceding siblings ...)
  2022-12-27 16:23 ` [bug#60358] [PATCH v4 1/3] " Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2023-01-01 16:25   ` Liliana Marie Prikler
  2022-12-27 16:23 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
                   ` (33 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 11592 bytes --]

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v10 3/4] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v5 1/5] " Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v7 4/5] " Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v4 1/3] " Vivien Kraus via Guix-patches via
                   ` (35 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 11772 bytes --]

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 3/4] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (5 preceding siblings ...)
  2022-12-27 16:23 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23 ` Vivien Kraus via Guix-patches via
  2023-01-01 20:48   ` Vivien Kraus via Guix-patches via
  2022-12-27 16:23 ` [bug#60358] [PATCH v6 2/3] " Vivien Kraus via Guix-patches via
                   ` (31 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 11777 bytes --]

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 3/4] gnu: Add gnulib.
  2022-12-31 17:34     ` [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23       ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20         ` [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 11777 bytes --]

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 3/4] gnu: Add gnulib.
  2023-01-01 21:59 ` [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23   ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20   ` [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 11777 bytes --]

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v12 3/4] gnu: Add gnulib.
  2023-01-02 19:43 ` [bug#60358] [PATCH v12 0/4] Add my name to the copyright line Vivien Kraus via Guix-patches via
@ 2022-12-27 16:23   ` Vivien Kraus via Guix-patches via
  2023-01-16 11:59     ` [bug#60358] [PATCH] " Ludovic Courtès
  2022-12-28  2:20   ` [bug#60358] [PATCH v12 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 16:23 UTC (permalink / raw)
  To: 60358

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 12084 bytes --]

* 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@protonmail.com>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
+;;; Copyright © 2022 Vivien Kraus <vivien@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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] Providing gnulib
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (7 preceding siblings ...)
  2022-12-27 16:23 ` [bug#60358] [PATCH v6 2/3] " Vivien Kraus via Guix-patches via
@ 2022-12-27 17:33 ` Vivien Kraus via Guix-patches via
  2022-12-27 18:44 ` [bug#60358] [PATCH] gnu: Add gnulib Simon Josefsson via Guix-patches via
                   ` (29 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-27 17:33 UTC (permalink / raw)
  To: 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (8 preceding siblings ...)
  2022-12-27 17:33 ` [bug#60358] Providing gnulib Vivien Kraus via Guix-patches via
@ 2022-12-27 18:44 ` Simon Josefsson via Guix-patches via
  2022-12-28  1:57   ` Vivien Kraus via Guix-patches via
  2022-12-27 20:45 ` Liliana Marie Prikler
                   ` (28 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Simon Josefsson via Guix-patches via @ 2022-12-27 18:44 UTC (permalink / raw)
  To: 60358; +Cc: vivien

[-- Attachment #1: Type: text/plain, Size: 857 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH] gnu: Add gnulib.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (9 preceding siblings ...)
  2022-12-27 18:44 ` [bug#60358] [PATCH] gnu: Add gnulib Simon Josefsson via Guix-patches via
@ 2022-12-27 20:45 ` Liliana Marie Prikler
  2022-12-27 16:23   ` [bug#60358] [PATCH v2 1/2] " Vivien Kraus via Guix-patches via
  2022-12-28  2:20   ` [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
  2022-12-28  2:20 ` [bug#60358] [PATCH v4 3/3] " Vivien Kraus via Guix-patches via
                   ` (27 subsequent siblings)
  38 siblings, 2 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-27 20:45 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH] gnu: Add gnulib.
  2022-12-27 18:44 ` [bug#60358] [PATCH] gnu: Add gnulib Simon Josefsson via Guix-patches via
@ 2022-12-28  1:57   ` Vivien Kraus via Guix-patches via
  2022-12-29 14:44     ` Simon Josefsson via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  1:57 UTC (permalink / raw)
  To: simon, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 20:45 ` Liliana Marie Prikler
  2022-12-27 16:23   ` [bug#60358] [PATCH v2 1/2] " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20   ` Vivien Kraus via Guix-patches via
  2022-12-28  2:50     ` Vivien Kraus via Guix-patches via
  1 sibling, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-29 14:55       ` Simon Josefsson via Guix-patches via
  2022-12-27 16:23         ` [bug#60358] [PATCH v3 1/2] gnu: Add gnulib Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20         ` Vivien Kraus via Guix-patches via
  2022-12-29 15:25           ` Vivien Kraus via Guix-patches via
  1 sibling, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Simon Josefsson

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v4 3/3] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (10 preceding siblings ...)
  2022-12-27 20:45 ` Liliana Marie Prikler
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20 ` [bug#60358] [PATCH v9 4/4] " Vivien Kraus via Guix-patches via
                   ` (26 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 5/5] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (14 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v7 5/5] " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2022-12-31  6:53   ` Liliana Marie Prikler
  2022-12-28  2:20 ` [bug#60358] [PATCH v10 4/4] " Vivien Kraus via Guix-patches via
                   ` (22 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v6 3/3] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (12 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v9 4/4] " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20 ` [bug#60358] [PATCH v7 5/5] " Vivien Kraus via Guix-patches via
                   ` (24 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 5/5] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (13 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v6 3/3] " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
                   ` (23 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v8 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (17 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2022-12-30 11:30 ` [bug#60358] [PATCH v5 2/5] gnu: gnulib: Enable tests Vivien Kraus via Guix-patches via
                   ` (19 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v9 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (11 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v4 3/3] " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20 ` [bug#60358] [PATCH v6 3/3] " Vivien Kraus via Guix-patches via
                   ` (25 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v10 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (15 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2023-01-15  7:07   ` bug#60358: " Liliana Marie Prikler
  2022-12-28  2:20 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
                   ` (21 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (16 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v10 4/4] " Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20 ` Vivien Kraus via Guix-patches via
  2022-12-28  2:20 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
                   ` (20 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-27 16:23       ` [bug#60358] [PATCH v11 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20         ` Vivien Kraus via Guix-patches via
  0 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2023-01-01 21:59 ` [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style Vivien Kraus via Guix-patches via
  2022-12-27 16:23   ` [bug#60358] [PATCH v11 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20   ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33   ` [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
  2022-12-31 17:34   ` [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
  3 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v12 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2023-01-02 19:43 ` [bug#60358] [PATCH v12 0/4] Add my name to the copyright line Vivien Kraus via Guix-patches via
  2022-12-27 16:23   ` [bug#60358] [PATCH v12 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
@ 2022-12-28  2:20   ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33   ` [bug#60358] [PATCH v12 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
  2022-12-31 17:34   ` [bug#60358] [PATCH v12 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
  3 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:20 UTC (permalink / raw)
  To: 60358

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 4351 bytes --]

* 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@ftbfs.org>
 ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2022 Vivien Kraus <vivien@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-28  2:20   ` [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
@ 2022-12-28  2:50     ` Vivien Kraus via Guix-patches via
  2022-12-29 14:55       ` Simon Josefsson via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-28  2:50 UTC (permalink / raw)
  To: 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH] gnu: Add gnulib.
  2022-12-28  1:57   ` Vivien Kraus via Guix-patches via
@ 2022-12-29 14:44     ` Simon Josefsson via Guix-patches via
  2022-12-29 15:56       ` Simon Josefsson via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Simon Josefsson via Guix-patches via @ 2022-12-29 14:44 UTC (permalink / raw)
  To: 60358; +Cc: vivien

[-- Attachment #1: Type: text/plain, Size: 3915 bytes --]

Vivien Kraus via Guix-patches via <guix-patches@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-28  2:50     ` Vivien Kraus via Guix-patches via
@ 2022-12-29 14:55       ` Simon Josefsson via Guix-patches via
  2022-12-27 16:23         ` [bug#60358] [PATCH v3 1/2] gnu: Add gnulib Vivien Kraus via Guix-patches via
  2022-12-28  2:20         ` [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
  0 siblings, 2 replies; 83+ messages in thread
From: Simon Josefsson via Guix-patches via @ 2022-12-29 14:55 UTC (permalink / raw)
  To: 60358; +Cc: vivien

[-- Attachment #1: Type: text/plain, Size: 2537 bytes --]

Vivien Kraus via Guix-patches via <guix-patches@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-28  2:20         ` [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
@ 2022-12-29 15:25           ` Vivien Kraus via Guix-patches via
  2022-12-29 15:37             ` Simon Josefsson via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-29 15:25 UTC (permalink / raw)
  To: Simon Josefsson; +Cc: 60358

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.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-29 15:25           ` Vivien Kraus via Guix-patches via
@ 2022-12-29 15:37             ` Simon Josefsson via Guix-patches via
  2022-12-29 16:06               ` Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Simon Josefsson via Guix-patches via @ 2022-12-29 15:37 UTC (permalink / raw)
  To: Vivien Kraus; +Cc: 60358

[-- Attachment #1: Type: text/plain, Size: 1897 bytes --]

Vivien Kraus <vivien@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH] gnu: Add gnulib.
  2022-12-29 14:44     ` Simon Josefsson via Guix-patches via
@ 2022-12-29 15:56       ` Simon Josefsson via Guix-patches via
  0 siblings, 0 replies; 83+ messages in thread
From: Simon Josefsson via Guix-patches via @ 2022-12-29 15:56 UTC (permalink / raw)
  To: 60358; +Cc: vivien

[-- Attachment #1: Type: text/plain, Size: 653 bytes --]

Simon Josefsson via Guix-patches via <guix-patches@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-29 15:37             ` Simon Josefsson via Guix-patches via
@ 2022-12-29 16:06               ` Vivien Kraus via Guix-patches via
  2022-12-29 16:14                 ` Simon Josefsson via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-29 16:06 UTC (permalink / raw)
  To: Simon Josefsson; +Cc: 60358

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!




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-29 16:06               ` Vivien Kraus via Guix-patches via
@ 2022-12-29 16:14                 ` Simon Josefsson via Guix-patches via
  0 siblings, 0 replies; 83+ messages in thread
From: Simon Josefsson via Guix-patches via @ 2022-12-29 16:14 UTC (permalink / raw)
  To: Vivien Kraus; +Cc: 60358

[-- Attachment #1: Type: text/plain, Size: 694 bytes --]

Vivien Kraus <vivien@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 1/2] gnu: Add gnulib.
  2022-12-27 16:23         ` [bug#60358] [PATCH v3 1/2] gnu: Add gnulib Vivien Kraus via Guix-patches via
@ 2022-12-29 20:02           ` Liliana Marie Prikler
  2022-12-30 11:45             ` Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-29 20:02 UTC (permalink / raw)
  To: Vivien Kraus, 60358; +Cc: Simon Josefsson

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v4 2/3] gnu: gnulib: Enable tests.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (19 preceding siblings ...)
  2022-12-30 11:30 ` [bug#60358] [PATCH v5 2/5] gnu: gnulib: Enable tests Vivien Kraus via Guix-patches via
@ 2022-12-30 11:30 ` Vivien Kraus via Guix-patches via
  2022-12-30 21:20 ` [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1 Vivien Kraus via Guix-patches via
                   ` (17 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-30 11:30 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 2/5] gnu: gnulib: Enable tests.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (18 preceding siblings ...)
  2022-12-28  2:20 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
@ 2022-12-30 11:30 ` Vivien Kraus via Guix-patches via
  2022-12-30 11:30 ` [bug#60358] [PATCH v4 2/3] " Vivien Kraus via Guix-patches via
                   ` (18 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-30 11:30 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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@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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 1/2] gnu: Add gnulib.
  2022-12-29 20:02           ` Liliana Marie Prikler
@ 2022-12-30 11:45             ` Vivien Kraus via Guix-patches via
  2022-12-30 19:35               ` Liliana Marie Prikler
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-30 11:45 UTC (permalink / raw)
  To: Liliana Marie Prikler, 60358; +Cc: Simon Josefsson

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





^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v3 1/2] gnu: Add gnulib.
  2022-12-30 11:45             ` Vivien Kraus via Guix-patches via
@ 2022-12-30 19:35               ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-30 19:35 UTC (permalink / raw)
  To: Vivien Kraus, 60358; +Cc: Simon Josefsson

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (21 preceding siblings ...)
  2022-12-30 21:20 ` [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1 Vivien Kraus via Guix-patches via
@ 2022-12-30 21:20 ` Vivien Kraus via Guix-patches via
  2022-12-31  6:49   ` Liliana Marie Prikler
  2022-12-30 21:20 ` [bug#60358] [PATCH v6 1/3] " Vivien Kraus via Guix-patches via
                   ` (15 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-30 21:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v6 1/3] gnu: UCD: Add version 3.0-update1.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (22 preceding siblings ...)
  2022-12-30 21:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
@ 2022-12-30 21:20 ` Vivien Kraus via Guix-patches via
  2022-12-30 22:05 ` [bug#60358] [PATCH v5 4/5] gnu: gnulib: Regenerate the unicode data Vivien Kraus via Guix-patches via
                   ` (14 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-30 21:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (20 preceding siblings ...)
  2022-12-30 11:30 ` [bug#60358] [PATCH v4 2/3] " Vivien Kraus via Guix-patches via
@ 2022-12-30 21:20 ` Vivien Kraus via Guix-patches via
  2022-12-31 19:17   ` Liliana Marie Prikler
  2022-12-30 21:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
                   ` (16 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-30 21:20 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 4/5] gnu: gnulib: Regenerate the unicode data.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (23 preceding siblings ...)
  2022-12-30 21:20 ` [bug#60358] [PATCH v6 1/3] " Vivien Kraus via Guix-patches via
@ 2022-12-30 22:05 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33 ` [bug#60358] [PATCH v9 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
                   ` (13 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-30 22:05 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1.
  2022-12-30 21:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
@ 2022-12-31  6:49   ` Liliana Marie Prikler
  2022-12-31 10:56     ` Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-31  6:49 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 1/5] gnu: Add gnulib.
  2022-12-27 16:23 ` [bug#60358] [PATCH v5 1/5] " Vivien Kraus via Guix-patches via
@ 2022-12-31  6:53   ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-31  6:53 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 5/5] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-28  2:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
@ 2022-12-31  6:53   ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-31  6:53 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1.
  2022-12-31  6:49   ` Liliana Marie Prikler
@ 2022-12-31 10:56     ` Vivien Kraus via Guix-patches via
  2022-12-31 14:07       ` Liliana Marie Prikler
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 10:56 UTC (permalink / raw)
  To: Liliana Marie Prikler, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v5 3/5] gnu: UCD: Add version 3.0-update1.
  2022-12-31 10:56     ` Vivien Kraus via Guix-patches via
@ 2022-12-31 14:07       ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-31 14:07 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 1/5] gnu: libunibreak: Use ucd instead of ucd-next.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (26 preceding siblings ...)
  2022-12-31 17:33 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33 ` [bug#60358] [PATCH v10 1/4] " Vivien Kraus via Guix-patches via
                   ` (10 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v8 1/4] gnu: libunibreak: Use ucd instead of ucd-next.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (25 preceding siblings ...)
  2022-12-31 17:33 ` [bug#60358] [PATCH v9 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33 ` [bug#60358] [PATCH v7 1/5] " Vivien Kraus via Guix-patches via
                   ` (11 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v9 1/4] gnu: libunibreak: Use ucd instead of ucd-next.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (24 preceding siblings ...)
  2022-12-30 22:05 ` [bug#60358] [PATCH v5 4/5] gnu: gnulib: Regenerate the unicode data Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
                   ` (12 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v10 1/4] gnu: libunibreak: Use ucd instead of ucd-next.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (27 preceding siblings ...)
  2022-12-31 17:33 ` [bug#60358] [PATCH v7 1/5] " Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
                   ` (9 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (28 preceding siblings ...)
  2022-12-31 17:33 ` [bug#60358] [PATCH v10 1/4] " Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34 ` [bug#60358] [PATCH v8 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
                   ` (8 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next.
  2023-01-01 21:45 ` [bug#60358] [PATCH v11 0/4] Use a cover letter Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33   ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34     ` [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next.
  2023-01-01 21:59 ` [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style Vivien Kraus via Guix-patches via
  2022-12-27 16:23   ` [bug#60358] [PATCH v11 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
  2022-12-28  2:20   ` [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33   ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34   ` [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
  3 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v12 1/4] gnu: libunibreak: Use ucd instead of ucd-next.
  2023-01-02 19:43 ` [bug#60358] [PATCH v12 0/4] Add my name to the copyright line Vivien Kraus via Guix-patches via
  2022-12-27 16:23   ` [bug#60358] [PATCH v12 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
  2022-12-28  2:20   ` [bug#60358] [PATCH v12 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
@ 2022-12-31 17:33   ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34   ` [bug#60358] [PATCH v12 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
  3 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:33 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 2/5] gnu: ucd-next: Update to 15.0.0.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (32 preceding siblings ...)
  2022-12-31 17:34 ` [bug#60358] [PATCH v9 " Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34 ` [bug#60358] [PATCH v10 2/4] " Vivien Kraus via Guix-patches via
                   ` (4 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v8 2/4] gnu: ucd-next: Update to 15.0.0.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (29 preceding siblings ...)
  2022-12-31 17:33 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
                   ` (7 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v9 2/4] gnu: ucd-next: Update to 15.0.0.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (31 preceding siblings ...)
  2022-12-31 17:34 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34 ` [bug#60358] [PATCH v7 2/5] " Vivien Kraus via Guix-patches via
                   ` (5 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v10 2/4] gnu: ucd-next: Update to 15.0.0.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (33 preceding siblings ...)
  2022-12-31 17:34 ` [bug#60358] [PATCH v7 2/5] " Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34 ` Vivien Kraus via Guix-patches via
  2023-01-01 21:45 ` [bug#60358] [PATCH v11 0/4] Use a cover letter Vivien Kraus via Guix-patches via
                   ` (3 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358; +Cc: Liliana Marie Prikler

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (30 preceding siblings ...)
  2022-12-31 17:34 ` [bug#60358] [PATCH v8 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:34 ` [bug#60358] [PATCH v9 " Vivien Kraus via Guix-patches via
                   ` (6 subsequent siblings)
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0.
  2022-12-31 17:33   ` [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34     ` Vivien Kraus via Guix-patches via
  2022-12-27 16:23       ` [bug#60358] [PATCH v11 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0.
  2023-01-01 21:59 ` [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style Vivien Kraus via Guix-patches via
                     ` (2 preceding siblings ...)
  2022-12-31 17:33   ` [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34   ` Vivien Kraus via Guix-patches via
  3 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v12 2/4] gnu: ucd-next: Update to 15.0.0.
  2023-01-02 19:43 ` [bug#60358] [PATCH v12 0/4] Add my name to the copyright line Vivien Kraus via Guix-patches via
                     ` (2 preceding siblings ...)
  2022-12-31 17:33   ` [bug#60358] [PATCH v12 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
@ 2022-12-31 17:34   ` Vivien Kraus via Guix-patches via
  3 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2022-12-31 17:34 UTC (permalink / raw)
  To: 60358

* 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




^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1.
  2022-12-30 21:20 ` [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1 Vivien Kraus via Guix-patches via
@ 2022-12-31 19:17   ` Liliana Marie Prikler
  2023-01-01  0:24     ` Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-31 19:17 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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?)




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 4/5] gnu: Add gnulib.
  2022-12-27 16:23 ` [bug#60358] [PATCH v7 4/5] " Vivien Kraus via Guix-patches via
@ 2022-12-31 19:26   ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2022-12-31 19:26 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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@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


^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1.
  2022-12-31 19:17   ` Liliana Marie Prikler
@ 2023-01-01  0:24     ` Vivien Kraus via Guix-patches via
  2023-01-01  1:28       ` Liliana Marie Prikler
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2023-01-01  0:24 UTC (permalink / raw)
  To: Liliana Marie Prikler, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1.
  2023-01-01  0:24     ` Vivien Kraus via Guix-patches via
@ 2023-01-01  1:28       ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2023-01-01  1:28 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v9 3/4] gnu: Add gnulib.
  2022-12-27 16:23 ` [bug#60358] [PATCH v9 3/4] " Vivien Kraus via Guix-patches via
@ 2023-01-01 16:25   ` Liliana Marie Prikler
  2023-01-01 16:55     ` Vivien Kraus via Guix-patches via
  0 siblings, 1 reply; 83+ messages in thread
From: Liliana Marie Prikler @ 2023-01-01 16:25 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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@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

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v9 3/4] gnu: Add gnulib.
  2023-01-01 16:25   ` Liliana Marie Prikler
@ 2023-01-01 16:55     ` Vivien Kraus via Guix-patches via
  2023-01-01 17:31       ` Liliana Marie Prikler
  0 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2023-01-01 16:55 UTC (permalink / raw)
  To: Liliana Marie Prikler, 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v9 3/4] gnu: Add gnulib.
  2023-01-01 16:55     ` Vivien Kraus via Guix-patches via
@ 2023-01-01 17:31       ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2023-01-01 17:31 UTC (permalink / raw)
  To: Vivien Kraus, 60358

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 




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 3/4] gnu: Add gnulib.
  2022-12-27 16:23 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
@ 2023-01-01 20:48   ` Vivien Kraus via Guix-patches via
  0 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2023-01-01 20:48 UTC (permalink / raw)
  To: 60358

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.




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 0/4] Use a cover letter.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (34 preceding siblings ...)
  2022-12-31 17:34 ` [bug#60358] [PATCH v10 2/4] " Vivien Kraus via Guix-patches via
@ 2023-01-01 21:45 ` Vivien Kraus via Guix-patches via
  2022-12-31 17:33   ` [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
  2023-01-01 21:59 ` [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style Vivien Kraus via Guix-patches via
                   ` (2 subsequent siblings)
  38 siblings, 1 reply; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2023-01-01 21:45 UTC (permalink / raw)
  To: 60358

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 661 bytes --]

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (35 preceding siblings ...)
  2023-01-01 21:45 ` [bug#60358] [PATCH v11 0/4] Use a cover letter Vivien Kraus via Guix-patches via
@ 2023-01-01 21:59 ` Vivien Kraus via Guix-patches via
  2022-12-27 16:23   ` [bug#60358] [PATCH v11 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
                     ` (3 more replies)
  2023-01-02 19:43 ` [bug#60358] [PATCH v12 0/4] Add my name to the copyright line Vivien Kraus via Guix-patches via
  2023-01-07 10:21 ` [bug#60358] gnulib: Should this be in its own module? Vivien Kraus via Guix-patches via
  38 siblings, 4 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2023-01-01 21:59 UTC (permalink / raw)
  To: 60358

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1310 bytes --]

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH v12 0/4] Add my name to the copyright line.
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (36 preceding siblings ...)
  2023-01-01 21:59 ` [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style Vivien Kraus via Guix-patches via
@ 2023-01-02 19:43 ` Vivien Kraus via Guix-patches via
  2022-12-27 16:23   ` [bug#60358] [PATCH v12 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
                     ` (3 more replies)
  2023-01-07 10:21 ` [bug#60358] gnulib: Should this be in its own module? Vivien Kraus via Guix-patches via
  38 siblings, 4 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2023-01-02 19:43 UTC (permalink / raw)
  To: 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] gnulib: Should this be in its own module?
  2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
                   ` (37 preceding siblings ...)
  2023-01-02 19:43 ` [bug#60358] [PATCH v12 0/4] Add my name to the copyright line Vivien Kraus via Guix-patches via
@ 2023-01-07 10:21 ` Vivien Kraus via Guix-patches via
  38 siblings, 0 replies; 83+ messages in thread
From: Vivien Kraus via Guix-patches via @ 2023-01-07 10:21 UTC (permalink / raw)
  To: 60358

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* bug#60358: [PATCH v10 4/4] gnu: guile-gnutls: Update to 3.7.11.
  2022-12-28  2:20 ` [bug#60358] [PATCH v10 4/4] " Vivien Kraus via Guix-patches via
@ 2023-01-15  7:07   ` Liliana Marie Prikler
  0 siblings, 0 replies; 83+ messages in thread
From: Liliana Marie Prikler @ 2023-01-15  7:07 UTC (permalink / raw)
  To: Vivien Kraus, 60358-done

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




^ permalink raw reply	[flat|nested] 83+ messages in thread

* [bug#60358] [PATCH] gnu: Add gnulib.
  2022-12-27 16:23   ` [bug#60358] [PATCH v12 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
@ 2023-01-16 11:59     ` Ludovic Courtès
  0 siblings, 0 replies; 83+ messages in thread
From: Ludovic Courtès @ 2023-01-16 11:59 UTC (permalink / raw)
  To: Vivien Kraus; +Cc: 60358

Hi Vivien,

Vivien Kraus <vivien@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’.




^ permalink raw reply	[flat|nested] 83+ messages in thread

end of thread, other threads:[~2023-01-16 12:01 UTC | newest]

Thread overview: 83+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-27 16:23 [bug#60358] [PATCH] gnu: Add gnulib Vivien Kraus via Guix-patches via
2022-12-27 16:23 ` [bug#60358] [PATCH v5 1/5] " Vivien Kraus via Guix-patches via
2022-12-31  6:53   ` Liliana Marie Prikler
2022-12-27 16:23 ` [bug#60358] [PATCH v7 4/5] " Vivien Kraus via Guix-patches via
2022-12-31 19:26   ` Liliana Marie Prikler
2022-12-27 16:23 ` [bug#60358] [PATCH v10 3/4] " Vivien Kraus via Guix-patches via
2022-12-27 16:23 ` [bug#60358] [PATCH v4 1/3] " Vivien Kraus via Guix-patches via
2022-12-27 16:23 ` [bug#60358] [PATCH v9 3/4] " Vivien Kraus via Guix-patches via
2023-01-01 16:25   ` Liliana Marie Prikler
2023-01-01 16:55     ` Vivien Kraus via Guix-patches via
2023-01-01 17:31       ` Liliana Marie Prikler
2022-12-27 16:23 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
2022-12-27 16:23 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
2023-01-01 20:48   ` Vivien Kraus via Guix-patches via
2022-12-27 16:23 ` [bug#60358] [PATCH v6 2/3] " Vivien Kraus via Guix-patches via
2022-12-27 17:33 ` [bug#60358] Providing gnulib Vivien Kraus via Guix-patches via
2022-12-27 18:44 ` [bug#60358] [PATCH] gnu: Add gnulib Simon Josefsson via Guix-patches via
2022-12-28  1:57   ` Vivien Kraus via Guix-patches via
2022-12-29 14:44     ` Simon Josefsson via Guix-patches via
2022-12-29 15:56       ` Simon Josefsson via Guix-patches via
2022-12-27 20:45 ` Liliana Marie Prikler
2022-12-27 16:23   ` [bug#60358] [PATCH v2 1/2] " Vivien Kraus via Guix-patches via
2022-12-28  2:20   ` [bug#60358] [PATCH v2 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
2022-12-28  2:50     ` Vivien Kraus via Guix-patches via
2022-12-29 14:55       ` Simon Josefsson via Guix-patches via
2022-12-27 16:23         ` [bug#60358] [PATCH v3 1/2] gnu: Add gnulib Vivien Kraus via Guix-patches via
2022-12-29 20:02           ` Liliana Marie Prikler
2022-12-30 11:45             ` Vivien Kraus via Guix-patches via
2022-12-30 19:35               ` Liliana Marie Prikler
2022-12-28  2:20         ` [bug#60358] [PATCH v3 2/2] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
2022-12-29 15:25           ` Vivien Kraus via Guix-patches via
2022-12-29 15:37             ` Simon Josefsson via Guix-patches via
2022-12-29 16:06               ` Vivien Kraus via Guix-patches via
2022-12-29 16:14                 ` Simon Josefsson via Guix-patches via
2022-12-28  2:20 ` [bug#60358] [PATCH v4 3/3] " Vivien Kraus via Guix-patches via
2022-12-28  2:20 ` [bug#60358] [PATCH v9 4/4] " Vivien Kraus via Guix-patches via
2022-12-28  2:20 ` [bug#60358] [PATCH v6 3/3] " Vivien Kraus via Guix-patches via
2022-12-28  2:20 ` [bug#60358] [PATCH v7 5/5] " Vivien Kraus via Guix-patches via
2022-12-28  2:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
2022-12-31  6:53   ` Liliana Marie Prikler
2022-12-28  2:20 ` [bug#60358] [PATCH v10 4/4] " Vivien Kraus via Guix-patches via
2023-01-15  7:07   ` bug#60358: " Liliana Marie Prikler
2022-12-28  2:20 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
2022-12-28  2:20 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
2022-12-30 11:30 ` [bug#60358] [PATCH v5 2/5] gnu: gnulib: Enable tests Vivien Kraus via Guix-patches via
2022-12-30 11:30 ` [bug#60358] [PATCH v4 2/3] " Vivien Kraus via Guix-patches via
2022-12-30 21:20 ` [bug#60358] [PATCH v7 3/5] gnu: UCD: Add version 3.0-update1 Vivien Kraus via Guix-patches via
2022-12-31 19:17   ` Liliana Marie Prikler
2023-01-01  0:24     ` Vivien Kraus via Guix-patches via
2023-01-01  1:28       ` Liliana Marie Prikler
2022-12-30 21:20 ` [bug#60358] [PATCH v5 " Vivien Kraus via Guix-patches via
2022-12-31  6:49   ` Liliana Marie Prikler
2022-12-31 10:56     ` Vivien Kraus via Guix-patches via
2022-12-31 14:07       ` Liliana Marie Prikler
2022-12-30 21:20 ` [bug#60358] [PATCH v6 1/3] " Vivien Kraus via Guix-patches via
2022-12-30 22:05 ` [bug#60358] [PATCH v5 4/5] gnu: gnulib: Regenerate the unicode data Vivien Kraus via Guix-patches via
2022-12-31 17:33 ` [bug#60358] [PATCH v9 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
2022-12-31 17:33 ` [bug#60358] [PATCH v8 " Vivien Kraus via Guix-patches via
2022-12-31 17:33 ` [bug#60358] [PATCH v7 1/5] " Vivien Kraus via Guix-patches via
2022-12-31 17:33 ` [bug#60358] [PATCH v10 1/4] " Vivien Kraus via Guix-patches via
2022-12-31 17:33 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
2022-12-31 17:34 ` [bug#60358] [PATCH v8 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
2022-12-31 17:34 ` [bug#60358] [PATCH v11 " Vivien Kraus via Guix-patches via
2022-12-31 17:34 ` [bug#60358] [PATCH v9 " Vivien Kraus via Guix-patches via
2022-12-31 17:34 ` [bug#60358] [PATCH v7 2/5] " Vivien Kraus via Guix-patches via
2022-12-31 17:34 ` [bug#60358] [PATCH v10 2/4] " Vivien Kraus via Guix-patches via
2023-01-01 21:45 ` [bug#60358] [PATCH v11 0/4] Use a cover letter Vivien Kraus via Guix-patches via
2022-12-31 17:33   ` [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
2022-12-31 17:34     ` [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
2022-12-27 16:23       ` [bug#60358] [PATCH v11 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
2022-12-28  2:20         ` [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
2023-01-01 21:59 ` [bug#60358] [PATCH v11 0/4] Using a cover letter with a shallow thread style Vivien Kraus via Guix-patches via
2022-12-27 16:23   ` [bug#60358] [PATCH v11 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
2022-12-28  2:20   ` [bug#60358] [PATCH v11 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
2022-12-31 17:33   ` [bug#60358] [PATCH v11 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
2022-12-31 17:34   ` [bug#60358] [PATCH v11 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
2023-01-02 19:43 ` [bug#60358] [PATCH v12 0/4] Add my name to the copyright line Vivien Kraus via Guix-patches via
2022-12-27 16:23   ` [bug#60358] [PATCH v12 3/4] gnu: Add gnulib Vivien Kraus via Guix-patches via
2023-01-16 11:59     ` [bug#60358] [PATCH] " Ludovic Courtès
2022-12-28  2:20   ` [bug#60358] [PATCH v12 4/4] gnu: guile-gnutls: Update to 3.7.11 Vivien Kraus via Guix-patches via
2022-12-31 17:33   ` [bug#60358] [PATCH v12 1/4] gnu: libunibreak: Use ucd instead of ucd-next Vivien Kraus via Guix-patches via
2022-12-31 17:34   ` [bug#60358] [PATCH v12 2/4] gnu: ucd-next: Update to 15.0.0 Vivien Kraus via Guix-patches via
2023-01-07 10:21 ` [bug#60358] gnulib: Should this be in its own module? Vivien Kraus via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).