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