diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:31:50 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:32:25 +0100 |
commit | b7baf40e099b4215181fe7b0c63083b12ef2c7fb (patch) | |
tree | a6efabd31d05b6d0a36624729e80377bbbfb0149 /nixpkgs/pkgs/by-name/te/termcap/package.nix | |
parent | 710028664e26e85cb831a869b3da9f6993902255 (diff) | |
parent | 0799f514b1cd74878174939df79ac60ca5036673 (diff) | |
download | nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.gz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.bz2 nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.lz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.xz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.zst nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
Diffstat (limited to 'nixpkgs/pkgs/by-name/te/termcap/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/te/termcap/package.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/te/termcap/package.nix b/nixpkgs/pkgs/by-name/te/termcap/package.nix new file mode 100644 index 000000000000..6382ade90ea7 --- /dev/null +++ b/nixpkgs/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; + }; +} |