From 9e28a219fa047d94bcc3e89a200ba727c6032672 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Sun, 18 Aug 2019 14:32:59 +0200 Subject: [PATCH] tclreadline: init at 2.3.8 --- .../interpreters/tclreadline/default.nix | 68 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 70 insertions(+) create mode 100644 pkgs/development/interpreters/tclreadline/default.nix diff --git a/pkgs/development/interpreters/tclreadline/default.nix b/pkgs/development/interpreters/tclreadline/default.nix new file mode 100644 index 000000000000..bbd34f71d22d --- /dev/null +++ b/pkgs/development/interpreters/tclreadline/default.nix @@ -0,0 +1,68 @@ +{ stdenv +, fetchFromGitHub +, automake +, autoconf +, libtool +, readline +, tcl +, tk +}: + +stdenv.mkDerivation rec { + pname = "tclreadline"; + version = "2.3.8"; + + src = fetchFromGitHub { + owner = "flightaware"; + repo = "tclreadline"; + rev = "v${version}"; + sha256 = "18jl56p0hwgynxpvr0v7b5mvvzc1m64fn61c0957bgb45mc250yq"; + }; + + nativeBuildInputs = [ + automake + autoconf + libtool + ]; + buildInputs = [ + readline + tcl + tk + ]; + + preConfigure = "NOCONFIGURE=1 ./autogen.sh"; + + configureFlags = [ + "--enable-tclshrl" + "--enable-wishrl" + "--with-tcl=${tcl}/lib" + "--with-tk=${tk}/lib" + "--with-readline-includes=${readline.dev}/include/readline" + "--with-libtool=${libtool}" + ]; + + # The provided makefile leaves a wrong reference to /build/ in RPATH, + # so we fix it after checking that everything is also present in $out + preFixup = stdenv.lib.optionalString stdenv.isLinux '' + needed_libraries=$(ls .libs | grep '\.\(so\|la\)$') + for lib in $needed_libraries; do + if ! ls $out/lib | grep "$lib"; then + echo "$lib was not installed correctly" + exit 1 + fi + done + for executable in $out/bin/{wishrl,tclshrl}; do + patchelf --set-rpath \ + "$(patchelf --print-rpath "$executable" | sed "s@$builddir/.libs@$out/lib@")" \ + "$executable" + done + ''; + + meta = with stdenv.lib; { + description = "GNU readline for interactive tcl shells"; + homepage = "https://github.com/flightaware/tclreadline"; + license = licenses.bsd3; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a3c3330ae376..fbb8a956f445 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10760,6 +10760,8 @@ in tcl-8_5 = callPackage ../development/interpreters/tcl/8.5.nix { }; tcl-8_6 = callPackage ../development/interpreters/tcl/8.6.nix { }; + tclreadline = callPackage ../development/interpreters/tclreadline { }; + wasm = ocamlPackages.wasm; proglodyte-wasm = callPackage ../development/interpreters/proglodyte-wasm { };