Skip to content

Comments

ncurses: 6.2 -> 6.3#146685

Merged
vcunat merged 1 commit intoNixOS:stagingfrom
trofi:update-ncurses
Jan 5, 2022
Merged

ncurses: 6.2 -> 6.3#146685
vcunat merged 1 commit intoNixOS:stagingfrom
trofi:update-ncurses

Conversation

@trofi
Copy link
Contributor

@trofi trofi commented Nov 19, 2021

The biggest nixpkgs-specific change is addition of printf()-style
attribute annotations for many ncurses APIs. -Werror=format-security
now flags parameter inconsistencies and fails the build.

The fixes are usually one-liners like adding "%s" format string for
non-literals or just using hardeningDisable [ "format" ]; for software
where backporting or fixing is not practical.

Almost all of build failures are already sorted in nixpkgs/master (~60 changes).

@trofi trofi marked this pull request as draft November 19, 2021 21:46
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/uncoming-ncurses-6-2-6-3-update/16169/1

@ofborg ofborg bot added 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 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-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. labels Nov 23, 2021
@Mic92
Copy link
Member

Mic92 commented Dec 1, 2021

I merged all out-standing PRs linked here.

@trofi
Copy link
Contributor Author

trofi commented Dec 2, 2021

Thank you!

I asked a hydra run against this PR: https://hydra.nixos.org/jobset/nixpkgs/pr-146685 . Current run is against somewhat older staging state.

My immediate plan is:

  1. [done] Rebase against recent master run : https://hydra.nixos.org/eval/1727143?compare=1727080&full=0
  2. [done] Fix failures against master
  3. [done] Promote this PR from draft.

@trofi trofi changed the base branch from staging to master December 2, 2021 08:48
@ofborg ofborg bot requested a review from edolstra December 2, 2021 22:11
@trofi
Copy link
Contributor Author

trofi commented Dec 4, 2021

New failures found by first hydra run (still ongoing, to be extended):

@trofi
Copy link
Contributor Author

trofi commented Dec 8, 2021

@ofborg ofborg bot requested review from michalrus and prikhi December 9, 2021 00:21
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/uncoming-ncurses-6-2-6-3-update/16169/2

The biggest nixpkgs-specific change is addition of printf()-style
attribute annotations for many ncurses APIs. -Werror=format-security
now flags parameter inconsistencies and fails the build.

The fixes are usually one-liners like adding "%s" format string for
non-literals or just using `hardeningDisable [ "format" ];` for software
where backporting or fixing is not practical.

Drop -DNCURSES_INTERNALS=1 workaround required only for ncurses-6.2
and build-incompatible with ncurses-6.3.
@trofi
Copy link
Contributor Author

trofi commented Dec 16, 2021

All known failures are sorted out. Ready for staging.

The one exception is haskellPackages.ncurses: #148629. We'll give upstream a few days before marking it and it's reverse depends broken.

@trofi trofi marked this pull request as ready for review December 16, 2021 07:58
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/675

@vcunat vcunat changed the base branch from master to staging January 5, 2022 09:32
@vcunat vcunat merged commit 2d3e6f7 into NixOS:staging Jan 5, 2022
@trofi trofi deleted the update-ncurses branch January 5, 2022 21:56
@FliegendeWurst FliegendeWurst added the 1.severity: security Issues which raise a security issue, or PRs that fix one label Jan 19, 2022
@vcunat
Copy link
Member

vcunat commented Jan 24, 2022

Maybe you've seen a similar error already? I see you dropped a flag for this build, but reintroducing it doesn't fix this error.

@trofi
Copy link
Contributor Author

trofi commented Jan 24, 2022

I wonder how I missed it. The other two (rogue and wyrd do build now). The build breakage:

mincurses.c:345:20: error: 'TERMINAL' {aka 'struct term'} has no member named 'Nttyb'
  345 |     term = cur_term->Nttyb;
      |                    ^~

is the result of mirror/ncurses@493e2f7 move internals of TERMINAL structure to new header term.priv.h. which moves TTY Nttyb; field out of public headers completely. I'll try to find an API substitute for it.

@trofi
Copy link
Contributor Author

trofi commented Jan 24, 2022

@trofi
Copy link
Contributor Author

trofi commented Jan 25, 2022

Proposed fix for nixpkgs as #156781

@philiptaron philiptaron mentioned this pull request Jan 6, 2026
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.severity: security Issues which raise a security issue, or PRs that fix one 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants