diff --git a/gnu/local.mk b/gnu/local.mk index 3730d272ea..a344191c03 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1898,6 +1898,7 @@ dist_patch_DATA = \ %D%/packages/patches/nanosvg-prusa-slicer.patch \ %D%/packages/patches/nautilus-extension-search-path.patch \ %D%/packages/patches/ncompress-fix-softlinks.patch \ + %D%/packages/patches/ncftp-paths.patch \ %D%/packages/patches/ncftp-reproducible.patch \ %D%/packages/patches/netcdf-date-time.patch \ %D%/packages/patches/netdde-build-fix.patch \ diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 9e7e8ac406..272106744c 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -124,17 +124,18 @@ reliability in mind.") (define-public ncftp (package (name "ncftp") - (version "3.2.6") + (version "3.2.9") (source (origin (method url-fetch) - (uri (string-append "ftp://ftp.ncftp.com/ncftp/ncftp-" - version "-src.tar.xz")) + (uri (string-append "https://www.ncftp.com/public_ftp/ncftp/ncftp-" + version "-src.tar.gz")) (sha256 (base32 - "1389657cwgw5a3kljnqmhvfh4vr2gcr71dwz1mlhf22xq23hc82z")) + "1hcpxxa6vc3ivlpbrcm3wfy5ykamgnrxmjci4im8y54fsy6k8y8x")) (patches (search-patches - "ncftp-reproducible.patch")) + "ncftp-reproducible.patch" + "ncftp-paths.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/ncftp-paths.patch b/gnu/packages/patches/ncftp-paths.patch new file mode 100644 index 0000000000..0aa0bda76e --- /dev/null +++ b/gnu/packages/patches/ncftp-paths.patch @@ -0,0 +1,127 @@ +diff --git a/libncftp/lglob.c b/libncftp/lglob.c +index e374f0c..2d74cd5 100644 +--- a/libncftp/lglob.c ++++ b/libncftp/lglob.c +@@ -137,11 +137,11 @@ LazyUnixLocalGlob(FTPCIPtr cip, FTPLineListPtr fileList, const char *const patte + * work for us. + */ + #ifdef HAVE_SNPRINTF +- (void) snprintf(cmd, sizeof(cmd) - 1, "%s -c \"%s %s %s\"", "/bin/sh", "/bin/ls", ++ (void) snprintf(cmd, sizeof(cmd) - 1, "%s -c \"%s %s %s\"", "sh", "ls", + "-d", pattern); + cmd[sizeof(cmd) - 1] = '\0'; + #else +- (void) sprintf(cmd, "%s -c \"%s %s %s\"", "/bin/sh", "/bin/ls", ++ (void) sprintf(cmd, "%s -c \"%s %s %s\"", "sh", "ls", + "-d", pattern); + #endif + +diff --git a/ncftp/cmds.c b/ncftp/cmds.c +index 241c7c5..228fb0a 100644 +--- a/ncftp/cmds.c ++++ b/ncftp/cmds.c +@@ -2031,7 +2031,7 @@ LocalListCmd(const int argc, char **const argv, const CommandPtr cmdp, const Arg + (void) fflush(stdin); + outfp = OpenPager(); + +- (void) STRNCPY(incmd, "/bin/ls"); ++ (void) STRNCPY(incmd, "ls"); + for (i=1, dashopts=0; i