Hi Tobias, Tobias Geerinckx-Rice <[email protected]>: > Bruno, > > Wow. Thank you for this great summary! Would that all projects > published such clear (and custom) release notes… <3 > > I see that gnu/packages/gettext.scm has a nice chronological list > of copyright lines, which does make it appear as if I'm the > current packager of gettext in Guix. However, the Guix project > doesn't have this notion of (package) maintainer: everyone > packages, fixes, and updates what they can whenever they can. > This might change in future but it works rather well now. > > For that reason, I'm CC'ing the [email protected] list. I > encourage you to add it to your own for future releases. > > I'm having some trouble with the actual upgrade but I'll save that > for a reply.
What are the issues you have? I could help with that. :-)
I see a big point that need special care: gettext-tools now depends on
libtextstyle, so gettext-boot0 will definitely fail if only
gettext-minimal is updated to the next version.
This is going to be a big big update in any case. We can avoid
the new bootstrap, keeping 0.19.8.1 for it, but we should update
gettext-minimal so it may not worth the effort as probably almost all
the packages will be rebuilt.
My snippet for building it is this one, with some code from
gettext-minimal and it need some work:
-------------------->8--------------------
(define-public gettext-next
(package (inherit gettext-minimal)
(name "gettext-next")
(version "0.20.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
"0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6"))))
(inputs
`(("xml2" ,libxml2)
;; Avoid dependency cycles
("unistring" ,(@ (gnu packages libunistring) libunistring))
("ncurses" ,(@ (gnu packages ncurses) ncurses))))
(arguments
`(#:configure-flags
(list "--with-included-libunistring=no"
"--with-included-libxml=no"
(string-append "--with-libxml2-prefix="
(assoc-ref %build-inputs "xml2"))
(string-append "--with-libncurses-prefix="
(assoc-ref %build-inputs "ncurses"))
(string-append "--with-libtermcap-prefix="
(assoc-ref %build-inputs "ncurses"))
(string-append "--with-libunistring-prefix="
(assoc-ref %build-inputs "unistring")))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-fixed-paths
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bash (which "sh")))
(substitute* '("gettext-tools/config.h.in"
"gettext-tools/gnulib-tests/init.sh"
"gettext-tools/tests/init.sh"
"gettext-tools/system-tests/run-test")
(("/bin/sh")
bash))
(substitute* '("gettext-tools/src/project-id"
"gettext-tools/projects/KDE/trigger"
"gettext-tools/projects/GNOME/trigger")
(("/bin/pwd")
"pwd"))
#t)))
(add-before 'check 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bash (which "sh")))
;; Some of the files we're patching are
;; ISO-8859-1-encoded, so choose it as the default
;; encoding so the byte encoding is preserved.
(with-fluids ((%default-port-encoding #f))
(substitute*
(find-files "gettext-tools/tests"
"^(lang-sh|msg(exec|filter)-[0-9])")
(("#![[:blank:]]/bin/sh")
(format #f "#!~a" bash)))
#t)))))
;; When tests fail, we want to know the details.
#:make-flags '("VERBOSE=yes")))))
--------------------8<--------------------
Happy hacking,
Miguel
pgpO_JRNXDZ5L.pgp
Description: Firma digital OpenPGP
