aboutsummaryrefslogtreecommitdiff
;;; 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.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(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 documentation)
  #:use-module (gnu packages graphviz)
  #: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
  (package
    (name "libftdi")
    (version "1.5")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "https://www.intra2net.com/en/developer/libftdi/download/"
                    "libftdi1-" version ".tar.bz2"))
              (sha256
               (base32
                "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
    (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 (list license:gpl2         ; ftdi_eeprom, C++ bindings
                   license:lgpl2.1))))  ; main library
f3fc9214f657022d49678'>gnu: Remove linux-libre 6.9....* gnu/packages/linux.scm (linux-libre-6.9-version, linux-libre-6.9-gnu-revision, deblob-scripts-6.9, linux-libre-6.9-pristine-source, linux-libre-6.9-source, linux-libre-headers-6.9, linux-libre-6.9): Remove variables. (linux-libre-headers-latest): New variable. (libbpf)[native-inputs]: Switch to linux-libre-headers-latest. * gnu/packages/aux-files/linux-libre/6.9-arm.conf, gnu/packages/aux-files/linux-libre/6.9-arm64.conf, gnu/packages/aux-files/linux-libre/6.9-riscv.conf gnu/packages/aux-files/linux-libre/6.9-i686.conf, gnu/packages/aux-files/linux-libre/6.9-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove aforementioned .conf files. Change-Id: Ia05bce46ab94f0dbbc7bb5b2e75e2067e9b78e7b Signed-off-by: Leo Famulari <leo@famulari.name> Wilko Meyer 2024-07-29gnu: Add linux-libre 6.10.1....* gnu/packages/linux.scm (linux-libre-6.10-version, linux-libre-6.10-gnu-revision, deblob-scripts-6.10, linux-libre-6.10-pristine-source, linux-libre-6.10-source, linux-libre-headers-6.10, linux-libre-6.10): New variables. * gnu/packages/aux-files/linux-libre/6.10-arm.conf, gnu/packages/aux-files/linux-libre/6.10-arm64.conf, gnu/packages/aux-files/linux-libre/6.10-i686.conf, gnu/packages/aux-files/linux-libre/6.10-x86.conf: New files. * Makefile.am (AUX_FILES): Add them. Change-Id: If62ec2e8029ebd7531d3b4ba9a666c0b5f3b0f4c Signed-off-by: Leo Famulari <leo@famulari.name> Wilko Meyer 2024-07-07gnu: emacs-next: Update to 30.0.60-1.4e22ef8....* gnu/packages/aux-files/emacs/comp-integrity-next.el: New file. * Makefile.am (AUX_FILES): Register it here. * gnu/packages/emacs.scm (emacs-next-minimal): Update to 30.0.60-1.4e22ef8. (emacs->emacs-next)[arguments]: Swap out ‘validate-comp-integrity’ phase, so as to refer to the new integrity check. Liliana Marie Prikler 2024-06-17gnu: Remove linux-libre 6.8....* gnu/packages/linux.scm (linux-libre-6.8-version, linux-libre-6.8-gnu-revision, deblob-scripts-6.8, linux-libre-6.8-pristine-source, linux-libre-6.8-source, linux-libre-headers-6.8, linux-libre-6.8): Remove variables. * gnu/packages/aux-files/linux-libre/6.8-arm.conf, gnu/packages/aux-files/linux-libre/6.8-arm64.conf, gnu/packages/aux-files/linux-libre/6.8-riscv.conf gnu/packages/aux-files/linux-libre/6.8-i686.conf, gnu/packages/aux-files/linux-libre/6.8-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove aforementioned .conf files. Signed-off-by: Leo Famulari <leo@famulari.name> Change-Id: Ib94c61f629721f94a307e51b449e5ccd117a2f9a Wilko Meyer 2024-06-06gnu: linux-libre: Add 6.9-riscv.conf...* gnu/packages/aux-files/linux-libre/6.9-riscv.conf: New file. * Makefile.am (AUX_FILES): Register it. Change-Id: I1f5e24726c3a59bec73805068548ce5916b427f8 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn> Zheng Junjie 2024-05-26gnu: Add linux-libre 6.9....Big thanks to Dariqq <dariqq@posteo.net> for debugging and communicating upstream about a problem with the deblobbing scripts in this kernel series! * gnu/packages/linux.scm (linux-libre-6.9-version, linux-libre-6.9-gnu-revision, deblob-scripts-6.9, linux-libre-6.9-pristine-source, linux-libre-6.9-source, linux-libre-headers-6.9, linux-libre-6.9): New variables. * gnu/packages/aux-files/linux-libre/6.9-arm.conf, gnu/packages/aux-files/linux-libre/6.9-arm64.conf, gnu/packages/aux-files/linux-libre/6.9-i686.conf, gnu/packages/aux-files/linux-libre/6.9-x86.conf: New files. * Makefile.am (AUX_FILES): Add them. Signed-off-by: Leo Famulari <leo@famulari.name> Change-Id: I8dc011a603684f0be88766b7881aa6c560b94443 Wilko Meyer 2024-05-22gnu: linux-libre-6.8: Add riscv config....* gnu/packages/aux-files/linux-libre/6.8-riscv.conf: New files. * Makefile.am (AUX_FILES): Add it. Change-Id: I293912d4f7fe09e281432b0f973999d9d8db582a Zheng Junjie 2024-04-30gnu: Remove linux-libre 6.7....* gnu/packages/linux.scm (linux-libre-6.7-version, linux-libre-6.7-gnu-revision, deblob-scripts-6.7, linux-libre-6.7-pristine-source, linux-libre-6.7-source, linux-libre-headers-6.7, linux-libre-6.7): Remove variables. * gnu/packages/aux-files/linux-libre/6.7-arm.conf, gnu/packages/aux-files/linux-libre/6.7-arm64.conf, gnu/packages/aux-files/linux-libre/6.7-i686.conf, gnu/packages/aux-files/linux-libre/6.7-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove aforementioned .conf files. Change-Id: Ic69a65e1fbfa59d893e85d26950f33195ea9fbe1 Signed-off-by: Leo Famulari <leo@famulari.name> Wilko Meyer 2024-03-27Merge branch 'master' into emacs-teamLiliana Marie Prikler 2024-03-22gnu: Add linux-libre 6.8....* gnu/packages/linux.scm (linux-libre-6.8-version, linux-libre-6.8-gnu-revision, deblob-scripts-6.8, linux-libre-6.8-pristine-source, linux-libre-6.8-source, linux-libre-headers-6.8, linux-libre-6.8): New variables. * gnu/packages/aux-files/linux-libre/6.8-arm.conf, gnu/packages/aux-files/linux-libre/6.8-arm64.conf, gnu/packages/aux-files/linux-libre/6.8-i686.conf, gnu/packages/aux-files/linux-libre/6.8-x86.conf: New files. * Makefile.am (AUX_FILES): Add them. Signed-off-by: Leo Famulari <leo@famulari.name> Change-Id: I338eb725e0b991c67e4d98bd1ef0c441d3d8f0c6 Wilko Meyer 2024-03-22gnu: emacs: Only verify integrity of bound symbols....Some variants, like emacs-no-x, come with a reduced set of preloaded symbols, so don't expect them to always be native. * gnu/packages/aux-files/emacs/comp-integrity.el (expect-native-if-bound): New function. (x-setup-function-keys, dynamic-setting-handle-config-changed-event) (fontset-plain-name, fringe-mode, image-type, regexp-opt, scroll-bar-scale): Use ‘expect-native-if-bound’. (x-handle-no-bitmap-icon): Likewise, was already conditional. Liliana Marie Prikler 2024-03-04aux-files: comp-integrity: Adjust for emacs-pgtk....* gnu/packages/aux-files/emacs/comp-integrity.el (x-dnd-init-frame): Require x-dnd. (x-handle-no-bitmap-icon): Only test this if it's bound. Liliana Marie Prikler 2024-03-02gnu: emacs-next-minimal: Update to 30.0.50-2.170c655....* gnu/packages/emacs.scm (emacs-next-minimal): Update to 30.0.50-2.170c655. * gnu/packages/aux-files/emacs/comp-integrity.el: Adjust accordingly. Liliana Marie Prikler 2024-03-02Merge branch 'master' into emacs-teamLiliana Marie Prikler 2024-02-25gnu: renpy: Update to 8.2.0....* gnu/packages/aux-files/renpy/renpy.in (path-to-saves): Honour RENPY_PATH_TO_SAVES. (path_to_logdir, predefined_searchpath): New procedures. * gnu/packages/game-development.scm (python-renpy): Update to 8.2.0. Liliana Marie Prikler 2024-02-24gnu: emacs: Check integrity of native-compiled files....In the previous commit, we've added a patch that potentially messes with how built-in (especially preloaded) Lisp libraries are loaded. Thus, we might want to assert that these files still load fine, as reported when querying the builtin documentation of functions provided by them. * gnu/packages/aux-files/emacs/comp-integrity.el: New file. * gnu/Makefile.am (dist_noinst_DATA): Register it here. * gnu/packages/emacs.scm (emacs-no-x)[#:phases]: Add ‘validate-comp-integrity’. Liliana Marie Prikler 2024-02-20gnu: linux-libre 6.7: Modify .conf files....* gnu/packages/aux-files/linux-libre/6.7-arm.conf, gnu/packages/aux-files/linux-libre/6.7-arm64.conf: Add platform support. Change-Id: I90dee088ab11a31cb526b396d675e7bc22d67297 Signed-off-by: Leo Famulari <leo@famulari.name> Wilko Meyer 2024-01-22gnu: Remove linux-libre 4.14....* gnu/packages/linux.scm (linux-libre-4.14-version, linux-libre-4.14-gnu-revision, deblob-scripts-4.14, linux-libre-4.14-pristine-source, linux-libre-4.14-source, linux-libre-headers-4.14, linux-libre-4.14, linux-libre-arm-generic-4.14, linux-libre-arm-omap2plus-4.14): Remove variables. * gnu/packages/aux-files/linux-libre/4.14-arm.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove aforementioned .conf files. * gnu/tests/base.scm (%test-linux-libre-4.14): Remove variable. Change-Id: I40393b5f46b989848d569c929f1d9c986736553e Wilko Meyer 2024-01-17gnu: Add linux-libre 6.7....* gnu/packages/linux.scm (linux-libre-6.7-version, linux-libre-6.7-gnu-revision, deblob-scripts-6.7, linux-libre-6.7-pristine-source, linux-libre-6.7-source, linux-libre-headers-6.7, linux-libre-6.7): New variables. * gnu/packages/aux-files/linux-libre/6.7-arm.conf, gnu/packages/aux-files/linux-libre/6.7-arm64.conf, gnu/packages/aux-files/linux-libre/6.7-i686.conf, gnu/packages/aux-files/linux-libre/6.7-x86.conf: New files. * Makefile.am (AUX_FILES): Add them. * Makefile.am: Update my copyright header. Change-Id: I88b633933875f64bd2859774419e077d8f36d75b Signed-off-by: Leo Famulari <leo@famulari.name> Wilko Meyer 2023-12-18build-system: Add ‘composer-build-system’....* guix/build-system/composer.scm: New file. * guix/build/composer-build-system.scm: New file. * gnu/packages/aux-files/findclass.php: New file. * Makefile.am: Add them. * doc/guix.texi (Build Systems): Document it. Co-authored-by: Julien Lepiller <julien@lepiller.eu> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Ie6a05b42ff04d3ad774a0a20278a77e4820bb8f6 Nicolas Graves 2023-07-23gnu: Remove linux-libre 6.5....This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-6.5-version, linux-libre-6.5-gnu-revision, deblob-scripts-6.5, linux-libre-6.5-pristine-source, linux-libre-6.5-source, linux-libre-headers-6.5, linux-libre-6.5): Remove variables. * gnu/packages/aux-files/linux-libre/6.5-arm.conf, gnu/packages/aux-files/linux-libre/6.5-arm64.conf, gnu/packages/aux-files/linux-libre/6.5-i686.conf, gnu/packages/aux-files/linux-libre/6.5-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Change-Id: I142c28a82ab4afbdc62f5bfcd69382a4d2a0ea8c Leo Famulari 2023-07-23gnu: Add linux-libre 6.6.1....* gnu/packages/linux.scm (linux-libre-6.6-version, linux-libre-6.6-gnu-revision, deblob-scripts-6.6, linux-libre-6.6-pristine-source, linux-libre-6.5-source, linux-libre-headers-6.6, linux-libre-6.6): New variables. * gnu/packages/aux-files/linux-libre/6.6-arm.conf, gnu/packages/aux-files/linux-libre/6.6-arm64.conf, gnu/packages/aux-files/linux-libre/6.6-i686.conf, gnu/packages/aux-files/linux-libre/6.6-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Change-Id: I37b2b98b8a2ec745137e92380f34e69082c5e662 Signed-off-by: Leo Famulari <leo@famulari.name> Wilko Meyer 2023-11-08gnu: vim: Add vim packages to 'package-path' instead of 'runtime-path'.... This is neccesary because vim's built-in plugin manager looks for directories under 'package-path' instead of 'runtime-path.' Once we have told vim the package-path, it adds all the packages to the runtime-path automatically for us. * gnu/packages/aux-files/guix.vim: Add paths to packagepath instead of runtimepath. Remove code to adjust runtimepath after adding paths. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Jonathan Scoresby 2023-10-29Revert "gnu: linux-libre@6: Enable Coreboot framebuffer support (again)."...This reverts commit 6d7e181ba18d11c92409a93936025fb46b9c8171. Tobias Geerinckx-Rice 2023-10-22gnu: linux-libre@6: Enable Coreboot framebuffer support (again)....This also resolves an unexplained divergence in the i686 and x86_64 kernel configurations. * gnu/packages/aux-files/linux-libre/6.1-i686.conf, gnu/packages/aux-files/linux-libre/6.5-i686.conf: Set CONFIG_DRM_SIMPLEDRM=m. * gnu/packages/aux-files/linux-libre/6.1-x86_64.conf, gnu/packages/aux-files/linux-libre/6.5-x86_64.conf: Likewise, and set CONFIG_SYSFB_SIMPLEFB=y and CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m. Change-Id: I707a293b58f7502cf107057ee0fa0b23d5630696 Tobias Geerinckx-Rice