nixpkgs/pkgs/tools/networking/ncftp/default.nix
Artturin f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00

48 lines
1.3 KiB
Nix

{ lib, stdenv, fetchurl, ncurses, coreutils }:
stdenv.mkDerivation rec {
pname = "ncftp";
version = "3.2.6";
src = fetchurl {
url = "ftp://ftp.ncftp.com/ncftp/ncftp-${version}-src.tar.xz";
sha256 = "1389657cwgw5a3kljnqmhvfh4vr2gcr71dwz1mlhf22xq23hc82z";
};
buildInputs = [ ncurses ];
enableParallelBuilding = true;
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: bookmark.o: (.bss+0x20): multiple definition of `gBm';
# gpshare.o:(.bss+0x0): first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
preConfigure = ''
find -name Makefile.in | xargs sed -i '/^TMPDIR=/d'
find . -name '*.sh' -or -name '*.in' -or -name '*.c' -or -name configure | xargs sed -i \
-e 's@/bin/ls@${coreutils}/bin/ls@g' \
-e 's@/bin/rm@${coreutils}/bin/rm@g'
'';
postInstall = ''
rmdir $out/etc
mkdir -p $out/share/doc
cp -r doc $out/share/doc/ncftp
'';
configureFlags = [
"--enable-ssp"
"--mandir=$(out)/share/man/"
];
meta = with lib; {
description = "Command line FTP (File Transfer Protocol) client";
homepage = "https://www.ncftp.com/ncftp/";
maintainers = with maintainers; [ bjornfor ];
platforms = platforms.unix;
license = licenses.clArtistic;
};
}