diff options
author | Vladimír Čunát <v@cunat.cz> | 2024-02-29 19:14:55 +0100 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2024-02-29 19:14:55 +0100 |
commit | 5ec0e03492cc7da54a0364c739fb57849910c2d4 (patch) | |
tree | 10dd59f9974072be545a762d11c81bc8439b35fd /pkgs/by-name/li | |
parent | 5b2a4c0e7a39c94249c7a93808954bd9a2d4180e (diff) | |
parent | 305bb109a8d98e43aa0bfb3edd2b78f8b9906935 (diff) | |
download | nixlib-5ec0e03492cc7da54a0364c739fb57849910c2d4.tar nixlib-5ec0e03492cc7da54a0364c739fb57849910c2d4.tar.gz nixlib-5ec0e03492cc7da54a0364c739fb57849910c2d4.tar.bz2 nixlib-5ec0e03492cc7da54a0364c739fb57849910c2d4.tar.lz nixlib-5ec0e03492cc7da54a0364c739fb57849910c2d4.tar.xz nixlib-5ec0e03492cc7da54a0364c739fb57849910c2d4.tar.zst nixlib-5ec0e03492cc7da54a0364c739fb57849910c2d4.zip |
Merge #278061: libedit: update and adopt
...into staging
Diffstat (limited to 'pkgs/by-name/li')
-rw-r--r-- | pkgs/by-name/li/libedit/01-cygwin.patch | 25 | ||||
-rw-r--r-- | pkgs/by-name/li/libedit/package.nix | 56 |
2 files changed, 81 insertions, 0 deletions
diff --git a/pkgs/by-name/li/libedit/01-cygwin.patch b/pkgs/by-name/li/libedit/01-cygwin.patch new file mode 100644 index 000000000000..33bd39ed61e5 --- /dev/null +++ b/pkgs/by-name/li/libedit/01-cygwin.patch @@ -0,0 +1,25 @@ +--- libedit-20120311-3.0/src/chartype.h 2012-03-11 10:54:58.000000000 +0100 ++++ libedit-20120311-3.0/src/chartype.h 2012-05-03 19:00:20.651847423 +0200 +@@ -56,9 +56,11 @@ + /* Oh for a <uchar.h> with char32_t and __STDC_UTF_32__ in it... + * ref: ISO/IEC DTR 19769 + */ ++#ifndef __CYGWIN__ + #if WCHAR_MAX < INT32_MAX + #warning Build environment does not support non-BMP characters + #endif ++#endif + + #ifndef HAVE_WCSDUP + wchar_t *wcsdup(const wchar_t *s); +--- libedit-20120311-3.0/src/editline/readline.h 2011-02-26 23:42:59.000000000 +0100 ++++ libedit-20120311-3.0/src/editline/readline.h 2012-05-03 19:00:49.211244803 +0200 +@@ -75,7 +75,7 @@ typedef KEYMAP_ENTRY *Keymap; + + #ifndef CTRL + #include <sys/ioctl.h> +-#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) ++#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) && !defined(__CYGWIN__) + #include <sys/ttydefaults.h> + #endif + #ifndef CTRL diff --git a/pkgs/by-name/li/libedit/package.nix b/pkgs/by-name/li/libedit/package.nix new file mode 100644 index 000000000000..aeb79811d6e7 --- /dev/null +++ b/pkgs/by-name/li/libedit/package.nix @@ -0,0 +1,56 @@ +{ lib +, stdenv +, fetchurl +, ncurses +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libedit"; + version = "20230828-3.1"; + + src = fetchurl { + url = "https://thrysoee.dk/editline/libedit-${finalAttrs.version}.tar.gz"; + hash = "sha256-TugYK25WkpDn0fRPD3jayHFrNfZWt2Uo9pnGnJiBTa0="; + }; + + outputs = [ "out" "dev" "man" ]; + + patches = [ + ./01-cygwin.patch + ]; + + propagatedBuildInputs = [ + ncurses + ]; + + # GCC automatically include `stdc-predefs.h` while Clang does not do this by + # default. While Musl is ISO 10646 compliant, it does not define + # __STDC_ISO_10646__. + # This definition is in `stdc-predefs.h` -- that's why libedit builds just + # fine with GCC and Musl. + # There is a DR to fix this issue with Clang which is not merged yet. + # https://reviews.llvm.org/D137043 + env.NIX_CFLAGS_COMPILE = + lib.optionalString (stdenv.targetPlatform.isMusl && stdenv.cc.isClang) + "-D__STDC_ISO_10646__=201103L"; + + postFixup = '' + find $out/lib -type f | \ + grep '\.\(la\|pc\)''$' | \ + xargs sed -i -e 's,-lncurses[a-z]*,-L${ncurses.out}/lib -lncursesw,g' + ''; + + meta = { + homepage = "http://www.thrysoee.dk/editline/"; + description = "A port of the NetBSD Editline library (libedit)"; + longDescription = '' + This is an autotool- and libtoolized port of the NetBSD Editline library + (libedit). This Berkeley-style licensed command line editor library + provides generic line editing, history, and tokenization functions, + similar to those found in GNU Readline. + ''; + license = with lib.licenses; [ bsd3 ]; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.all; + }; +}) |