unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#55997] [PATCH staging 0/4] Remove texlive's dependence on mariadb.
@ 2022-06-15 14:58 Tom Fitzhenry
  2022-06-15 15:04 ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Tom Fitzhenry
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
  0 siblings, 2 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-15 14:58 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

While rebuilding my simple server, I noticed mariadb being compiled, which
didn't seem right.

$ guix graph --path guix mariadb
guix@1.3.0-27.598f728
po4a@0.63
texlive-tiny@59745
texlive-latex-base@59745
texlive-hyphen-afrikaans@59745
ruby-hydra@0.0-0.5abfa37
ruby-byebug@11.1.3
ruby-rubocop@1.10.0
ruby-parallel@1.21.0
ruby-mysql2@0.5.2
mariadb@10.5.12

This patch series is my attempt to cut the texlive to ruby-byebug dependency,
by introducing ruby-hydra-minimal, a minimal variant of ruby-hydra that
doesn't depend on ruby-byebug.

This also enabled the cleanup of ruby-nokogiri-1.10.

Tom Fitzhenry (4):
  gnu: Add ruby-hydra-minimal.
  gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
  gnu: unpin ruby-nokogiri-diff's ruby-nokogiri
  gnu: Remove unused ruby-nokogiri-1.10.

 .../patches/ruby-hydra-no-byebug.patch        |  9 ++
 .../patches/texlive-hyph-utf8-no-byebug.patch | 11 +++
 gnu/packages/ruby.scm                         | 86 +++++++------------
 gnu/packages/tex.scm                          |  3 +-
 4 files changed, 52 insertions(+), 57 deletions(-)
 create mode 100644 gnu/packages/patches/ruby-hydra-no-byebug.patch
 create mode 100644 gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch

-- 
2.36.1





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

* [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal.
  2022-06-15 14:58 [bug#55997] [PATCH staging 0/4] Remove texlive's dependence on mariadb Tom Fitzhenry
@ 2022-06-15 15:04 ` Tom Fitzhenry
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
                     ` (3 more replies)
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
  1 sibling, 4 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-15 15:04 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

* gnu/packages/patches/ruby-hydra-no-byebug.patch: New file.
* gnu/packages/ruby.scm (ruby-hydra): Refactor to inherit from ruby-hydra-minimal.
(ruby-hydra-minimal): New variable.
---
 .../patches/ruby-hydra-no-byebug.patch        |  9 +++++
 gnu/packages/ruby.scm                         | 35 +++++++++++++------
 2 files changed, 33 insertions(+), 11 deletions(-)
 create mode 100644 gnu/packages/patches/ruby-hydra-no-byebug.patch

diff --git a/gnu/packages/patches/ruby-hydra-no-byebug.patch b/gnu/packages/patches/ruby-hydra-no-byebug.patch
new file mode 100644
index 0000000000..902d32a30a
--- /dev/null
+++ b/gnu/packages/patches/ruby-hydra-no-byebug.patch
@@ -0,0 +1,9 @@
+diff --git a/lib/hydra.rb b/lib/hydra.rb
+index 29fbad2..6b5058a 100644
+--- a/lib/hydra.rb
++++ b/lib/hydra.rb
+@@ -1,4 +1,3 @@
+-require 'byebug' unless ENV['RACK_ENV'] == "production"
+ require 'pp'
+ 
+ module CoreExt
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 54dcae9089..2622bf717a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3124,24 +3124,39 @@ (define-public ruby-hashdiff
     (home-page "https://github.com/liufengyun/hashdiff")
     (license license:expat)))
 
-(define-public ruby-hydra
+(define-public ruby-hydra-minimal
   ;; No releases yet.
   (let ((commit "5abfa378743756ae4d9306cc134bcc482f5c9525")
         (revision "0"))
     (package
-      (name "ruby-hydra")
+      (name "ruby-hydra-minimal")
       (version (git-version "0.0" revision commit))
       (home-page "https://github.com/hyphenation/hydra")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference (url home-page) (commit commit)))
                 (file-name (git-file-name name version))
+                ;; byebug is a non-essential debugging utility that brings in
+                ;; many dependencies.
+                (patches (search-patches "ruby-hydra-no-byebug.patch"))
                 (sha256
                  (base32
                   "1cik398l2765y3d9sdhjzki3303hkry58ac6jlkiy7iy62nm529f"))))
       (build-system ruby-build-system)
       (arguments
-       '(#:phases (modify-phases %standard-phases
+       ;; Avoid rspec dependency.
+       '(#:tests? #f))
+      (synopsis "Ruby hyphenation patterns")
+      (description
+       "ruby-hydra-minimal is a Ruby library for working with hyphenation patterns. It is a low-dependency variant of ruby-hydra.")
+      (license license:expat))))
+
+(define-public ruby-hydra
+  (package
+    (inherit ruby-hydra-minimal)
+    (name "ruby-hydra")
+    (arguments
+        '(#:phases (modify-phases %standard-phases
                     (add-after 'unpack 'make-files-writable
                       (lambda _
                         (for-each make-file-writable (find-files "."))
@@ -3149,14 +3164,12 @@ (define-public ruby-hydra
                     (replace 'check
                       (lambda _
                         (invoke "rspec"))))))
-      (native-inputs
-       (list ruby-rspec))
-      (propagated-inputs
-       (list ruby-byebug))
-      (synopsis "Ruby hyphenation patterns")
-      (description
-       "ruby-hydra is a Ruby library for working with hyphenation patterns.")
-      (license license:expat))))
+    (native-inputs
+     (list ruby-rspec))
+    (propagated-inputs
+     (list ruby-byebug))
+    (description
+     "ruby-hydra is a Ruby library for working with hyphenation patterns.")))
 
 (define-public ruby-shindo
   (package
-- 
2.36.1





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

* [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
  2022-06-15 15:04 ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Tom Fitzhenry
@ 2022-06-15 15:04   ` Tom Fitzhenry
  2022-06-15 21:06     ` Maxime Devos
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 3/4] gnu: unpin ruby-nokogiri-diff's ruby-nokogiri Tom Fitzhenry
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-15 15:04 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

Motivation: Break the dependency chain from guix to mariadb.

Prior to this patch:

$ guix graph --path guix mariadb
guix@1.3.0-27.598f728
po4a@0.63
texlive-tiny@59745
texlive-latex-base@59745
texlive-hyphen-afrikaans@59745
ruby-hydra@0.0-0.5abfa37
ruby-byebug@11.1.3
ruby-rubocop@1.10.0
ruby-parallel@1.21.0
ruby-mysql2@0.5.2
mariadb@10.5.12

As of this patch:

$ ./pre-inst-env guix graph --path guix mariadb
guix graph: error: no path from 'guix@1.3.0-27.598f728' to 'mariadb@10.5.12'

* gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch: New file.
* gnu/packages/tex.scm (hyph-utf8-scripts): Add patch.
(texlive-hyphen-package): Depend on ruby-hydra-minimal.
---
 .../patches/texlive-hyph-utf8-no-byebug.patch         | 11 +++++++++++
 gnu/packages/tex.scm                                  |  3 ++-
 2 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch

diff --git a/gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch b/gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch
new file mode 100644
index 0000000000..92d12d6665
--- /dev/null
+++ b/gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch
@@ -0,0 +1,11 @@
+diff --git a/lib/tex/hyphen/language.rb b/lib/tex/hyphen/language.rb
+index 12831417..df6daa39 100644
+--- a/lib/tex/hyphen/language.rb
++++ b/lib/tex/hyphen/language.rb
+@@ -1,6 +1,5 @@
+ require 'yaml'
+ require 'hydra'
+-require 'byebug'
+ 
+ require_relative 'path'
+ 
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 1dd3f09f90..33e2fab23c 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -157,6 +157,7 @@ (define hyph-utf8-scripts
     (file-name (string-append "hyph-utf8-scripts-"
                               (number->string %texlive-revision)
                               "-checkout"))
+    (patches (search-patches "texlive-hyph-utf8-no-byebug.patch"))
     (sha256
      (base32
       "04xzf5gr3ylyh3ls09imrx4mwq3qp1k97r9njzlan6hlff875rx2"))))
@@ -225,7 +226,7 @@ (define (texlive-hyphen-package name code locations hash)
                      (invoke "ruby" "generate-ptex-patterns.rb")))))))))
       (native-inputs
        `(("ruby" ,ruby)
-         ("ruby-hydra" ,ruby-hydra)
+         ("ruby-hydra-minimal" ,ruby-hydra-minimal)
          ("hyph-utf8-scripts" ,hyph-utf8-scripts)))
       (home-page "https://ctan.org/pkg/hyph-utf8"))))
 
-- 
2.36.1





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

* [bug#55997] [PATCH staging 3/4] gnu: unpin ruby-nokogiri-diff's ruby-nokogiri
  2022-06-15 15:04 ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Tom Fitzhenry
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
@ 2022-06-15 15:04   ` Tom Fitzhenry
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 4/4] gnu: Remove unused ruby-nokogiri-1.10 Tom Fitzhenry
  2022-06-19 21:36   ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Thiago Jung Bauermann via Guix-patches via
  3 siblings, 0 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-15 15:04 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

ruby-nokogiri-diff historically had a long reverse dependency set, due to its
reverse dependency of texlive, which was solely via ruby-byebugs.

To avoid ruby-nokogiri updates from triggering rebuilds, ruby-nokogiri-diff
was pinned to ruby-nokogiri-1.10.

However, as of commit "gnu: Remove texlive's dependence on ruby-rspec and
ruby-byebug.", texlive no longer depends on ruby-byebug, and thus updating
ruby-nokogiri won't trigger large rebuilds.

Thus, we are now free to unpin ruby-nokogiri-diff's ruby-nokogiri.

* gnu/packages/ruby.scm (ruby-nokogiri-diff): Unpin ruby-nokogiri version.
---
 gnu/packages/ruby.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2622bf717a..ffa04b52cf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6708,8 +6708,7 @@ (define-public ruby-nokogiri-diff
       (build-system ruby-build-system)
       (propagated-inputs
        (list ruby-tdiff
-             ;; Use a fixed version to prevent rebuilds; see ruby-nokogiri TODO.
-             ruby-nokogiri-1.10))
+             ruby-nokogiri))
       (native-inputs
        (list ruby-rspec ruby-yard ruby-rubygems-tasks))
       (synopsis "Calculate the differences between two XML/HTML documents")
-- 
2.36.1





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

* [bug#55997] [PATCH staging 4/4] gnu: Remove unused ruby-nokogiri-1.10.
  2022-06-15 15:04 ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Tom Fitzhenry
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 3/4] gnu: unpin ruby-nokogiri-diff's ruby-nokogiri Tom Fitzhenry
@ 2022-06-15 15:04   ` Tom Fitzhenry
  2022-06-19 21:36   ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Thiago Jung Bauermann via Guix-patches via
  3 siblings, 0 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-15 15:04 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

As of commit "gnu: unpin ruby-nokogiri-diff's ruby-nokogiri",
ruby-nokogiri-1.10 is unused, so let's remove it.

ruby-nokogiri-1.10's purpose was to cut the dependency graph. Users should use
ruby-nokogiri.

* gnu/packages/ruby.scm (ruby-nokogiri-1.10): Remove variable.
(ruby-nokogiri): Collapse the package inheritance.
---
 gnu/packages/ruby.scm | 48 +++++--------------------------------------
 1 file changed, 5 insertions(+), 43 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ffa04b52cf..b3d8181587 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5030,19 +5030,16 @@ (define-public ruby-mini-portile-2
                (base32
                 "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"))))))
 
-;; TODO: In the next rebuild cycle, provide texlive a version of ruby-hydra
-;; that does not depend on byebug and rspec, so that their dependencies can
-;; be updated more freely.  For now pin this version to avoid rebuilds.
-(define-public ruby-nokogiri-1.10
+(define-public ruby-nokogiri
   (package
     (name "ruby-nokogiri")
-    (version "1.10.9")
+    (version "1.12.5")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "nokogiri" version))
               (sha256
                (base32
-                "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm"))))
+                "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"))))
     (build-system ruby-build-system)
     (arguments
      ;; Tests fail because Nokogiri can only test with an installed extension,
@@ -5051,28 +5048,13 @@ (define-public ruby-nokogiri-1.10
        #:gem-flags (list "--" "--use-system-libraries"
                          (string-append "--with-xml2-include="
                                         (assoc-ref %build-inputs "libxml2")
-                                        "/include/libxml2" ))
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'patch-extconf
-           ;; 'pkg-config' is not included in the GEM_PATH during
-           ;; installation, so we add it directly to the load path.
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((pkg-config (assoc-ref inputs "ruby-pkg-config")))
-               (substitute* "ext/nokogiri/extconf.rb"
-                 (("gem 'pkg-config'.*")
-                  (string-append "$:.unshift '"
-                                 pkg-config "/lib/ruby/vendor_ruby"
-                                 "/gems/pkg-config-"
-                                 ,(package-version ruby-pkg-config)
-                                 "/lib'\n"))))
-             #t)))))
+                                        "/include/libxml2" ))))
     (native-inputs
      (list ruby-hoe))
     (inputs
      (list zlib libxml2 libxslt))
     (propagated-inputs
-     (list ruby-mini-portile-2 ruby-pkg-config))
+     (list ruby-mini-portile-2.6.1 ruby-pkg-config))
     (synopsis "HTML, XML, SAX, and Reader parser for Ruby")
     (description "Nokogiri (鋸) parses and searches XML/HTML, and features
 both CSS3 selector and XPath 1.0 support.")
@@ -5091,26 +5073,6 @@ (define-public ruby-mini-portile-2.6.1
                (base32
                 "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"))))))
 
-(define-public ruby-nokogiri
-  (package
-    (inherit ruby-nokogiri-1.10)
-    (version "1.12.5")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "nokogiri" version))
-              (sha256
-               (base32
-                "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"))))
-    (arguments
-     '(#:tests? #f                      ;XXX: no tests in rubygem
-       #:gem-flags (list "--" "--use-system-libraries"
-                         (string-append "--with-xml2-include="
-                                        (assoc-ref %build-inputs "libxml2")
-                                        "/include/libxml2"))))
-    (propagated-inputs
-     (modify-inputs (package-propagated-inputs ruby-nokogiri-1.10)
-       (replace "ruby-mini-portile" ruby-mini-portile-2.6.1)))))
-
 (define-public ruby-method-source
   (package
     (name "ruby-method-source")
-- 
2.36.1





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

* [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
@ 2022-06-15 21:06     ` Maxime Devos
  2022-06-19 14:01       ` Tom Fitzhenry
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Devos @ 2022-06-15 21:06 UTC (permalink / raw)
  To: Tom Fitzhenry, 55997

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

Tom Fitzhenry schreef op do 16-06-2022 om 01:04 [+1000]:
> +index 12831417..df6daa39 100644
> +--- a/lib/tex/hyphen/language.rb
> ++++ b/lib/tex/hyphen/language.rb
> +@@ -1,6 +1,5 @@
> + require 'yaml'
> + require 'hydra'
> +-require 'byebug'
> + 
> + require_relative 'path'
> + 

I recommend a small description: ’Avoid dependency on byebug to reduce
package closure significantly, see https://issues.guix.gnu.org/55997’.
Also, patches need to be added to gnu/local.mk because $reasons.

>      (sha256
>       (base32
>        "04xzf5gr3ylyh3ls09imrx4mwq3qp1k97r9njzlan6hlff875rx2"))))
> @@ -225,7 +226,7 @@ (define (texlive-hyphen-package name code locations hash)
>                       (invoke "ruby" "generate-ptex-patterns.rb")))))))))

>        (native-inputs
>         `(("ruby" ,ruby)
> -         ("ruby-hydra" ,ruby-hydra)
> +         ("ruby-hydra-minimal" ,ruby-hydra-minimal)
>           ("hyph-utf8-scripts" ,hyph-utf8-scripts)))

While we are rebuilding anyway, could you eliminate input labels (in a
separate patch)?

(native-inputs (list ruby ruby-hydra-minimal hyph-utf8-scripts))


Anyway, the concept looks good to me, though I haven't done any
practical testing!

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
  2022-06-15 21:06     ` Maxime Devos
@ 2022-06-19 14:01       ` Tom Fitzhenry
  2022-06-19 14:47         ` Maxime Devos
  0 siblings, 1 reply; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-19 14:01 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 55997

Maxime Devos <maximedevos@telenet.be> writes:
> I recommend a small description: ’Avoid dependency on byebug to reduce
> package closure significantly, see https://issues.guix.gnu.org/55997’.
> Also, patches need to be added to gnu/local.mk because $reasons.

SGTM. I'll add this to v2.

> While we are rebuilding anyway, could you eliminate input labels (in a
> separate patch)?
>
> (native-inputs (list ruby ruby-hydra-minimal hyph-utf8-scripts))

I tried this, but this causes a build phase failure for
texlive-hyphen-package packages:

--8<---------------cut here---------------start------------->8---
starting phase `build'
error: in phase 'build': uncaught exception:
wrong-type-arg "string-length" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f) 
phase `build' failed after 0.0 seconds
Backtrace:
          10 (primitive-load "/gnu/store/b133miwd62x14d2lsbrsx1dk4rx…")
In guix/build/gnu-build-system.scm:
    906:2  9 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
In ice-9/boot-9.scm:
  1752:10  8 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
    634:9  7 (for-each #<procedure 553260 at guix/build/gnu-build-s…> …)
In ice-9/boot-9.scm:
  1752:10  6 (with-exception-handler _ _ #:unwind? _ # _)
In guix/build/gnu-build-system.scm:
   927:23  5 (_)
In ice-9/eval.scm:
    619:8  4 (_ #(#(#(#(#(#(#(#(#<directory (g…>) …) …) …) …) …) …) …))
In guix/build/utils.scm:
   390:15  3 (copy-recursively #f "scripts" #:log _ # _ #:copy-file _ …)
In unknown file:
           2 (string-length #f)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure string-length: Wrong type argument in position 1 (expecting string): #f
--8<---------------cut here---------------end--------------->8---

The failing line is gnu/packages/tex.scm line 188 [0]:

(copy-recursively
 (assoc-ref inputs "hyph-utf8-scripts") "scripts")

This fails because the assoc-ref call returns #f, presumably because
native-inputs is no longer an alist.

To try to find a new-style way to recursively copy an entire input, I
read https://guix.gnu.org/blog/2021/the-big-change/ and searched the
codebase, but I was unable to find any.

The closest I could find was to use search-input-directory, but 
this seems to only be suitable to copy known subdirectories across all
inputs, not an entire single input.

Do you know of any way/examples to recursively copy entire single inputs?

> Anyway, the concept looks good to me, though I haven't done any
> practical testing!

Great! I will provide testing details in v2.

0. https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/tex.scm?id=793ce82c9d5ead8457da9cec8d1d8afc12704f10#n188




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

* [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
  2022-06-19 14:01       ` Tom Fitzhenry
@ 2022-06-19 14:47         ` Maxime Devos
  0 siblings, 0 replies; 18+ messages in thread
From: Maxime Devos @ 2022-06-19 14:47 UTC (permalink / raw)
  To: Tom Fitzhenry; +Cc: 55997

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

Tom Fitzhenry schreef op ma 20-06-2022 om 00:01 [+1000]:
> (copy-recursively
>  (assoc-ref inputs "hyph-utf8-scripts") "scripts")
> 
> This fails because the assoc-ref call returns #f, presumably because
> native-inputs is no longer an alist.

It's still an alist under the hood.

> To try to find a new-style way to recursively copy an entire input, I
> read https://guix.gnu.org/blog/2021/the-big-change/ and searched the
> codebase, but I was unable to find any.
> 
> The closest I could find was to use search-input-directory, but 
> this seems to only be suitable to copy known subdirectories across
> all inputs, not an entire single input.

Two options: insert the input directly into the G-exp:

 (copy-recursively #+hyph-utf8-scripts "scripts")

or: search for a file in hyph-utf8-scripts and then extract the
directory name:

 (copy-recursively (dirname (search-input-file inputs "hyph-utf8.rb"))
                   "scripts")

.  I'd prefer the latter because that makes it easier to define a
custom texlive-hyphen-... package replacing hyph-utf8-scripts by a
custom hyph-utf8-scripts by using simple package transformations (e.g.:
inherit + replace the native-inputs).

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal.
  2022-06-15 15:04 ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Tom Fitzhenry
                     ` (2 preceding siblings ...)
  2022-06-15 15:04   ` [bug#55997] [PATCH staging 4/4] gnu: Remove unused ruby-nokogiri-1.10 Tom Fitzhenry
@ 2022-06-19 21:36   ` Thiago Jung Bauermann via Guix-patches via
  3 siblings, 0 replies; 18+ messages in thread
From: Thiago Jung Bauermann via Guix-patches via @ 2022-06-19 21:36 UTC (permalink / raw)
  To: Tom Fitzhenry; +Cc: 55997


Hello Tom,

Nice series! Thanks for tackling this issue.

I read all patches, and have only one minor suggestion about this one,
apart from what Maxime already mentioned.

Tom Fitzhenry <tom@tom-fitzhenry.me.uk> writes:

> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -3124,24 +3124,39 @@ (define-public ruby-hashdiff
>      (home-page "https://github.com/liufengyun/hashdiff")
>      (license license:expat)))
>  
> -(define-public ruby-hydra
> +(define-public ruby-hydra-minimal
>    ;; No releases yet.
>    (let ((commit "5abfa378743756ae4d9306cc134bcc482f5c9525")
>          (revision "0"))
>      (package
> -      (name "ruby-hydra")
> +      (name "ruby-hydra-minimal")
>        (version (git-version "0.0" revision commit))
>        (home-page "https://github.com/hyphenation/hydra")
>        (source (origin
>                  (method git-fetch)
>                  (uri (git-reference (url home-page) (commit commit)))
>                  (file-name (git-file-name name version))
> +                ;; byebug is a non-essential debugging utility that brings in
> +                ;; many dependencies.
> +                (patches (search-patches "ruby-hydra-no-byebug.patch"))
>                  (sha256
>                   (base32
>                    "1cik398l2765y3d9sdhjzki3303hkry58ac6jlkiy7iy62nm529f"))))
>        (build-system ruby-build-system)
>        (arguments
> -       '(#:phases (modify-phases %standard-phases
> +       ;; Avoid rspec dependency.
> +       '(#:tests? #f))
> +      (synopsis "Ruby hyphenation patterns")
> +      (description
> +       "ruby-hydra-minimal is a Ruby library for working with hyphenation patterns. It is a low-dependency variant of ruby-hydra.")

guix lint has two complaints about this description:

    gnu/packages/ruby.scm:3151:7: ruby-hydra-minimal@0.0-0.5abfa37:
    sentences in description should be followed by two spaces; possible
    infraction at 74
    gnu/packages/ruby.scm:3151:0: ruby-hydra-minimal@0.0-0.5abfa37: line
    3151 is way too long (131 characters)

One suggestion to solve both is to put the second sentence in its own line.

> +      (license license:expat))))
> +
> +(define-public ruby-hydra
> +  (package
> +    (inherit ruby-hydra-minimal)
> +    (name "ruby-hydra")
> +    (arguments
> +        '(#:phases (modify-phases %standard-phases
>                      (add-after 'unpack 'make-files-writable
>                        (lambda _
>                          (for-each make-file-writable (find-files "."))

When I saw this patch I thought that ruby-hydra would also inherit the
“#:tests? #f” argument from its parent, but this construction overrides
the whole arguments list instead. Nice, I learned something new today. :-)

-- 
Thanks
Thiago




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

* [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb.
  2022-06-15 14:58 [bug#55997] [PATCH staging 0/4] Remove texlive's dependence on mariadb Tom Fitzhenry
  2022-06-15 15:04 ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Tom Fitzhenry
@ 2022-06-24 11:08 ` Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 1/5] gnu: Add ruby-hydra-minimal Tom Fitzhenry
                     ` (6 more replies)
  1 sibling, 7 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-24 11:08 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

While rebuilding my simple server, I noticed mariadb being compiled, which
didn't seem right.

$ guix graph --path guix mariadb
guix@1.3.0-27.598f728
po4a@0.63
texlive-tiny@59745
texlive-latex-base@59745
texlive-hyphen-afrikaans@59745
ruby-hydra@0.0-0.5abfa37
ruby-byebug@11.1.3
ruby-rubocop@1.10.0
ruby-parallel@1.21.0
ruby-mysql2@0.5.2
mariadb@10.5.12

This patch series cuts the texlive to ruby-byebug dependency, by introducing
ruby-hydra-minimal, a minimal variant of ruby-hydra that doesn't depend on
ruby-byebug.

This also enabled the cleanup of ruby-nokogiri-1.10.

Tests performed:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build guix ruby-hydra-minimal ruby-hydra ruby-nokogiri-diff texlive-hyphen-afrikaans
[... success ...]
$ ./pre-inst-env guix style      ruby-hydra-minimal ruby-hydra ruby-nokogiri-diff texlive-hyphen-afrikaans
[... ignored unrelated changes ...]
$ ./pre-inst-env guix lint       ruby-hydra-minimal ruby-hydra ruby-nokogiri-diff texlive-hyphen-afrikaans
gnu/packages/ruby.scm:3135:14: warning: no tags were found for ruby-hydra-minimal
gnu/packages/ruby.scm:3135:14: ruby-hydra-minimal@0.0-0.5abfa37: updater 'github' failed to find upstream releases
gnu/packages/ruby.scm:3160:8: ruby-hydra@0.0-0.5abfa37: the 'check' phase should respect #:tests?
gnu/packages/ruby.scm:3156:2: warning: no tags were found for ruby-hydra
gnu/packages/ruby.scm:3156:2: ruby-hydra@0.0-0.5abfa37: updater 'github' failed to find upstream releases
gnu/packages/tex.scm:1647:2: texlive-hyphen-afrikaans@59745: no updater for texlive-hyphen-afrikaans
gnu/packages/tex.scm:1647:2: texlive-hyphen-afrikaans@59745: source not archived on Software Heritage and missing from the Disarchive database
--8<---------------cut here---------------end--------------->8---


Changes since v1:
* Added a Description field to the patches.
* Removed input labels on texlive-hyphen-package.
* lint: Renamed the patch filename to begin with the package name.
* lint: Split long line.


Tom Fitzhenry (5):
  gnu: Add ruby-hydra-minimal.
  gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
  gnu: Unpin ruby-nokogiri-diff's ruby-nokogiri
  gnu: Remove unused ruby-nokogiri-1.10.
  gnu: texlive-hyphen-package: Remove input labels.

 gnu/local.mk                                  |  2 +
 .../ruby-hydra-minimal-no-byebug.patch        | 11 +++
 .../patches/texlive-hyph-utf8-no-byebug.patch | 13 +++
 gnu/packages/ruby.scm                         | 87 +++++++------------
 gnu/packages/tex.scm                          |  8 +-
 5 files changed, 61 insertions(+), 60 deletions(-)
 create mode 100644 gnu/packages/patches/ruby-hydra-minimal-no-byebug.patch
 create mode 100644 gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch


base-commit: 66e3adcad8cb07962d75e89d562057ded9946348
-- 
2.36.1





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

* [bug#55997] [PATCH staging v2 1/5] gnu: Add ruby-hydra-minimal.
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
@ 2022-06-24 11:08   ` Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 2/5] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-24 11:08 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

* gnu/local.mk (dist_patch_DATA): Add ruby-hydra-minimal-no-byebug.patch.
* gnu/packages/patches/ruby-hydra-minimal-no-byebug.patch: New file.
* gnu/packages/ruby.scm (ruby-hydra): Refactor to inherit from ruby-hydra-minimal.
(ruby-hydra-minimal): New variable.
---
 gnu/local.mk                                  |  1 +
 .../ruby-hydra-minimal-no-byebug.patch        | 11 ++++++
 gnu/packages/ruby.scm                         | 36 +++++++++++++------
 3 files changed, 37 insertions(+), 11 deletions(-)
 create mode 100644 gnu/packages/patches/ruby-hydra-minimal-no-byebug.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index f8ccbd34ec..6653ff0240 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1767,6 +1767,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \
   %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
   %D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \
+  %D%/packages/patches/ruby-hydra-minimal-no-byebug.patch		\
   %D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
   %D%/packages/patches/ruby-sanitize-system-libxml.patch	\
   %D%/packages/patches/rustc-1.39.0-src.patch			\
diff --git a/gnu/packages/patches/ruby-hydra-minimal-no-byebug.patch b/gnu/packages/patches/ruby-hydra-minimal-no-byebug.patch
new file mode 100644
index 0000000000..7b338ca03e
--- /dev/null
+++ b/gnu/packages/patches/ruby-hydra-minimal-no-byebug.patch
@@ -0,0 +1,11 @@
+Description: Avoid dependency on byebug to reduce package closure
+  significantly, see https://issues.guix.gnu.org/55997
+diff --git a/lib/hydra.rb b/lib/hydra.rb
+index 29fbad2..6b5058a 100644
+--- a/lib/hydra.rb
++++ b/lib/hydra.rb
+@@ -1,4 +1,3 @@
+-require 'byebug' unless ENV['RACK_ENV'] == "production"
+ require 'pp'
+ 
+ module CoreExt
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 800ab194fe..4c66e14a68 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3124,24 +3124,40 @@ (define-public ruby-hashdiff
     (home-page "https://github.com/liufengyun/hashdiff")
     (license license:expat)))
 
-(define-public ruby-hydra
+(define-public ruby-hydra-minimal
   ;; No releases yet.
   (let ((commit "5abfa378743756ae4d9306cc134bcc482f5c9525")
         (revision "0"))
     (package
-      (name "ruby-hydra")
+      (name "ruby-hydra-minimal")
       (version (git-version "0.0" revision commit))
       (home-page "https://github.com/hyphenation/hydra")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference (url home-page) (commit commit)))
                 (file-name (git-file-name name version))
+                ;; byebug is a non-essential debugging utility that brings in
+                ;; many dependencies.
+                (patches (search-patches "ruby-hydra-minimal-no-byebug.patch"))
                 (sha256
                  (base32
                   "1cik398l2765y3d9sdhjzki3303hkry58ac6jlkiy7iy62nm529f"))))
       (build-system ruby-build-system)
       (arguments
-       '(#:phases (modify-phases %standard-phases
+       ;; Avoid rspec dependency.
+       '(#:tests? #f))
+      (synopsis "Ruby hyphenation patterns")
+      (description
+       "ruby-hydra-minimal is a Ruby library for working with hyphenation patterns.
+It is a low-dependency variant of ruby-hydra.")
+      (license license:expat))))
+
+(define-public ruby-hydra
+  (package
+    (inherit ruby-hydra-minimal)
+    (name "ruby-hydra")
+    (arguments
+        '(#:phases (modify-phases %standard-phases
                     (add-after 'unpack 'make-files-writable
                       (lambda _
                         (for-each make-file-writable (find-files "."))
@@ -3149,14 +3165,12 @@ (define-public ruby-hydra
                     (replace 'check
                       (lambda _
                         (invoke "rspec"))))))
-      (native-inputs
-       (list ruby-rspec))
-      (propagated-inputs
-       (list ruby-byebug))
-      (synopsis "Ruby hyphenation patterns")
-      (description
-       "ruby-hydra is a Ruby library for working with hyphenation patterns.")
-      (license license:expat))))
+    (native-inputs
+     (list ruby-rspec))
+    (propagated-inputs
+     (list ruby-byebug))
+    (description
+     "ruby-hydra is a Ruby library for working with hyphenation patterns.")))
 
 (define-public ruby-shindo
   (package
-- 
2.36.1





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

* [bug#55997] [PATCH staging v2 2/5] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 1/5] gnu: Add ruby-hydra-minimal Tom Fitzhenry
@ 2022-06-24 11:08   ` Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 3/5] gnu: Unpin ruby-nokogiri-diff's ruby-nokogiri Tom Fitzhenry
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-24 11:08 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

Motivation: Break the dependency chain from guix to mariadb.

Prior to this patch:

$ guix graph --path guix mariadb
guix@1.3.0-27.598f728
po4a@0.63
texlive-tiny@59745
texlive-latex-base@59745
texlive-hyphen-afrikaans@59745
ruby-hydra@0.0-0.5abfa37
ruby-byebug@11.1.3
ruby-rubocop@1.10.0
ruby-parallel@1.21.0
ruby-mysql2@0.5.2
mariadb@10.5.12

As of this patch:

$ ./pre-inst-env guix graph --path guix mariadb
guix graph: error: no path from 'guix@1.3.0-27.598f728' to 'mariadb@10.5.12'

* gnu/local.mk (dist_patch_DATA): Add texlive-hyph-utf8-no-byebug.patch.
* gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch: New file.
* gnu/packages/tex.scm (hyph-utf8-scripts): Add patch.
(texlive-hyphen-package): Depend on ruby-hydra-minimal.
---
 gnu/local.mk                                        |  1 +
 .../patches/texlive-hyph-utf8-no-byebug.patch       | 13 +++++++++++++
 gnu/packages/tex.scm                                |  3 ++-
 3 files changed, 16 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 6653ff0240..c2fd5a1cf1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1845,6 +1845,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/telegram-purple-adjust-test.patch	\
   %D%/packages/patches/texi2html-document-encoding.patch	\
   %D%/packages/patches/texi2html-i18n.patch			\
+  %D%/packages/patches/texlive-hyph-utf8-no-byebug.patch	\
   %D%/packages/patches/thefuck-test-environ.patch		\
   %D%/packages/patches/tidy-CVE-2015-5522+5523.patch		\
   %D%/packages/patches/timescaledb-flaky-test.patch		\
diff --git a/gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch b/gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch
new file mode 100644
index 0000000000..fb29b76ef2
--- /dev/null
+++ b/gnu/packages/patches/texlive-hyph-utf8-no-byebug.patch
@@ -0,0 +1,13 @@
+Description: Avoid dependency on byebug to reduce package closure
+  significantly, see https://issues.guix.gnu.org/55997
+diff --git a/lib/tex/hyphen/language.rb b/lib/tex/hyphen/language.rb
+index 12831417..df6daa39 100644
+--- a/lib/tex/hyphen/language.rb
++++ b/lib/tex/hyphen/language.rb
+@@ -1,6 +1,5 @@
+ require 'yaml'
+ require 'hydra'
+-require 'byebug'
+ 
+ require_relative 'path'
+ 
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index de0a6d347c..2eb27fa057 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -157,6 +157,7 @@ (define hyph-utf8-scripts
     (file-name (string-append "hyph-utf8-scripts-"
                               (number->string %texlive-revision)
                               "-checkout"))
+    (patches (search-patches "texlive-hyph-utf8-no-byebug.patch"))
     (sha256
      (base32
       "04xzf5gr3ylyh3ls09imrx4mwq3qp1k97r9njzlan6hlff875rx2"))))
@@ -225,7 +226,7 @@ (define (texlive-hyphen-package name code locations hash)
                      (invoke "ruby" "generate-ptex-patterns.rb")))))))))
       (native-inputs
        `(("ruby" ,ruby)
-         ("ruby-hydra" ,ruby-hydra)
+         ("ruby-hydra-minimal" ,ruby-hydra-minimal)
          ("hyph-utf8-scripts" ,hyph-utf8-scripts)))
       (home-page "https://ctan.org/pkg/hyph-utf8"))))
 
-- 
2.36.1





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

* [bug#55997] [PATCH staging v2 3/5] gnu: Unpin ruby-nokogiri-diff's ruby-nokogiri
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 1/5] gnu: Add ruby-hydra-minimal Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 2/5] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
@ 2022-06-24 11:08   ` Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 4/5] gnu: Remove unused ruby-nokogiri-1.10 Tom Fitzhenry
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-24 11:08 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

ruby-nokogiri-diff historically had a long reverse dependency set, due to its
reverse dependency of texlive, which was solely via ruby-byebugs.

To avoid ruby-nokogiri updates from triggering rebuilds, ruby-nokogiri-diff
was pinned to ruby-nokogiri-1.10.

However, as of commit "gnu: Remove texlive's dependence on ruby-rspec and
ruby-byebug.", texlive no longer depends on ruby-byebug, and thus updating
ruby-nokogiri won't trigger large rebuilds.

Thus, we are now free to unpin ruby-nokogiri-diff's ruby-nokogiri.

* gnu/packages/ruby.scm (ruby-nokogiri-diff): Unpin ruby-nokogiri version.
---
 gnu/packages/ruby.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4c66e14a68..7119898fbc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6740,8 +6740,7 @@ (define-public ruby-nokogiri-diff
       (build-system ruby-build-system)
       (propagated-inputs
        (list ruby-tdiff
-             ;; Use a fixed version to prevent rebuilds; see ruby-nokogiri TODO.
-             ruby-nokogiri-1.10))
+             ruby-nokogiri))
       (native-inputs
        (list ruby-rspec ruby-yard ruby-rubygems-tasks))
       (synopsis "Calculate the differences between two XML/HTML documents")
-- 
2.36.1





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

* [bug#55997] [PATCH staging v2 4/5] gnu: Remove unused ruby-nokogiri-1.10.
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
                     ` (2 preceding siblings ...)
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 3/5] gnu: Unpin ruby-nokogiri-diff's ruby-nokogiri Tom Fitzhenry
@ 2022-06-24 11:08   ` Tom Fitzhenry
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 5/5] gnu: texlive-hyphen-package: Remove input labels Tom Fitzhenry
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-24 11:08 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

As of commit "gnu: unpin ruby-nokogiri-diff's ruby-nokogiri",
ruby-nokogiri-1.10 is unused, so let's remove it.

ruby-nokogiri-1.10's purpose was to cut the dependency graph. Users should use
ruby-nokogiri.

* gnu/packages/ruby.scm (ruby-nokogiri-1.10): Remove variable.
(ruby-nokogiri): Collapse the package inheritance.
---
 gnu/packages/ruby.scm | 48 +++++--------------------------------------
 1 file changed, 5 insertions(+), 43 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7119898fbc..d765a2c8ff 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5031,19 +5031,16 @@ (define-public ruby-mini-portile-2
                (base32
                 "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"))))))
 
-;; TODO: In the next rebuild cycle, provide texlive a version of ruby-hydra
-;; that does not depend on byebug and rspec, so that their dependencies can
-;; be updated more freely.  For now pin this version to avoid rebuilds.
-(define-public ruby-nokogiri-1.10
+(define-public ruby-nokogiri
   (package
     (name "ruby-nokogiri")
-    (version "1.10.9")
+    (version "1.12.5")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "nokogiri" version))
               (sha256
                (base32
-                "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm"))))
+                "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"))))
     (build-system ruby-build-system)
     (arguments
      ;; Tests fail because Nokogiri can only test with an installed extension,
@@ -5052,28 +5049,13 @@ (define-public ruby-nokogiri-1.10
        #:gem-flags (list "--" "--use-system-libraries"
                          (string-append "--with-xml2-include="
                                         (assoc-ref %build-inputs "libxml2")
-                                        "/include/libxml2" ))
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'patch-extconf
-           ;; 'pkg-config' is not included in the GEM_PATH during
-           ;; installation, so we add it directly to the load path.
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((pkg-config (assoc-ref inputs "ruby-pkg-config")))
-               (substitute* "ext/nokogiri/extconf.rb"
-                 (("gem 'pkg-config'.*")
-                  (string-append "$:.unshift '"
-                                 pkg-config "/lib/ruby/vendor_ruby"
-                                 "/gems/pkg-config-"
-                                 ,(package-version ruby-pkg-config)
-                                 "/lib'\n"))))
-             #t)))))
+                                        "/include/libxml2" ))))
     (native-inputs
      (list ruby-hoe))
     (inputs
      (list zlib libxml2 libxslt))
     (propagated-inputs
-     (list ruby-mini-portile-2 ruby-pkg-config))
+     (list ruby-mini-portile-2.6.1 ruby-pkg-config))
     (synopsis "HTML, XML, SAX, and Reader parser for Ruby")
     (description "Nokogiri (鋸) parses and searches XML/HTML, and features
 both CSS3 selector and XPath 1.0 support.")
@@ -5092,26 +5074,6 @@ (define-public ruby-mini-portile-2.6.1
                (base32
                 "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"))))))
 
-(define-public ruby-nokogiri
-  (package
-    (inherit ruby-nokogiri-1.10)
-    (version "1.12.5")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "nokogiri" version))
-              (sha256
-               (base32
-                "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"))))
-    (arguments
-     '(#:tests? #f                      ;XXX: no tests in rubygem
-       #:gem-flags (list "--" "--use-system-libraries"
-                         (string-append "--with-xml2-include="
-                                        (assoc-ref %build-inputs "libxml2")
-                                        "/include/libxml2"))))
-    (propagated-inputs
-     (modify-inputs (package-propagated-inputs ruby-nokogiri-1.10)
-       (replace "ruby-mini-portile" ruby-mini-portile-2.6.1)))))
-
 (define-public ruby-method-source
   (package
     (name "ruby-method-source")
-- 
2.36.1





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

* [bug#55997] [PATCH staging v2 5/5] gnu: texlive-hyphen-package: Remove input labels.
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
                     ` (3 preceding siblings ...)
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 4/5] gnu: Remove unused ruby-nokogiri-1.10 Tom Fitzhenry
@ 2022-06-24 11:08   ` Tom Fitzhenry
  2022-06-29  9:32   ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
  2022-08-08 15:25   ` bug#55997: [PATCH staging 0/4] " Ludovic Courtès
  6 siblings, 0 replies; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-24 11:08 UTC (permalink / raw)
  To: 55997; +Cc: Tom Fitzhenry

* gnu/packages/tex.scm (texlive-hyphen-package): Remove input labels.
---
 gnu/packages/tex.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 2eb27fa057..e7f20bbea3 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -187,7 +187,8 @@ (define (texlive-hyphen-package name code locations hash)
                          (string-append root "/tex/generic/hyph-utf8/patterns/quote")))
                    (mkdir "scripts")
                    (copy-recursively
-                    (assoc-ref inputs "hyph-utf8-scripts") "scripts")
+                    (dirname (search-input-file inputs "hyph-utf8.rb"))
+                    "scripts")
 
                    ;; Prepare target directories
                    (mkdir-p patterns)
@@ -225,9 +226,7 @@ (define (texlive-hyphen-package name code locations hash)
                         (string-append "File.join(\"" ptex "\"")))
                      (invoke "ruby" "generate-ptex-patterns.rb")))))))))
       (native-inputs
-       `(("ruby" ,ruby)
-         ("ruby-hydra-minimal" ,ruby-hydra-minimal)
-         ("hyph-utf8-scripts" ,hyph-utf8-scripts)))
+       (list ruby ruby-hydra-minimal hyph-utf8-scripts))
       (home-page "https://ctan.org/pkg/hyph-utf8"))))
 
 (define texlive-extra-src
-- 
2.36.1





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

* [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb.
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
                     ` (4 preceding siblings ...)
  2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 5/5] gnu: texlive-hyphen-package: Remove input labels Tom Fitzhenry
@ 2022-06-29  9:32   ` Tom Fitzhenry
  2022-07-01  2:07     ` Thiago Jung Bauermann via Guix-patches via
  2022-08-08 15:25   ` bug#55997: [PATCH staging 0/4] " Ludovic Courtès
  6 siblings, 1 reply; 18+ messages in thread
From: Tom Fitzhenry @ 2022-06-29  9:32 UTC (permalink / raw)
  To: 55997

Tom Fitzhenry <tom@tom-fitzhenry.me.uk> writes:
> Tests performed:
>
> $ ./pre-inst-env guix build guix ruby-hydra-minimal ruby-hydra ruby-nokogiri-diff texlive-hyphen-afrikaans
> [... success ...]
> $ ./pre-inst-env guix style      ruby-hydra-minimal ruby-hydra ruby-nokogiri-diff texlive-hyphen-afrikaans
> [... ignored unrelated changes ...]
> $ ./pre-inst-env guix lint       ruby-hydra-minimal ruby-hydra
> ruby-nokogiri-diff texlive-hyphen-afrikaans

Are there any additional tests that I could perform to give confidence
in this patch series?




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

* [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb.
  2022-06-29  9:32   ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
@ 2022-07-01  2:07     ` Thiago Jung Bauermann via Guix-patches via
  0 siblings, 0 replies; 18+ messages in thread
From: Thiago Jung Bauermann via Guix-patches via @ 2022-07-01  2:07 UTC (permalink / raw)
  To: Tom Fitzhenry; +Cc: 55997


Hello Tom,

Tom Fitzhenry <tom@tom-fitzhenry.me.uk> writes:

> Tom Fitzhenry <tom@tom-fitzhenry.me.uk> writes:
>> Tests performed:
>>
>> $ ./pre-inst-env guix build guix ruby-hydra-minimal ruby-hydra ruby-nokogiri-diff
>> texlive-hyphen-afrikaans
>> [... success ...]
>> $ ./pre-inst-env guix style ruby-hydra-minimal ruby-hydra ruby-nokogiri-diff
>> texlive-hyphen-afrikaans
>> [... ignored unrelated changes ...]
>> $ ./pre-inst-env guix lint       ruby-hydra-minimal ruby-hydra
>> ruby-nokogiri-diff texlive-hyphen-afrikaans
>
> Are there any additional tests that I could perform to give confidence
> in this patch series?

These patches look great to me! Thanks for addressing the review
comments.

Sorry for the delay.

-- 
Thanks
Thiago




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

* bug#55997: [PATCH staging 0/4] Remove texlive's dependence on mariadb.
  2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
                     ` (5 preceding siblings ...)
  2022-06-29  9:32   ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
@ 2022-08-08 15:25   ` Ludovic Courtès
  6 siblings, 0 replies; 18+ messages in thread
From: Ludovic Courtès @ 2022-08-08 15:25 UTC (permalink / raw)
  To: Tom Fitzhenry; +Cc: 55997-done, Thiago Jung Bauermann

Hello,

Tom Fitzhenry <tom@tom-fitzhenry.me.uk> skribis:

>   gnu: Add ruby-hydra-minimal.
>   gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.
>   gnu: Unpin ruby-nokogiri-diff's ruby-nokogiri
>   gnu: Remove unused ruby-nokogiri-1.10.
>   gnu: texlive-hyphen-package: Remove input labels.

Finally applied on ‘staging’.

Thanks for this improvement, and thanks Thiago for reviewing!

Ludo’.




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

end of thread, other threads:[~2022-08-08 15:26 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-15 14:58 [bug#55997] [PATCH staging 0/4] Remove texlive's dependence on mariadb Tom Fitzhenry
2022-06-15 15:04 ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Tom Fitzhenry
2022-06-15 15:04   ` [bug#55997] [PATCH staging 2/4] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
2022-06-15 21:06     ` Maxime Devos
2022-06-19 14:01       ` Tom Fitzhenry
2022-06-19 14:47         ` Maxime Devos
2022-06-15 15:04   ` [bug#55997] [PATCH staging 3/4] gnu: unpin ruby-nokogiri-diff's ruby-nokogiri Tom Fitzhenry
2022-06-15 15:04   ` [bug#55997] [PATCH staging 4/4] gnu: Remove unused ruby-nokogiri-1.10 Tom Fitzhenry
2022-06-19 21:36   ` [bug#55997] [PATCH staging 1/4] gnu: Add ruby-hydra-minimal Thiago Jung Bauermann via Guix-patches via
2022-06-24 11:08 ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 1/5] gnu: Add ruby-hydra-minimal Tom Fitzhenry
2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 2/5] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug Tom Fitzhenry
2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 3/5] gnu: Unpin ruby-nokogiri-diff's ruby-nokogiri Tom Fitzhenry
2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 4/5] gnu: Remove unused ruby-nokogiri-1.10 Tom Fitzhenry
2022-06-24 11:08   ` [bug#55997] [PATCH staging v2 5/5] gnu: texlive-hyphen-package: Remove input labels Tom Fitzhenry
2022-06-29  9:32   ` [bug#55997] [PATCH staging v2 0/5] Remove texlive's dependence on mariadb Tom Fitzhenry
2022-07-01  2:07     ` Thiago Jung Bauermann via Guix-patches via
2022-08-08 15:25   ` bug#55997: [PATCH staging 0/4] " Ludovic Courtès

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