From 856eeedcbc65add655a40878ebed81aecd44a377 Mon Sep 17 00:00:00 2001 From: Simon South Date: Thu, 7 Sep 2023 12:37:56 -0400 Subject: gnu: libftdi: Build Python bindings. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/libftdi.scm (libftdi)[outputs]: Add "python". [arguments]<#:phases>: Add with "install-python-binding" phase. [native-inputs]: Add python, swig. Signed-off-by: Ludovic Courtès --- gnu/packages/libftdi.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm index 0a996b05e7..773b0ec73e 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 ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2023 Simon South ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,15 +19,19 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages libftdi) + #: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 libusb) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages swig) #:use-module (gnu packages textutils)) (define-public libftdi @@ -42,6 +47,7 @@ (base32 "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc")))) (build-system cmake-build-system) + (outputs '("out" "python")) (arguments (list #:configure-flags @@ -49,10 +55,26 @@ #$output "/share/doc/" #$name "-" #$version) "-DEXAMPLES=OFF" "-DLIB_SUFFIX=''") ; place libraries in /lib, not /lib64 + #: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")))))) #:test-target "check" #:tests? #f)) ; tests fail without access to USB (native-inputs - (list pkg-config)) + (list pkg-config python swig)) (inputs (list boost libconfuse)) (propagated-inputs -- cgit v1.2.3