Hi Miguel, Miguel writes: > Hi Tobias, > > Tobias Geerinckx-Rice : >> 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 guix-devel@gnu.org 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<-------------------- Thanks for this! I came up with the following patch to keep the bootstrap mostly unchanged: