diff options
| author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2024-01-08 03:32:38 +0100 |
|---|---|---|
| committer | John Ericson <John.Ericson@Obsidian.Systems> | 2024-01-09 18:37:00 -0500 |
| commit | 77b22b043cc7a2787e2683bd594020f8a1356972 (patch) | |
| tree | 4fb6937b74b83754432a5bcb428a65d669a3cdf3 | |
| parent | Merge pull request #277300 from panicgh/fastcdr (diff) | |
| download | nixpkgs-77b22b043cc7a2787e2683bd594020f8a1356972.tar.gz | |
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; + }; +} |
