;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2018, 2021, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libidn)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages pkg-config)
"03b7y0h3mf4jfq5y8zw6hv9v44z3n6i8hc1iswax96y3z7sc85y5"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("zlib" ,zlib)
- ("readline" ,readline)
- ("gnutls" ,gnutls)))
+ (list zlib readline gnutls))
(arguments
`(#:phases
(modify-phases %standard-phases
(sha256
(base32
"1389657cwgw5a3kljnqmhvfh4vr2gcr71dwz1mlhf22xq23hc82z"))
+ (patches
+ (search-patches
+ "ncftp-reproducible.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(("a freeware program")
"free software"))
#t))))
+ (properties
+ `((release-monitoring-url . "https://www.ncftp.com/download/")))
(build-system gnu-build-system)
(arguments
'(#:phases
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "SHELL" (which "sh"))
+ (setenv "CFLAGS" "-fcommon")
(invoke "./configure"
(string-append "--prefix=" out))))))
#:tests? #f)) ;there are no tests
- (inputs `(("ncurses" ,ncurses)))
+ (inputs (list ncurses))
(home-page "https://www.ncftp.com/ncftp/")
(synopsis "Command-line File Transfer Protocol (FTP) client")
(description
"1ir761hjncr1bamaqcw9j7x57xi3s9jax3223bxwbq30a0vsw1pd"))))
(build-system gnu-build-system)
(native-inputs
- `(("automake" ,automake)
- ("autoconf" ,autoconf)
- ("gettext" ,gettext-minimal)))
+ (list automake autoconf gettext-minimal))
(home-page "http://weex.sourceforge.net/")
(synopsis "Non-interactive client for FTP synchronization")
(description
(define-public libfilezilla
(package
(name "libfilezilla")
- (version "0.24.1")
+ (version "0.37.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/"
"libfilezilla/libfilezilla-" version ".tar.bz2"))
(sha256
- (base32 "1zfnqbn14dx0fl45mfaznr5n5xsxy1kx8z9f80fppbqn37pb9mgx"))))
+ (base32 "1mg2zqmpkkcimx6kq3a1ab26v515zzxw2s8rwhmajsv4cgp404g5"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-static")))
(native-inputs
- `(("cppunit" ,cppunit)
- ("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)))
+ (list cppunit gettext-minimal pkg-config))
(inputs
- `(("gnutls" ,gnutls)
- ("nettle" ,nettle)))
+ (list gnutls nettle))
(home-page "https://lib.filezilla-project.org")
(synopsis "Cross-platform C++ library used by Filezilla client")
(description
(define-public filezilla
(package
(name "filezilla")
- (version "3.50.0")
+ (version "3.60.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
- (base32 "042w2f5cf8g9cr7d3m6294ygx7jggcria9502jnql855khk8gnz0"))))
+ (base32 "1bv643abf8jai552j9fqcl4i54h1yrs5hgn6w0w1ibwccdinryc1"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.
'(#:configure-flags '("--disable-autoupdatecheck")))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("xdg-utils" ,xdg-utils)))
+ (list cppunit gettext-minimal pkg-config xdg-utils))
(inputs
- `(("dbus" ,dbus)
- ("gnutls" ,gnutls)
- ("gtk+" ,gtk+)
- ("libfilezilla" ,libfilezilla)
- ("libidn" ,libidn)
- ("nettle" ,nettle)
- ("pugixml" ,pugixml)
- ("sqlite" ,sqlite)
- ("wxwidgets" ,wxwidgets)))
+ (list dbus
+ gnutls
+ gtk+
+ libfilezilla
+ libidn
+ nettle
+ pugixml
+ sqlite
+ wxwidgets))
(home-page "https://filezilla-project.org")
(synopsis "Full-featured graphical FTP/FTPS/SFTP client")
(description
(define-public vsftpd
(package
(name "vsftpd")
- (version "3.0.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://security.appspot.com/downloads/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx"))))
+ (version "3.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://security.appspot.com/downloads/"
+ "vsftpd-" version ".tar.gz"))
+ (sha256
+ (base32 "1lwipiq8q9qzvwv6f418fbvagpz0p6v0jjplkvcsc2sb8np05di6"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags '("LDFLAGS=-lcrypt")
- #:tests? #f ; No tests exist.
+ `(#:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ ;; vsf_findlibs.sh looks only for hard-coded {/usr,}/lib file names
+ ;; that will never exist on Guix. Manage libraries ourselves.
+ "LDFLAGS=-lcap -lpam"
+ "INSTALL=install -D")
+ #:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'build-SSL
+ (lambda _
+ (substitute* "builddefs.h"
+ (("#undef (VSF_BUILD_SSL)" _ symbol)
+ (string-append "#define " symbol)))))
+ (add-after 'unpack 'append-make-flags
+ (lambda _
+ (substitute* "Makefile"
+ (("(CFLAGS|LDFLAGS)[[:blank:]]*=" _ variable)
+ (format #f "UPSTREAM_~a +=" variable))
+ (("\\$\\((CFLAGS|LDFLAGS)\\)" _ variable)
+ (format #f "$(UPSTREAM_~a) $(~@*~a)" variable)))))
(add-after 'unpack 'patch-installation-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
- (("/usr") (assoc-ref outputs "out")))
- #t))
- (add-before 'install 'mkdir
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir-p out)
- (mkdir (string-append out "/sbin"))
- (mkdir (string-append out "/man"))
- (mkdir (string-append out "/man/man5"))
- (mkdir (string-append out "/man/man8"))
- #t)))
- (delete 'configure))))
- (synopsis "vsftpd FTP daemon")
- (description "@command{vsftpd} is a daemon that listens on a TCP socket
-for clients and gives them access to local files via File Transfer
-Protocol.")
+ (("/usr") (assoc-ref outputs "out")))))
+ (delete 'configure)))) ; no configure script
+ (inputs
+ (list libcap linux-pam openssl))
+ (synopsis "Small FTP server with a focus on security")
+ (description
+ "The Very Secure File Transfer Protocol Daemon or @command{vsftpd} is a
+server that listens on a TCP socket for clients and gives them access to local
+files via @acronym{FTP, the File Transfer Protocol}. Security is a goal; not a
+guarantee.")
(home-page "https://security.appspot.com/vsftpd.html")
- (license gpl2)))
+ (license gpl2))) ; with OpenSSL exception