push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
{
fetchurl,
lib,
stdenv,
ncurses,
}:
stdenv.mkDerivation rec {
pname = "readline";
version = "7.0p${toString (builtins.length upstreamPatches)}";
src = fetchurl {
url = "mirror://gnu/readline/readline-${meta.branch}.tar.gz";
sha256 = "0d13sg9ksf982rrrmv5mb6a2p4ys9rvg9r71d6il0vr8hmql63bm";
};
outputs = [
"out"
"dev"
"man"
"doc"
"info"
];
strictDeps = true;
propagatedBuildInputs = [ ncurses ];
patchFlags = [ "-p0" ];
upstreamPatches = (
let
patch =
nr: sha256:
fetchurl {
url = "mirror://gnu/readline/readline-${meta.branch}-patches/readline70-${nr}";
inherit sha256;
};
in
import ./readline-7.0-patches.nix patch
);
patches = [
./link-against-ncurses.patch
./no-arch_only-6.3.patch
]
++ upstreamPatches;
meta = with lib; {
description = "Library for interactive line editing";
longDescription = ''
The GNU Readline library provides a set of functions for use by
applications that allow users to edit command lines as they are
typed in. Both Emacs and vi editing modes are available. The
Readline library includes additional functions to maintain a
list of previously-entered command lines, to recall and perhaps
reedit those lines, and perform csh-like history expansion on
previous commands.
The history facilities are also placed into a separate library,
the History library, as part of the build process. The History
library may be used without Readline in applications which
desire its capabilities.
'';
homepage = "https://savannah.gnu.org/projects/readline/";
license = licenses.gpl3Plus;
maintainers = [ ];
platforms = platforms.unix;
branch = "7.0";
};
}

View File

@@ -0,0 +1,122 @@
{
lib,
stdenv,
fetchpatch,
fetchurl,
updateAutotoolsGnuConfigScriptsHook,
ncurses,
termcap,
curses-library ? if stdenv.hostPlatform.isWindows then termcap else ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "readline";
version = "8.3p${toString (builtins.length finalAttrs.upstreamPatches)}";
src = fetchurl {
url = "mirror://gnu/readline/readline-${finalAttrs.meta.branch}.tar.gz";
hash = "sha256-/lODIERngozUle6NHTwDen66E4nCK8agQfYnl2+QYcw=";
};
outputs = [
"out"
"dev"
"man"
"doc"
"info"
];
strictDeps = true;
propagatedBuildInputs = [ curses-library ];
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
patchFlags = [ "-p0" ];
upstreamPatches = (
let
patch =
nr: sha256:
fetchurl {
url = "mirror://gnu/readline/readline-${finalAttrs.meta.branch}-patches/readline83-${nr}";
inherit sha256;
};
in
import ./readline-8.3-patches.nix patch
);
patches =
lib.optionals (curses-library.pname == "ncurses") [
./link-against-ncurses.patch
]
++ [
./no-arch_only-8.2.patch
]
++ finalAttrs.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=";
})
];
# Make mingw-w64 provide a dummy alarm() function
#
# Method borrowed from
# https://github.com/msys2/MINGW-packages/commit/35830ab27e5ed35c2a8d486961ab607109f5af50
CFLAGS = lib.optionalString stdenv.hostPlatform.isMinGW "-D__USE_MINGW_ALARM -D_POSIX";
# This install error is caused by a very old libtool. We can't autoreconfHook this package,
# so this is the best we've got!
postInstall = lib.optionalString stdenv.hostPlatform.isOpenBSD ''
ln -s $out/lib/libhistory.so* $out/lib/libhistory.so
ln -s $out/lib/libreadline.so* $out/lib/libreadline.so
'';
meta = with lib; {
description = "Library for interactive line editing";
longDescription = ''
The GNU Readline library provides a set of functions for use by
applications that allow users to edit command lines as they are
typed in. Both Emacs and vi editing modes are available. The
Readline library includes additional functions to maintain a
list of previously-entered command lines, to recall and perhaps
reedit those lines, and perform csh-like history expansion on
previous commands.
The history facilities are also placed into a separate library,
the History library, as part of the build process. The History
library may be used without Readline in applications which
desire its capabilities.
'';
homepage = "https://savannah.gnu.org/projects/readline/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dtzWill ];
platforms = platforms.unix ++ platforms.windows;
branch = "8.3";
};
})

View File

@@ -0,0 +1,18 @@
This patch is to make sure that `libncurses' is among the `NEEDED'
dependencies of `libreadline.so' and `libhistory.so'.
Failing to do that, applications linking against Readline are
forced to explicitly link against libncurses as well; in addition,
this trick doesn't work when using GNU ld's `--as-needed'.
--- shlib/Makefile.in 2009-01-06 18:03:22.000000000 +0100
+++ shlib/Makefile.in 2009-07-27 14:43:25.000000000 +0200
@@ -84,7 +84,7 @@ SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
SHOBJ_LIBS = @SHOBJ_LIBS@
-SHLIB_XLDFLAGS = @LDFLAGS@ @SHLIB_XLDFLAGS@
+SHLIB_XLDFLAGS = @LDFLAGS@ @SHLIB_XLDFLAGS@ -lncurses
SHLIB_LIBS = @SHLIB_LIBS@
SHLIB_DOT = @SHLIB_DOT@

View File

@@ -0,0 +1,13 @@
diff -ru -x '*~' readline-6.3-orig/support/shobj-conf readline-6.3/support/shobj-conf
--- support/shobj-conf 2014-02-24 03:06:29.000000000 +0100
+++ support/shobj-conf 2014-07-22 11:18:52.000000000 +0200
@@ -194,9 +194,6 @@
# Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4
*)
case "${host_os}" in
- darwin[89]*|darwin1[012]*)
- SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
- ;;
*) # Mac OS X 10.9 (Mavericks) and later
SHOBJ_ARCHFLAGS=
# for 32 and 64bit universal library

View File

@@ -0,0 +1,13 @@
diff -ru -x '*~' readline-6.3-orig/support/shobj-conf readline-6.3/support/shobj-conf
--- support/shobj-conf 2014-02-24 03:06:29.000000000 +0100
+++ support/shobj-conf 2014-07-22 11:18:52.000000000 +0200
@@ -159,9 +159,6 @@
# Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4
*)
case "${host_os}" in
- darwin[89]*|darwin1[012]*)
- SHOBJ_ARCHFLAGS=
- ;;
*) # Mac OS X 10.9 (Mavericks) and later
SHOBJ_ARCHFLAGS=
# for 32 and 64bit universal library

View File

@@ -0,0 +1,9 @@
# Automatically generated by `update-patch-set.sh'; do not edit.
patch: [
(patch "001" "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs")
(patch "002" "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7")
(patch "003" "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy")
(patch "004" "0r3bbaf12iz8m02z6p3fzww2m365fhn71xmzab2p62gj54s6h9gr")
(patch "005" "0lxpa4f72y2nsgj6fgrhjk2nmmxvccys6aciwfxwchb5f21rq5fa")
]

View File

@@ -0,0 +1,5 @@
# Automatically generated by `update-patch-set.sh'; do not edit.
patch: [
(patch "001" "1pl4midx7kc56bw4ansrdpdjpanv1vmp0p6jghrrgrnv0qqs1w11")
]

View File

@@ -0,0 +1 @@
../../../shells/bash/update-patch-set.sh