mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-22 14:45:27 +00:00
ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
70 lines
1.9 KiB
Nix
70 lines
1.9 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, makeWrapper
|
|
, ncurses
|
|
, readline
|
|
, unixtools
|
|
, enableReadline ? true
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "calc";
|
|
version = "2.15.0.2";
|
|
|
|
src = fetchurl {
|
|
urls = [
|
|
"https://github.com/lcn2/calc/releases/download/v${finalAttrs.version}/calc-${finalAttrs.version}.tar.bz2"
|
|
"http://www.isthe.com/chongo/src/calc/calc-${finalAttrs.version}.tar.bz2"
|
|
];
|
|
hash = "sha256-dPEj32SiR7RhI9fBa9ny9+EEuuiXS2WswRcDVuOMJXc=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace Makefile.target \
|
|
--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}'
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
makeWrapper
|
|
unixtools.col
|
|
];
|
|
|
|
buildInputs = lib.optionals enableReadline [
|
|
ncurses
|
|
readline
|
|
];
|
|
|
|
makeFlags = [
|
|
"T=$(out)"
|
|
"INCDIR="
|
|
"BINDIR=/bin"
|
|
"LIBDIR=/lib"
|
|
"CALC_SHAREDIR=/share/calc"
|
|
"CALC_INCDIR=/include"
|
|
"MANDIR=/share/man/man1"
|
|
|
|
# Handle LDFLAGS defaults in calc
|
|
"DEFAULT_LIB_INSTALL_PATH=$(out)/lib"
|
|
]
|
|
++ lib.optionals enableReadline [
|
|
"READLINE_LIB=-lreadline"
|
|
"USE_READLINE=-DUSE_READLINE"
|
|
];
|
|
|
|
meta = {
|
|
homepage = "http://www.isthe.com/chongo/tech/comp/calc/";
|
|
description = "C-style arbitrary precision calculator";
|
|
mainProgram = "calc";
|
|
changelog = "https://github.com/lcn2/calc/blob/v${finalAttrs.version}/CHANGES";
|
|
# The licensing situation depends on readline (see section 3 of the LGPL)
|
|
# If linked against readline then GPLv2 otherwise LGPLv2.1
|
|
license = if enableReadline
|
|
then lib.licenses.gpl2Only
|
|
else lib.licenses.lgpl21Only;
|
|
maintainers = with lib.maintainers; [ matthewbauer ];
|
|
platforms = lib.platforms.all;
|
|
};
|
|
})
|