mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-24 05:44:13 +00:00
readline: Support building for Windows with MinGW
This commit is specifically designed to avoid a mass rebuild. I'll make a follow-up PR to staging which will make the patches unconditional, etc. Co-Authored-By: Weijia Wang <9713184+wegank@users.noreply.github.com>
This commit is contained in:
parent
77b22b043c
commit
49d6a6ed8d
@ -1,4 +1,10 @@
|
||||
{ fetchurl, stdenv, lib, ncurses
|
||||
{ lib, stdenv
|
||||
, fetchpatch, fetchurl
|
||||
, ncurses, termcap
|
||||
, curses-library ?
|
||||
if stdenv.hostPlatform.isWindows
|
||||
then termcap
|
||||
else ncurses
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -13,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
outputs = [ "out" "dev" "man" "doc" "info" ];
|
||||
|
||||
strictDeps = true;
|
||||
propagatedBuildInputs = [ ncurses ];
|
||||
propagatedBuildInputs = [ curses-library ];
|
||||
|
||||
patchFlags = [ "-p0" ];
|
||||
|
||||
@ -27,11 +33,38 @@ stdenv.mkDerivation rec {
|
||||
in
|
||||
import ./readline-8.2-patches.nix patch);
|
||||
|
||||
patches =
|
||||
[ ./link-against-ncurses.patch
|
||||
./no-arch_only-8.2.patch
|
||||
]
|
||||
++ upstreamPatches;
|
||||
patches = lib.optionals (curses-library.pname == "ncurses") [
|
||||
./link-against-ncurses.patch
|
||||
] ++ [
|
||||
./no-arch_only-8.2.patch
|
||||
]
|
||||
++ upstreamPatches
|
||||
++ lib.optionals stdenv.hostPlatform.isWindows [
|
||||
(fetchpatch {
|
||||
name = "0001-sigwinch.patch";
|
||||
url = "https://github.com/msys2/MINGW-packages/raw/90e7536e3b9c3af55c336d929cfcc32468b2f135/mingw-w64-readline/0001-sigwinch.patch";
|
||||
stripLen = 1;
|
||||
hash = "sha256-sFK6EJrSNl0KLWqFv5zBXaQRuiQoYIZVoZfa8BZqfKA=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0002-event-hook.patch";
|
||||
url = "https://github.com/msys2/MINGW-packages/raw/3476319d2751a676b911f3de9e1ec675081c03b8/mingw-w64-readline/0002-event-hook.patch";
|
||||
stripLen = 1;
|
||||
hash = "sha256-F8ytYuIjBtH83ZCJdf622qjwSw+wZEVyu53E/mPsoAo=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0003-fd_set.patch";
|
||||
url = "https://github.com/msys2/MINGW-packages/raw/35830ab27e5ed35c2a8d486961ab607109f5af50/mingw-w64-readline/0003-fd_set.patch";
|
||||
stripLen = 1;
|
||||
hash = "sha256-UiaXZRPjKecpSaflBMCphI2kqOlcz1JkymlCrtpMng4=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0004-locale.patch";
|
||||
url = "https://github.com/msys2/MINGW-packages/raw/f768c4b74708bb397a77e3374cc1e9e6ef647f20/mingw-w64-readline/0004-locale.patch";
|
||||
stripLen = 1;
|
||||
hash = "sha256-dk4343KP4EWXdRRCs8GRQlBgJFgu1rd79RfjwFD/nJc=";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for interactive line editing";
|
||||
@ -57,7 +90,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.unix ++ platforms.windows;
|
||||
branch = "8.2";
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user