3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #39351 from matthewbauer/calc-on-darwin

calc: cleanup expression
This commit is contained in:
Jörg Thalheim 2018-04-23 08:07:13 +01:00 committed by GitHub
commit c7d278ad07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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;
};
}