diff options
| author | John Ericson <git@JohnEricson.me> | 2024-01-09 22:25:34 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-09 22:25:34 -0500 |
| commit | 78a70bef2fb1039ef64fe011a2816f6400b23739 (patch) | |
| tree | ccf7fe273927098138c178527fe4a5e8a122ab89 | |
| parent | Merge pull request #279907 from happysalada/fix_alacritty_darwin (diff) | |
| parent | termcap: init at 1.3.1 (diff) | |
| download | nixpkgs-78a70bef2fb1039ef64fe011a2816f6400b23739.tar.gz | |
Merge pull request #279491 from wegank/termcap-init
termcap: init at 1.3.1
| -rw-r--r-- | pkgs/by-name/te/termcap/package.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/pkgs/by-name/te/termcap/package.nix b/pkgs/by-name/te/termcap/package.nix new file mode 100644 index 000000000000..6382ade90ea7 --- /dev/null +++ b/pkgs/by-name/te/termcap/package.nix @@ -0,0 +1,67 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, autoreconfHook +, enableStatic ? stdenv.hostPlatform.isStatic +, enableShared ? !stdenv.hostPlatform.isStatic +}: + +stdenv.mkDerivation rec { + pname = "termcap"; + version = "1.3.1"; + + src = fetchurl { + url = "mirror://gnu/termcap/termcap-${version}.tar.gz"; + hash = "sha256-kaDiLlOHykRntbyxjt8cUbkwJi/UZtX9o5bdnSZxkQA="; + }; + + patches = [ + (fetchpatch { + name = "0001-tparam-replace-write-with-fprintf.patch"; + url = "https://github.com/msys2/MINGW-packages/raw/c6691ad1bd9d4c6823a18068ca0683c3e32ea005/mingw-w64-termcap/0001-tparam-replace-write-with-fprintf.patch"; + hash = "sha256-R9XaLfa8fzQBt+M+uA1AFTvKYCeOWLUD/7GViazXwto="; + }) + ]; + + outputs = [ "out" "dev" ]; + + enableParallelBuilding = true; + + strictDeps = true; + + nativeBuildInputs = [ autoreconfHook ]; + + makeFlags = [ + "AR=${stdenv.cc.targetPrefix}ar" + ]; + + env.NIX_CFLAGS_COMPILE = toString ([ + "-DSTDC_HEADERS" + ] ++ lib.optionals stdenv.cc.isClang [ + "-Wno-implicit-function-declaration" + ]); + + # Library only statically links by default + postInstall = lib.optionalString (!enableStatic) '' + rm $out/lib/libtermcap.a + '' + lib.optionalString enableShared (let + libName = "lib${pname}${stdenv.hostPlatform.extensions.sharedLibrary}"; + impLibName = "lib${pname}.dll.a"; + winImpLib = lib.optionalString stdenv.hostPlatform.isWindows + "-Wl,--out-implib,${impLibName}"; + in '' + ${stdenv.cc.targetPrefix}cc -shared -o ${libName} termcap.o tparam.o version.o ${winImpLib} + install -Dm644 ${libName} $out/lib + '' + lib.optionalString stdenv.hostPlatform.isWindows '' + install -Dm644 ${impLibName} $out/lib + ''); + + meta = { + description = "Terminal feature database"; + homepage = "https://www.gnu.org/software/termutils/"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ wegank ]; + platforms = lib.platforms.all; + }; +} |
