nixpkgs/pkgs/tools/networking/ncftp/default.nix
2024-03-29 10:26:49 -03:00

54 lines
1.5 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 = 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;
};
}