aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; 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 pcre)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages readline)
  #:use-module (gnu packages)
  #:use-module (guix utils)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu))

(define-public pcre
  (package
    (name "pcre")
    (version "8.45")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/pcre/pcre/"
                                  version "/pcre-" version ".tar.bz2"))
              (sha256
               (base32
                "1f7zichy6iimmkfrqdl575sdlm795cyc75szgg1vc2xvsbf6zbjd"))))
    (build-system gnu-build-system)
    (outputs '("out"          ;library & headers
               "bin"          ;depends on Readline (adds 20MiB to the closure)
               "doc"          ;1.8 MiB of HTML
               "static"))     ;1.8 MiB static libraries
    (inputs (list bzip2 readline zlib))
    (arguments
     (list
      #:disallowed-references '("doc")
      #:configure-flags #~'("--enable-utf"
                            "--enable-pcregrep-libz"
                            "--enable-pcregrep-libbz2"
                            "--enable-pcretest-libreadline"
                            "--enable-unicode-properties"
                            "--enable-pcre16"
                            "--enable-pcre32"
                            ;; riscv64-linux is an unsupported architecture.
                            #$@(if (target-riscv64?)
                                   #~()
                                   #~("--enable-jit")))
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'install 'move-static-libs
            (lambda _
              (let ((source (string-append #$output "/lib"))
                    (static (string-append #$output:static "/lib")))
                (mkdir-p static)
                (for-each (lambda (lib)
                            (link lib (string-append static "/"
                                                     (basename lib)))
                            (delete-file lib))
                          (find-files source "\\.a$"))))))))
    (synopsis "Perl Compatible Regular Expressions")
    (description
     "The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl 5.  PCRE has its
own native API, as well as a set of wrapper functions that correspond to the
POSIX regular expression API.")
    (license license:bsd-3)
    (home-page "https://www.pcre.org/")))

(define-public pcre2
  (package
    (name "pcre2")
    (version "10.42")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/PCRE2Project/pcre2"
                                  "/releases/download/pcre2-" version
                                  "/pcre2-" version ".tar.bz2"))
              (sha256
               (base32
                "0h78np8h3dxlmvqvpnj558x67267n08n9zsqncmlqapans6csdld"))))
    (build-system gnu-build-system)
    (outputs '("out" "static"))
    (inputs (list bzip2 readline zlib))
    (arguments
     (list #:configure-flags
           #~'("--enable-unicode"
               "--enable-pcre2grep-libz"
               "--enable-pcre2grep-libbz2"
               "--enable-pcre2test-libreadline"
               "--enable-pcre2-16"
               "--enable-pcre2-32"
               ;; riscv64-linux is an unsupported architecture.
               #$@(if (target-riscv64?)
                      #~()
                      #~("--enable-jit")))
           #:phases
           #~(modify-phases %standard-phases
               (add-after 'unpack 'patch-paths
                 (lambda _
                   (substitute* "RunGrepTest"
                     (("/bin/echo") (which "echo")))))
               (add-after 'install 'move-static-libs
                 (lambda _
                   (let ((source (string-append #$output "/lib"))
                         (static (string-append #$output:static "/lib")))
                     (mkdir-p static)
                     (for-each (lambda (lib)
                                 (link lib (string-append static "/"
                                                          (basename lib)))
                                 (delete-file lib))
                               (find-files source "\\.a$"))))))))
    (synopsis "Perl Compatible Regular Expressions")
    (description
     "The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl 5.  PCRE has its
own native API, as well as a set of wrapper functions that correspond to the
POSIX regular expression API.")
    (license license:bsd-3)
    (home-page "https://www.pcre.org/")))
svc-0.42, rust-windows-aarch64-msvc-0.39, rust-windows-aarch64-msvc-0.36, rust-windows-aarch64-msvc-0.32, rust-windows-aarch64-msvc-0.28, rust-windows-bindgen-0.51, rust-windows-i686-gnu-0.52, rust-windows-i686-gnu-0.48, rust-windows-i686-gnu-0.42, rust-windows-i686-gnu-0.36, rust-windows-i686-gnu-0.32, rust-windows-i686-gnu-0.28, rust-windows-i686-msvc-0.52, rust-windows-i686-msvc-0.48, rust-windows-i686-msvc-0.42, rust-windows-i686-msvc-0.39, rust-windows-i686-msvc-0.36, rust-windows-i686-msvc-0.32, rust-windows-i686-msvc-0.28, rust-windows-implement-0.48, rust-windows-implement-0.46, rust-windows-implement-0.44, rust-windows-implement-0.39, rust-windows-implement-0.32, rust-windows-interface-0.48, rust-windows-interface-0.46, rust-windows-interface-0.44, rust-windows-interface-0.39, rust-windows-metadata-0.51, rust-windows-sys-0.52, rust-windows-sys-0.48, rust-windows-sys-0.45, rust-windows-sys-0.42, rust-windows-sys-0.36, rust-windows-sys-0.28, rust-windows-gen-0.9, rust-windows-macros-0.9, rust-windows-targets-0.52, rust-windows-targets-0.48, rust-windows-targets-0.42, rust-windows-targets-0.39, rust-windows-targets-0.32, rust-windows-x86-64-gnu-0.52, rust-windows-x86-64-gnu-0.48, rust-windows-x86-64-gnu-0.42, rust-windows-x86-64-gnu-0.39, rust-windows-x86-64-gnu-0.36, rust-windows-x86-64-gnu-0.32, rust-windows-x86-64-gnu-0.28, rust-windows-x86-64-gnullvm-0.52, rust-windows-x86-64-gnullvm-48, rust-windows-x86-64-gnullvm-0.42, rust-windows-x86-64-msvc-0.52, rust-windows-x86-64-msvc-0.48, rust-windows-x86-64-msvc-0.42, rust-windows-x86-64-msvc-0.39, rust-windows-x86-64-msvc-0.36, rust-windows-x86-64-msvc-0.32, rust-windows-x86-64-msvc-0.28): Move from here ... * gnu/packages/crates-windows.scm: ... to here. Change-Id: I5abaa9402ae75199d4ec26b1e37b3a7293437c93 Efraim Flashner 2024-02-15gnu: go-github-com-mattn-go-shellwords: Move to golang-xyz....* gnu/packages/golang.scm (go-github-com-mattn-go-shellwords): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. * gnu/packages/terminals.scm: Add (gnu packages golang-xyz) module. Change-Id: Icedf167f4477c6a84fd1b897ca208d6e737efb48 Sharlatan Hellseher 2024-02-14gnu: tilda: Remove version 1.6-alpha....* gnu/packages/terminals.scm (tilda-dbus): Remove variable. tilda@2.0.0 comes with D-Bus support. Change-Id: If9cb43b9c7bd49562e2668c0e3ffab342edbac75 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com> Suhail 2024-02-14gnu: tilda: Update to 2.0.0....* gnu/packages/terminals.scm (tilda): Update to 2.0.0. [native-inputs]: Remove autoconf. Add autoconf-2.71. Change-Id: I5df92877e38a316555150350c73e2356109e71b2 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com> Suhail 2024-02-13gnu: go-golang.org-x-sync-errgroup: Move to golang-build....* gnu/packages/golang.scm (go-golang.org-x-sync-errgroup, go-golang.org-x-sync-semaphore): Move from here ... * gnu/packages/golang-build.scm: ... to here. * gnu/packages/check.scm: Add (gnu packages golang-build) module. Change-Id: Ie886c0f44e0a70629e23371b447f5a35006ade21 Sharlatan Hellseher 2024-01-09gnu: msgpack: Deprecate with msgpack-c....* gnu/packages/serialization.scm (msgpack-c): New variable. (msgpack-cxx): New variable. (msgpack): Rename to... (msgpack-3): ... this, and inherit from msgpack-c. * gnu/packages/vim.scm (eovim) [arguments]: Add help-cmake-find-msgpack-c phase. [inputs]: Replace msgpack with msgpack-c. * gnu/packages/terminals.scm (tmate) [inputs]: Replace msgpack with msgpack-3. * gnu/packages/networking.scm (opendht) [propagated-inputs]: Replace msgpack with msgpack-cxx. * gnu/packages/chemistry.scm (mmtf-cpp) [propagated-inputs]: Likewise. Maxim Cournoyer 2023-12-10Merge remote-tracking branch 'origin/master' into rust-team...Change-Id: Ic45f7071abd6a02c2ccad411500e5103c8272ffb Efraim Flashner 2023-11-28gnu: alacritty: Prepare for cross-compiling....* gnu/packages/terminals.scm (alacritty)[arguments]: Adjust the custom 'install phase to use the native 'tic' command and to find the alacritty binary wherever it is located. Change-Id: I3117f41a97bb6a5dd1037544c1a27bc01e924396 Efraim Flashner 2023-12-04gnu: beep: Add phase install-rules....* gnu/packages/terminals.scm (beep): Add phase install-rules. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nicolas Graves 2023-11-22gnu: tilda: Run guix style on tilda@1.5.4...* gnu/packages/terminals.scm (tilda): Re-indent. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Suhail 2023-11-22gnu: tilda: Fix lint error by updating input list format for v1.5.4...* gnu/packages/terminals.scm (tilda)[native-inputs]: Use updated format. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Suhail 2023-11-22gnu: tilda: Add version 1.6-alpha with D-Bus support...* gnu/packages/terminals.scm (tilda-dbus): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Suhail 2023-11-03gnu: foot: Update to 1.16.2....* gnu/packages/terminals.scm (foot): Update to 1.16.2. [arguments]: Use gexps. Change-Id: I0615f6251a918a572369c05b126853f79e9fca4c Signed-off-by: Christopher Baines <mail@cbaines.net> Jaeme Sifat 2023-11-03gnu: asciinema: Update to 2.4.0....* gnu/packages/terminals.scm (asciinema): Update to 2.4.0. Change-Id: I3e0fc7cc16aaebdf8346bb715f07021a5d568163 Signed-off-by: Christopher Baines <mail@cbaines.net> Timotej Lazar 2023-10-20gnu: eternalterminal: Update to 6.2.4....* gnu/packages/terminals.scm (eternalterminal): Update to 6.2.4. [arguments]: Add -DDISABLE_VCPKG=1 to #:configure-flags, remove #:phases. [inputs]: Remove gflags, add openssl, zlib and curl. [native-inputs]: Remove. Signed-off-by: Christopher Baines <mail@cbaines.net> Aaron Covrig 2023-10-11gnu: python-pyte: Update to 0.8.1....* gnu/packages/terminals.scm (python-pyte): Update to 0.8.1. Co-authored-by: jgart <jgart@dismail.de> Stefan Reichör 2023-10-03gnu: alacritty: Remove input labels....* gnu/packages/terminals.scm (alacritty)[native-inputs]: Remove input labels. [inputs]: Same. Efraim Flashner 2023-10-03gnu: alacritty: Patch references to more libraries....* gnu/packages/terminals.scm (alacritty)[arguments]: Also patch paths to X libraries in 'add-absolute-library-references phase. [inputs]: Add libxext, libxft, libxinerama, libxmu, libxpresent, libxscrnsaver, libxt, libxtst. Efraim Flashner 2023-10-03gnu: alacritty: Update to 0.12.3....* gnu/packages/terminals.scm (alacritty): Update to 0.12.3. [arguments]: Remove cargo-test-flags. Efraim Flashner 2023-09-24gnu: mlterm: Update to 3.9.3....* gnu/packages/terminals.scm (mlterm): Update to 3.9.3. Tobias Geerinckx-Rice 2023-09-24gnu: tio: Update to 2.7....* gnu/packages/terminals.scm (tio): Update to 2.7. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Raphaël Mélotte 2023-09-17gnu: Remove extraneous imports....Found by running 'guild compile -W3 gnu/packages/$module.scm', using guild from the upcoming Guile. * gnu/packages/admin.scm: Remove extraneous imports. * gnu/packages/avr.scm: Likewise. * gnu/packages/base.scm: Likewise. * gnu/packages/bootloaders.scm: Likewise. * gnu/packages/firmware.scm: Likewise. * gnu/packages/linphone.scm: Likewise. * gnu/packages/telephony.scm: Likewise. * gnu/packages/cran.scm: Likewise. * gnu/packages/kde.scm: Likewise. * gnu/packages/libcanberra.scm: Likewise. * gnu/packages/libreoffice.scm: Likewise. * gnu/packages/mes.scm: Likewise. * gnu/packages/mingw.scm: Likewise. * gnu/packages/serialization.scm: Likewise. * gnu/packages/sync.scm: Likewise. * gnu/packages/syncthing.scm: Likewise. * gnu/packages/terminals.scm: Likewise. * gnu/packages/version-control.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/wm.scm: Likewise. * gnu/packages/emulators.scm: Likewise. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer 2023-09-10gnu: foot: Update to 1.15.3....* gnu/packages/terminals.scm (foot): Update to 1.15.3. Tobias Geerinckx-Rice 2023-09-13gnu: libvterm: Update arguments style....* gnu/packages/terminals.scm (libvterm)[arguments]: Update arguments style. Signed-off-by: Christopher Baines <mail@cbaines.net> Zheng Junjie 2023-09-13gnu: libvterm: Update to 0.3.3....* gnu/packages/terminals.scm (libvterm): Update to 0.3.3. [source]: Use launchpad.net url. [arguments]: Use CC-FOR-TARGET. Signed-off-by: Christopher Baines <mail@cbaines.net> Zheng Junjie 2023-08-29gnu: Add python-halo....* gnu/packages/terminals.scm (python-halo): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> Jean-Pierre De Jesus DIAZ 2023-08-29gnu: Add python-log-symbols....* gnu/packages/terminals.scm (python-log-symbols): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> Jean-Pierre De Jesus DIAZ 2023-08-29gnu: Add python-spinners....* gnu/packages/terminals.scm (python-spinners): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> Jean-Pierre De Jesus DIAZ 2023-08-22gnu: tilix: Update to 1.9.5-0.8726e9e....Fix failing build of tilix by including commits since last released version. * gnu/packages/terminals.scm (tilix): Update to 1.9.5-0.8726e9e. Signed-off-by: John Kehayias <john.kehayias@protonmail.com> Aaron Covrig 2023-08-18gnu: alacritty: Update source and home-page URLs....Previous source URL redirects to the updated one. * gnu/packages/terminals.scm (alacritty): Update source and home-page URLs. John Kehayias 2023-08-18gnu: alacritty: Install example configuration....* gnu/packages/terminals.scm (alacritty)[phases]{install}: Install example configuration. John Kehayias 2023-07-30gnu: foot: Update to 1.15.2....* gnu/packages/terminals.scm (foot): Update to 1.15.2. Tobias Geerinckx-Rice 2023-08-01gnu: termite: Update to 16.6 (a maintained fork)....* gnu/packages/terminals.scm (termite): Switch to maintained fork. [description]: Adjust. 宋文武 2023-07-30gnu: kitty: Update to 0.21.2....There are newer versions of kitty but there are additional requirements. From v0.22.0 kitty requires additional Sphinx packages which use node to build themes. From v0.27.0 kitty additionally uses Go to build statically compiled, standalone binaries to use on servers. This will require more work to package, if possible at all currently (in the case of node and sphinx themes). * gnu/packages/patches/kitty-fix-wayland-protocols.patch: New file. * gnu/local.mk: Add it. * gnu/packages/terminals.scm (kitty): Update to 0.21.2. [source]: Use kitty-fix-wayland-protocols.patch. [native-inputs, inputs]: Remove labels. [phases]: Use gexps. Improve style. Use search-input-file. Remove trailing #t. {check}: Respect tests?. John Kehayias 2023-07-16gnu: foot: Update to 1.15.1....* gnu/packages/terminals.scm (foot): Update to 1.15.1. Tobias Geerinckx-Rice