nixpkgs/pkgs/by-name/nc/ncftp/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08: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.hostPlatform.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;
};
}