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<-------------------- Happy hacking, Miguel