Skip to content

gettext: 0.22.5 -> 0.25#405793

Merged
wegank merged 2 commits intoNixOS:stagingfrom
MisileLab:gettext
Jun 22, 2025
Merged

gettext: 0.22.5 -> 0.25#405793
wegank merged 2 commits intoNixOS:stagingfrom
MisileLab:gettext

Conversation

@MisileLab
Copy link
Contributor

https://savannah.gnu.org/news/?id=10699
https://savannah.gnu.org/news/?id=10730
https://savannah.gnu.org/news/?id=10765
https://savannah.gnu.org/news/?id=10769

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. labels May 10, 2025
@nix-owners nix-owners bot requested a review from zimbatm May 10, 2025 06:03
@wegank wegank mentioned this pull request May 18, 2025
13 tasks
Copy link
Member

@wegank wegank left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stdenv fails to build on darwin:

clang -DHAVE_CONFIG_H -I. -I..  -Iglib -DIN_LIBTEXTSTYLE -DLIBXML_STATIC    -I./libcroco  -DDEPENDS_ON_LIBICONV=1   -g -O2 -w -c iconv-ostream.c
iconv-ostream.c:297:3: error: incompatible function pointer types initializing 'void (*)(iconv_ostream_t, ostream_flush_scope_t)' (aka 'void (*)(struct any_ostream_representation *, ostream_flush_scope_t)') with an expression of type 'void (iconv_ostream_t)' (aka 'void (struct any_ostream_representation *)') [-Wincompatible-function-pointer-types]
  297 |   iconv_ostream__flush,
      |   ^~~~~~~~~~~~~~~~~~~~
1 error generated.
make[4]: *** [Makefile:10540: config.h] Error 1
make[4]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25/libtextstyle/lib'
make[3]: *** [Makefile:2499: all-recursive] Error 1
make[3]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25/libtextstyle'
make[2]: *** [Makefile:2427: all] Error 2
make[2]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25/libtextstyle'
make[1]: *** [Makefile:414: all-recursive] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25'
make: *** [Makefile:370: all] Error 2

@MisileLab
Copy link
Contributor Author

stdenv fails to build on darwin:

clang -DHAVE_CONFIG_H -I. -I..  -Iglib -DIN_LIBTEXTSTYLE -DLIBXML_STATIC    -I./libcroco  -DDEPENDS_ON_LIBICONV=1   -g -O2 -w -c iconv-ostream.c
iconv-ostream.c:297:3: error: incompatible function pointer types initializing 'void (*)(iconv_ostream_t, ostream_flush_scope_t)' (aka 'void (*)(struct any_ostream_representation *, ostream_flush_scope_t)') with an expression of type 'void (iconv_ostream_t)' (aka 'void (struct any_ostream_representation *)') [-Wincompatible-function-pointer-types]
  297 |   iconv_ostream__flush,
      |   ^~~~~~~~~~~~~~~~~~~~
1 error generated.
make[4]: *** [Makefile:10540: config.h] Error 1
make[4]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25/libtextstyle/lib'
make[3]: *** [Makefile:2499: all-recursive] Error 1
make[3]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25/libtextstyle'
make[2]: *** [Makefile:2427: all] Error 2
make[2]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25/libtextstyle'
make[1]: *** [Makefile:414: all-recursive] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-gettext-0.25.drv-0/gettext-0.25'
make: *** [Makefile:370: all] Error 2

Hmm, I don't have a MacBook, feel free to commit to my branch.

@cadkin
Copy link
Contributor

cadkin commented May 29, 2025

Maybe related: #398669

Although, this branch seems to cross compile fine given that everything is using a newer GCC version now. Maybe clang on darwin is lagging behind enough for this problem to crop up here as well?

Either way, a fix might be something similar to this.

@ryand56 ryand56 mentioned this pull request Jun 17, 2025
13 tasks
@github-actions github-actions bot added 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. labels Jun 22, 2025
@wegank
Copy link
Member

wegank commented Jun 22, 2025

Built up to hello on Darwin and git on Linux, let's see how the next staging-next goes...

@wegank wegank merged commit 31a538a into NixOS:staging Jun 22, 2025
25 of 27 checks passed
@trofi
Copy link
Contributor

trofi commented Jun 23, 2025

Broke html2text build on x86_64-linux as:

configure.ac:20: the top level
configure:3512: error: possibly undefined macro: AC_LIB_PREPARE_PREFIX
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure:3513: error: possibly undefined macro: AC_LIB_RPATH
configure:3518: error: possibly undefined macro: AC_LIB_LINKFLAGS_BODY
configure:4808: error: possibly undefined macro: AC_LIB_APPENDTOVAR

@MisileLab MisileLab deleted the gettext branch June 23, 2025 13:06
@wegank
Copy link
Member

wegank commented Jun 23, 2025

I think I know what's going on: the package works with

  # ${gettext}/share/aclocal is gone...
  postPatch = ''
    addToSearchPath "ACLOCAL_PATH" "${gettext}/share/gettext/m4"
  '';

I wonder if adding a symlink is enough to fix this. Another stdenv rebuild on the way...

@wegank
Copy link
Member

wegank commented Jun 23, 2025

Adding the following to pkgs/development/libraries/gettext/default.nix does fix the build of html2text.

  # *.m4 was installed into $out/share/gettext/m4 since gettext 0.24.1
  # the following restores the old behavior
  postInstall = ''
    ln -s $out/share/gettext/m4 $out/share/aclocal
  '';

Upstream seems strongly against this though: https://savannah.gnu.org/support/?111238#comment2

@trofi
Copy link
Contributor

trofi commented Jun 23, 2025

Also broke libmpt in staging on x86_64-linux as:

$ nix build --no-link -f. libmtp -L
libmtp> ./configure: line 14075: AC_LIB_PREPARE_PREFIX: command not found
libmtp> ./configure: line 14076: AC_LIB_RPATH: command not found
libmtp> ./configure: line 14081: syntax error near unexpected token `iconv'
libmtp> ./configure: line 14081: `      AC_LIB_LINKFLAGS_BODY(iconv)'

@trofi
Copy link
Contributor

trofi commented Jun 23, 2025

Also wavpack:

$ nix build --no-link -f. wavpack
...
wavpack> autoreconf: running: /nix/store/sx2zgafk3wnx7pn7ij9yaqm63acpi0c9-autoconf-2.72/bin/autoconf --force
wavpack> configure.ac:64: error: possibly undefined macro: AM_ICONV
wavpack>       If this token and others are legitimate, please use m4_pattern_allow.
wavpack>       See the Autoconf documentation.

And xdg-user-dirs:

$ nix build --no-link -f. xdg-user-dirs -L
...
xdg-user-dirs> configure.ac:17: error: possibly undefined macro: AM_ICONV
xdg-user-dirs>       If this token and others are legitimate, please use m4_pattern_allow.
xdg-user-dirs>       See the Autoconf documentation.
xdg-user-dirs> configure.ac:23: error: possibly undefined macro: AM_GNU_GETTEXT

@trofi
Copy link
Contributor

trofi commented Jun 23, 2025

Also po4a (tests fail, bisect points at gettext update):

$ nix build --no-link -f. po4a -L
...
t/cfg-args.t .......... 7/?
    #   Failed test 'Provided command (retcode: 256)'
    #   at t/Testhelper.pm line 143.
    # Produced file tmp/cfg/windows-CRLF/_cmd_output:
    #   --- cfg/windows-CRLF/single-uptodate.fr.po      2024-06-17 20:10:48.000000000 +0000
    #   +++ tmp/cfg/windows-CRLF/single-uptodate.fr.po  2025-06-23 19:21:55.631979428 +0000
    #   @@ -2,7 +2,7 @@
    #    # Copyright (C) 2020 Free Software Foundation, Inc.
    #    # This file is distributed under the same license as the po package.
    #    # Automatically generated, 2020.
    #   -#
    #   +#
    #    msgid ""
    #    msgstr ""
    #    "Project-Id-Version: po 4a\n"
    # (end of tmp/cfg/windows-CRLF/_cmd_output)
    # -------------------------------------------------------------
...

@wegank
Copy link
Member

wegank commented Jun 24, 2025

  • libmtp: fix available at libmtp/libmtp@5e53ee6.
  • xdg-user-dirs: there's a pending pull request for fixing this.
  • wavpack: nothing upstream; the fix should be similar though.
  • po4a: haven't looked into it yet. But I remember darwin tests were disabled after the gettext 0.21.1 bump and were never re-enabled, so it's probably not that bad to disable the tests everywhere?

@alyssais
Copy link
Member

Fix for wavpack: #420493

@alyssais
Copy link
Member

Upstream report for po4a: mquinson/po4a#580

@alyssais
Copy link
Member

html2text: #420957

@alyssais
Copy link
Member

fuse: #421040
xdg-user-dirs: #420503

@trofi
Copy link
Contributor

trofi commented Jun 30, 2025

Proposed libmtp build fix as:

@alyssais
Copy link
Member

alyssais commented Jul 2, 2025

dosfstools: #421760

@trofi
Copy link
Contributor

trofi commented Jul 4, 2025

Proposed disabling po4a tests as:

@alyssais
Copy link
Member

alyssais commented Jul 7, 2025

Fix for memory safety issue causing crashes on musl: #423179

@TomaSajt
Copy link
Contributor

Opened #425196 for dvdauthor.

I really have no idea what I'm doing, I've never really worked with autotools stuff.

@galenhuntington galenhuntington mentioned this pull request Jul 15, 2025
3 tasks
@picnoir picnoir mentioned this pull request Jul 18, 2025
13 tasks
FraGag added a commit to FraGag/audacious-usf-plugin that referenced this pull request Jul 20, 2025
@jfly jfly mentioned this pull request Jul 21, 2025
13 tasks
Aleksanaa pushed a commit that referenced this pull request Jul 22, 2025
I am far from an autotools expert, but this does make the package
compile again. I cobbled this together from various workarounds posted
on <#405793>.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants