Subject: [PATCH staging v2 2/5] gnu: Remove texlive's dependence on ruby-rspec and ruby-byebug.

From: Tom Fitzhenry <[email-masked]>
Date: Fri, 24 Jun 2022 21:08:35 +1000

Motivation: Break the dependency chain from guix to mariadb.

Prior to this patch:

$ guix graph --path guix mariadb
[email-masked]
[email-masked]
texlive-tiny@59745
texlive-latex-base@59745
texlive-hyphen-afrikaans@59745
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]
[email-masked]

As of this patch:

$ ./pre-inst-env guix graph --path guix mariadb
guix graph: error: no path from [email-masked]' to [email-masked]'

* 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