Skip to content

Commit

Permalink
Merge pull request #280099 from obsidiansystems/readline-mingw
Browse files Browse the repository at this point in the history
readline: Support building for Windows with MinGW
  • Loading branch information
Ericson2314 authored Jan 10, 2024
2 parents 0373b68 + 49d6a6e commit 32afa5e
Showing 1 changed file with 41 additions and 8 deletions.
49 changes: 41 additions & 8 deletions pkgs/development/libraries/readline/8.2.nix
Original file line number Diff line number Diff line change
@@ -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 {
Expand All @@ -13,7 +19,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" "man" "doc" "info" ];

strictDeps = true;
propagatedBuildInputs = [ ncurses ];
propagatedBuildInputs = [ curses-library ];

patchFlags = [ "-p0" ];

Expand All @@ -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";
Expand All @@ -57,7 +90,7 @@ stdenv.mkDerivation rec {

maintainers = with maintainers; [ dtzWill ];

platforms = platforms.unix;
platforms = platforms.unix ++ platforms.windows;
branch = "8.2";
};
}

0 comments on commit 32afa5e

Please sign in to comment.