diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-12-10 19:00:06 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-12-10 19:01:27 +0100 |
commit | f3618342ece994482697892133532a380a04cd0f (patch) | |
tree | bd6067d893770d9f7d272aaa5c5968ff517769d0 /pkgs/tools/text | |
parent | 5e7e4c93a9a93c12d5eaa3a91e289d18195aaa75 (diff) | |
parent | 2ff8cef0a4c969b9c377db4e0fe6eb8f5404e0b4 (diff) | |
download | nixpkgs-f3618342ece994482697892133532a380a04cd0f.tar nixpkgs-f3618342ece994482697892133532a380a04cd0f.tar.gz nixpkgs-f3618342ece994482697892133532a380a04cd0f.tar.bz2 nixpkgs-f3618342ece994482697892133532a380a04cd0f.tar.lz nixpkgs-f3618342ece994482697892133532a380a04cd0f.tar.xz nixpkgs-f3618342ece994482697892133532a380a04cd0f.tar.zst nixpkgs-f3618342ece994482697892133532a380a04cd0f.zip |
Merge staging-next into staging
Diffstat (limited to 'pkgs/tools/text')
-rw-r--r-- | pkgs/tools/text/diffstat/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/text/gawk/gawk-with-extensions.nix | 12 | ||||
-rw-r--r-- | pkgs/tools/text/gawk/gawkextlib.nix | 149 | ||||
-rw-r--r-- | pkgs/tools/text/gawk/setup-hook.sh | 6 |
4 files changed, 169 insertions, 2 deletions
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix index fa5718ce4d3..bf4ff279f8f 100644 --- a/pkgs/tools/text/diffstat/default.nix +++ b/pkgs/tools/text/diffstat/default.nix @@ -1,14 +1,14 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "diffstat-1.62"; + name = "diffstat-1.63"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/diffstat/${name}.tgz" "https://invisible-mirror.net/archives/diffstat/${name}.tgz" ]; - sha256 = "07sr482y6iw7n7ddkba0w51kbjc99snvnijkn5ba2xzd8hv1h2bz"; + sha256 = "0vyw200s5dv1257pmrh6c6fdkmw3slyz5szpqfx916xr04sdbpby"; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/text/gawk/gawk-with-extensions.nix b/pkgs/tools/text/gawk/gawk-with-extensions.nix new file mode 100644 index 00000000000..751e5181bb5 --- /dev/null +++ b/pkgs/tools/text/gawk/gawk-with-extensions.nix @@ -0,0 +1,12 @@ +{ runCommand, gawk, extensions, makeWrapper }: + +runCommand "gawk-with-extensions" { + buildInputs = [ makeWrapper gawk ] ++ extensions; +} '' + mkdir -p $out/bin + for i in ${gawk}/bin/*; do + name="$(basename "$i")" + makeWrapper $i $out/bin/$name \ + --prefix AWKLIBPATH : "${gawk}/lib/gawk:''${AWKLIBPATH:-}" + done +'' diff --git a/pkgs/tools/text/gawk/gawkextlib.nix b/pkgs/tools/text/gawk/gawkextlib.nix new file mode 100644 index 00000000000..e15b2d4e257 --- /dev/null +++ b/pkgs/tools/text/gawk/gawkextlib.nix @@ -0,0 +1,149 @@ +{ stdenv, recurseIntoAttrs, fetchgit, writeText, pkgconfig, autoreconfHook +, autoconf, automake, libiconv, libtool, texinfo, gettext, gawk, rapidjson, gd +, shapelib, libharu, lmdb, gmp, glibcLocales, mpfr, more, postgresql, hiredis +, expat, tre, makeWrapper }: + +let + buildExtension = stdenv.lib.makeOverridable + ({ name, gawkextlib, extraBuildInputs ? [ ], doCheck ? true }: + let is_extension = !isNull gawkextlib; + in stdenv.mkDerivation rec { + pname = "gawkextlib-${name}"; + version = "unstable-2019-11-21"; + + src = fetchgit { + url = "git://git.code.sf.net/p/gawkextlib/code"; + rev = "f70f10da2804e4fd0a0bac57736e9c1cf21e345d"; + sha256 = "0r8fz89n3l4dfszs1980yqj0ah95430lj0y1lb7blfkwxa6c2xik"; + }; + + postPatch = '' + cd ${name} + ''; + + nativeBuildInputs = [ + autoconf + automake + libtool + autoreconfHook + pkgconfig + texinfo + gettext + ]; + + buildInputs = [ gawk ] ++ extraBuildInputs; + propagatedBuildInputs = stdenv.lib.optional is_extension gawkextlib; + + setupHook = if is_extension then ./setup-hook.sh else null; + inherit gawk; + + inherit doCheck; + checkInputs = [ more ]; + + meta = with stdenv.lib; { + homepage = "https://sourceforge.net/projects/gawkextlib/"; + description = "Dynamically loaded extension libraries for GNU AWK"; + longDescription = '' + The gawkextlib project provides several extension libraries for + gawk (GNU AWK), as well as libgawkextlib containing some APIs that + are useful for building gawk extension libraries. These libraries + enable gawk to process XML data, interact with a PostgreSQL + database, use the GD graphics library, and perform unlimited + precision MPFR calculations. + ''; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ tomberek ]; + }; + }); + gawkextlib = buildExtension { + gawkextlib = null; + name = "lib"; + }; + libs = { + abort = buildExtension { + inherit gawkextlib; + name = "abort"; + }; + aregex = buildExtension { + inherit gawkextlib; + name = "aregex"; + extraBuildInputs = [ tre ]; + }; + csv = buildExtension { + inherit gawkextlib; + name = "csv"; + }; + errno = buildExtension { + inherit gawkextlib; + name = "errno"; + }; + gd = buildExtension { + inherit gawkextlib; + name = "gd"; + extraBuildInputs = [ gd ]; + }; + haru = buildExtension { + inherit gawkextlib; + name = "haru"; + extraBuildInputs = [ libharu ]; + }; + json = buildExtension { + inherit gawkextlib; + name = "json"; + extraBuildInputs = [ rapidjson ]; + }; + lmdb = buildExtension { + inherit gawkextlib; + name = "lmdb"; + extraBuildInputs = [ lmdb ]; + # mdb_env_open(env, /dev/null) + #! No such device + # mdb_env_open(env, /dev/null) + #! Operation not supported by device + doCheck = !stdenv.isDarwin; + }; + mbs = buildExtension { + inherit gawkextlib; + name = "mbs"; + extraBuildInputs = [ glibcLocales ]; + #! "spät": length: 5, mbs_length: 6, wcswidth: 4 + doCheck = !stdenv.isDarwin; + }; + mpfr = buildExtension { + inherit gawkextlib; + name = "mpfr"; + extraBuildInputs = [ gmp mpfr ]; + }; + nl_langinfo = buildExtension { + inherit gawkextlib; + name = "nl_langinfo"; + }; + pgsql = buildExtension { + inherit gawkextlib; + name = "pgsql"; + extraBuildInputs = [ postgresql ]; + }; + redis = buildExtension { + inherit gawkextlib; + name = "redis"; + extraBuildInputs = [ hiredis ]; + }; + select = buildExtension { + inherit gawkextlib; + name = "select"; + }; + timex = buildExtension { + inherit gawkextlib; + name = "timex"; + }; + xml = buildExtension { + inherit gawkextlib; + name = "xml"; + extraBuildInputs = [ expat libiconv ]; + }; + }; +in recurseIntoAttrs (libs // { + inherit gawkextlib buildExtension; + full = builtins.attrValues libs; +}) diff --git a/pkgs/tools/text/gawk/setup-hook.sh b/pkgs/tools/text/gawk/setup-hook.sh new file mode 100644 index 00000000000..d568cb8c7dd --- /dev/null +++ b/pkgs/tools/text/gawk/setup-hook.sh @@ -0,0 +1,6 @@ +local oldOpts="-u" +shopt -qo nounset || oldOpts="+u" +set +u +. @gawk@/etc/profile.d/gawk.sh +gawklibpath_append @out@/lib/gawk +set "$oldOpts" |