diff --git a/pkgs/by-name/aa/aalib/ncurses-6.5.patch b/pkgs/by-name/aa/aalib/ncurses-6.5.patch new file mode 100644 index 000000000000..06f47bf038ab --- /dev/null +++ b/pkgs/by-name/aa/aalib/ncurses-6.5.patch @@ -0,0 +1,20 @@ +Without the change build fails on ncurses-6.5 (enables opaque WINDOW by +default) as: + + aacurses.c: In function 'curses_getsize': + aacurses.c:74:20: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} + 74 | *width = stdscr->_maxx + 1; + | ^~ +--- a/src/aacurses.c ++++ b/src/aacurses.c +@@ -71,8 +71,8 @@ static void curses_getsize(aa_context * c, int *width, int *height) + { + if (__resized_curses) + curses_uninit(c), curses_init(&c->params, NULL,&c->driverparams, NULL), __resized_curses = 0; +- *width = stdscr->_maxx + 1; +- *height = stdscr->_maxy + 1; ++ *width = getmaxx(stdscr); ++ *height = getmaxy(stdscr); + #ifdef GPM_MOUSEDRIVER + gpm_mx = *width; + gpm_my = *height; diff --git a/pkgs/by-name/aa/aalib/package.nix b/pkgs/by-name/aa/aalib/package.nix index 2c644233d0ac..b6901e8950ac 100644 --- a/pkgs/by-name/aa/aalib/package.nix +++ b/pkgs/by-name/aa/aalib/package.nix @@ -12,7 +12,12 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" "man" "info" ]; setOutputFlags = false; # Doesn't support all the flags - patches = [ ./clang.patch ] # Fix implicit `int` on `main` error with newer versions of clang + patches = [ + # Fix implicit `int` on `main` error with newer versions of clang + ./clang.patch + # Fix build against opaque aalib API + ./ncurses-6.5.patch + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ./darwin.patch ]; # The fuloong2f is not supported by aalib still