From 63507ada7d8d53434c5d01ab1a94bed8d1d66ee6 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 22 Apr 2018 18:43:40 -0500 Subject: [PATCH] calc: cleanup expression Fixes #39321 (Still needs testing on Linux) --- .../science/math/calc/default.nix | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix index efd38f053451..9d95960bde27 100644 --- a/pkgs/applications/science/math/calc/default.nix +++ b/pkgs/applications/science/math/calc/default.nix @@ -1,47 +1,49 @@ -{ stdenv, fetchurl, makeWrapper, glibc, readline, ncurses, utillinux }: +{ stdenv, lib, fetchurl, utillinux, makeWrapper +, enableReadline ? true, readline, ncurses }: -with stdenv.lib; -let - makeFlags = '' - INCDIR=${glibc.dev}/include \ - BINDIR=$out/bin LIBDIR=$out/lib CALC_INCDIR=$out/include/calc CALC_SHAREDIR=$out/share/calc MANDIR=$out/share/man/man1 \ - USE_READLINE=-DUSE_READLINE READLINE_LIB=-lreadline READLINE_EXTRAS='-lhistory -lncurses' \ - TERMCONTROL=-DUSE_TERMIOS \ - ''; -in stdenv.mkDerivation rec { - name = "calc-${version}"; version = "2.12.6.6"; src = fetchurl { - url = "https://github.com/lcn2/calc/releases/download/${version}/${name}.tar.bz2"; + urls = [ + "https://github.com/lcn2/calc/releases/download/${version}/${name}.tar.bz2" + "http://www.isthe.com/chongo/src/calc/${name}.tar.bz2" + ]; sha256 = "03sg1xhin6qsrz82scf96mmzw8lz1yj68rhj4p4npp4s0fawc9d5"; }; - buildInputs = [ makeWrapper readline ncurses utillinux ]; - - configurePhase = '' - sed -i 's/all: check_include/all:/' Makefile + patchPhase = '' + substituteInPlace Makefile \ + --replace 'all: check_include' 'all:' \ + --replace '-install_name ''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' \ + --replace '-install_name ''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' ''; - buildPhase = '' - make ${makeFlags} - ''; + buildInputs = [ utillinux makeWrapper ] + ++ lib.optionals enableReadline [ readline ncurses ]; - installPhase = '' - make install ${makeFlags} - wrapProgram $out/bin/calc --prefix LD_LIBRARY_PATH : $out/lib - ''; + makeFlags = [ + "T=$(out)" + "INCDIR=${lib.getDev stdenv.cc.libc}/include" + "BINDIR=/bin" + "LIBDIR=/lib" + "CALC_SHAREDIR=/share/calc" + "CALC_INCDIR=/include" + "MANDIR=/share/man/man1" - # Hack to avoid TMPDIR in RPATHs. - preFixup = ''rm -rf "$(pwd)" ''; + # Handle LDFLAGS defaults in calc + "DEFAULT_LIB_INSTALL_PATH=$(out)/lib" + ] ++ lib.optionals enableReadline [ + "READLINE_LIB=-lreadline" + "USE_READLINE=-DUSE_READLINE" + ]; - meta = { + meta = with lib; { description = "C-style arbitrary precision calculator"; homepage = http://www.isthe.com/chongo/tech/comp/calc/; license = licenses.lgpl21; - maintainers = [ ]; + maintainers = with maintainers; [ matthewbauer ]; platforms = platforms.all; }; }