{ 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 = toString ([ "-fcommon" ] # these are required for the configure script to work with clang ++ lib.optionals stdenv.isDarwin [ "-Wno-implicit-int" "-Wno-implicit-function-declaration" ]); 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; }; }