diff options
Diffstat (limited to 'gnu/packages/libftdi.scm')
-rw-r--r-- | gnu/packages/libftdi.scm | 77 |
1 files changed, 66 insertions, 11 deletions
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm index e39e0b3d71..02efcbbbc0 100644 --- a/gnu/packages/libftdi.scm +++ b/gnu/packages/libftdi.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2023 Simon South <simon@simonsouth.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,32 +19,86 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages libftdi) - #:use-module (guix licenses) + #:use-module (guix build utils) + #:use-module (guix build-system cmake) #:use-module (guix download) + #:use-module (guix gexp) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages boost) + #:use-module (gnu packages documentation) + #:use-module (gnu packages graphviz) #:use-module (gnu packages libusb) - #:use-module (guix build-system cmake)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages swig) + #:use-module (gnu packages textutils)) (define-public libftdi (package (name "libftdi") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (string-append - "http://www.intra2net.com/en/developer/libftdi/download/libftdi1-" - version ".tar.bz2")) + "https://www.intra2net.com/en/developer/libftdi/download/" + "libftdi1-" version ".tar.bz2")) (sha256 (base32 - "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc")))) + "0jdh5r499wbz83vmpskczq5m3cfc1mcv8xqisj5i95k1r3lr2w3w")) + (patches + (search-patches "libftdi-fix-paths-when-FTDIPP-set.patch")))) (build-system cmake-build-system) + (outputs '("out" "doc" "python")) + (arguments + (list + #:configure-flags + #~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" + #$output "/share/doc/" #$name "-" #$version) + "-DDOCUMENTATION=ON" + "-DEXAMPLES=OFF" + "-DFTDIPP=ON" + "-DLIB_SUFFIX=''" ; place libraries in /lib, not /lib64 + "-DPYTHON_BINDINGS=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-python-binding + (lambda _ + (let* ((python-version + #$(version-major+minor (package-version python))) + (python-lib-path + (string-append "/lib/python" python-version))) + (mkdir-p (string-append #$output:python "/lib")) + (mkdir-p (string-append #$output:python "/share/libftdi")) + (rename-file (string-append #$output python-lib-path) + (string-append #$output:python python-lib-path)) + (rename-file (string-append #$output + "/share/libftdi/examples") + (string-append #$output:python + "/share/libftdi/examples"))))) + (add-after 'install-python-binding 'install-documentation + (lambda _ + (let ((share (string-append #$output:doc "/share"))) + (copy-recursively "doc/man" + (string-append share "/man")) + (copy-recursively "doc/html" + (string-append share "/doc/" + #$name "-" #$version + "/html")))))) + #:test-target "check" + #:tests? #f)) ; tests fail without access to USB + (native-inputs + (list doxygen graphviz pkg-config python swig)) + (inputs + (list boost libconfuse)) (propagated-inputs - (list libusb)) ; required by libftdi1.pc + (list libusb)) ; required by libftdi1.pc (home-page "https://www.intra2net.com/en/developer/libftdi/") (synopsis "FTDI USB driver with bitbang mode") (description - "libFTDI is a library to talk to FTDI chips: FT232BM, -FT245BM, FT2232C, FT2232D, FT245R and FT232H including the popular -bitbangmode.") - (license lgpl2.1))) + "libFTDI is a library to talk to FTDI chips: FT232BM, FT245BM, FT2232C, +FT2232D, FT245R and FT232H including the popular bitbangmode.") + (license (list license:gpl2 ; ftdi_eeprom, C++ bindings + license:lgpl2.1)))) ; main library |