aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 apr)
  #:use-module ((guix licenses) #:prefix l:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages crypto)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages autotools))

(define-public apr
  (package
    (name "apr")
    (version "1.7.4")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://apache/apr/apr-"
                                 version ".tar.bz2"))
             (sha256
              (base32
               "0xsmqgjiyw3s6va5dm86djnjzg9r0qc1zsldwz4sd8pkhglqsr7w"))
             (patches
              (search-patches "apr-skip-getservbyname-test.patch"))
             (patch-flags '("-p0"))))
    (build-system gnu-build-system)
    (arguments
     ;; Sometimes we end up with two processes concurrently trying to make
     ;; 'libmod_test.la': <http://hydra.gnu.org/build/60266/nixlog/2/raw>.
     ;; Thus, build sequentially.
     `(#:parallel-build? #f
       #:parallel-tests? #f
       #:phases
       (modify-phases %standard-phases
         ,@(if (target-ppc32?)
               `((add-after 'unpack 'patch-sources
                   (lambda* (#:key inputs native-inputs #:allow-other-keys)
                     (invoke "patch" "-p1" "--force" "--input"
                             (assoc-ref (or native-inputs inputs)
                                        "atomics-patch")))))
               '())
         (add-after 'install 'patch-libxcrypt-reference
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (define out (assoc-ref outputs "out"))
             (define libxcrypt
               (dirname (search-input-file inputs "/lib/libcrypt.so.1")))
             (substitute* (list (string-append out "/bin/apr-1-config")
                                (string-append out "/lib/pkgconfig/apr-1.pc"))
               (("-lcrypt")
                (string-append "-L" libxcrypt " -lcrypt"))))))))
    (inputs (list perl libltdl libxcrypt))
    (native-inputs
     `(,@(if (target-ppc32?)
           `(("atomics-patch"
              ,(local-file (search-patch "apr-fix-atomics.patch"))))
           '())))
    (home-page "https://apr.apache.org/")
    (synopsis "The Apache Portable Runtime Library")
    (description
     "The mission of the Apache Portable Runtime (APR) project is to create and
maintain software libraries that provide a predictable and consistent interface
to underlying platform-specific implementations.  The primary goal is to provide
an API to which software developers may code and be assured of predictable if
not identical behaviour regardless of the platform on which their software is
built, relieving them of the need to code special-case conditions to work
around or take advantage of platform-specific deficiencies or features.")
    (license l:asl2.0)))

(define-public apr-util
  (package
    (name "apr-util")
    (version "1.6.3")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://apache/apr/apr-util-"
                                 version ".tar.bz2"))
             (sha256
              (base32
               "1dbjjwyfqvq7xa7xsxq2rv0clkwsmna2j12575n34ih7f7ipc454"))))
    (build-system gnu-build-system)
    (inputs
     (list apr libxcrypt))
    (propagated-inputs
     (list expat))
    (arguments
     '(#:phases
       (modify-phases %standard-phases
         (replace 'configure
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((out   (assoc-ref outputs "out"))
                   (apr   (assoc-ref inputs  "apr"))
                   (expat (assoc-ref inputs  "expat")))
               (setenv "CONFIG_SHELL" (which "bash"))
               (invoke "./configure"
                       (string-append "--prefix=" out)
                       (string-append "--with-apr=" apr)
                       (string-append "--with-expat=" expat))))))

       ;; There are race conditions during 'make check'.  Typically, the
       ;; 'testall' executable is not built yet by the time 'make check' tries
       ;; to run it.  See
       ;; <http://lists.gnu.org/archive/html/guix-devel/2014-03/msg00261.html>.
       #:parallel-tests? #f))
    (home-page "https://apr.apache.org/")
    (synopsis "One of the Apache Portable Runtime Library companions")
    (description
     "APR-util provides a number of helpful abstractions on top of APR.")
    (license l:asl2.0)))
lass='msg-avail'>...* gnu/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/guile.scm (guile-git)[source]: Use it. Maxim Cournoyer 2021-11-17Merge branch 'master' into core-updates-frozenLudovic Courtès 2021-11-08gnu: packages: Remove last year's deprecations....* gnu/packages/admin.scm (guile3.0-shepherd): Remove variable. * gnu/packages/benchmark.scm (imb-openmpi): Likewise. * gnu/packages/boost.scm (boost-with-python3): Likewise. * gnu/packages/pep.scm (python-pep-adapter)[inputs]: Adjust accordingly. * gnu/packages/cpp.scm (nlohmann-json-cpp): Likewise. * gnu/packages/games.scm (openrct2)[inputs]: Adjust accordingly. * gnu/packages/cups.scm (escpr): Likewise. * gnu/packages/django.scm (python-django-jsonfield): Likewise. * gnu/packages/emacs-xyz.scm (emacs-modus-operandi-theme) (emacs-modus-vivendi-theme): Likewise. * gnu/packages/engineering.scm (kicad-i18l): Likewise. * gnu/packages/enlightenment.scm (enlightenment-wayland): Likewise. * gnu/packages/firmware.scm (opensbi-qemu-virt, opensbi-qemu-sifive-u): Likewise. * gnu/packages/fonts.scm (font-gnu-freefont-ttf, font-open-dyslexic): Likewise. * gnu/packages/game-development.scm (guile3.0-chickadee) (python-sge-pygame): Likewise. * gnu/packages/games.scm (retux)[inputs]: Adjust accordingly. * gnu/packages/gnome-xyz.scm (numix-theme): Likewise. * gnu/packages/gnupg.scm (guile3.0-gcrypt): Likewise. * gnu/packages/gstreamer.scm (gst-transcoder): Likewise. * gnu/packages/gtk.scm (guile3.0-cairo, guile3.0-present, guile3.0-rsvg): Likewise. * gnu/packages/guile-xyz.scm (guile3.0-colorized, guile3.0-commonmark) (guile3.0-config, guile3.0-email, guile3.0-fibers, guile3.0-gi) (guile3.0-hall, guile3.0-hashing, guile3.0-haunt, guile3.0-ics) (guile3.0-irregex, guile3.0-lib, guile3.0-mcron, guile3.0-minikanren) (guile3.0-ncurses, guile3.0-ncurses/gpm, guile3.0-newt, guile3.0-parted) (guile3.0-pfds, guile3.0-picture-language, guile3.0-semver) (guile3.0-simple-zmq, guile3.0-squee, guile3.0-syntax-highlight) (guile3.0-websocket, guile3.0-wisp, guile3.0-xapian): Likewise. * gnu/packages/guile.scm (define-deprecated-guile3.0-package) (guile3.0-json, guile3.0-gdbm-ffi, guile3.0-sqlite3) (guile3.0-bytestructures, guile3.0-git): Likewise. * gnu/packages/haskell-apps.scm (ghc-stylish-haskell): Likewise. * gnu/packages/linux.scm (linux-libre-arm-veyron): Likewise. * gnu/packages/mail.scm (guile3.0-mailutils): Likewise. * gnu/packages/monitoring.scm (python2-graphite-web): Likewise. * gnu/packages/package-management.scm (guile3.0-guix): Likewise. * gnu/packages/package-management.scm (python-conda): Likewise. * gnu/packages/phabricator.scm (libphutil): Likewise. * gnu/packages/plotutils.scm (guile3.0-charting): Likewise. * gnu/packages/python-xyz.scm (python2-smmap2, python-glances) (python-smmap2): Likewise. * gnu/packages/shells.scm (oil-shell): Likewise. * gnu/packages/sqlite.scm (sqlite-with-column-metadata): Likewise. * gnu/packages/ssh.scm (guile3.0-ssh): Likewise. * gnu/packages/terminals.scm (et): Likewise. * gnu/packages/tls.scm (guile3.0-gnutls): Likewise. * gnu/packages/vlang.scm (v): Likewise. * gnu/packages/vpn.scm (wireguard): Likewise. * gnu/packages/web-browsers.scm (next, sbcl-next): Likewise. * gnu/packages/xorg.scm (transset-df): Likewise. Tobias Geerinckx-Rice 2021-10-10gnu: guile: Fix building on riscv64-linux....* gnu/packages/guile.scm (guile-3.0)[arguments]: On riscv64-linux add a phase to skip a failing test. Efraim Flashner 2021-09-30gnu: guile: Use 'modify-inputs' where appropriate....* gnu/packages/guile.scm (guile-3.0)[propagated-inputs]: Use 'modify-inputs'. (guile-3.0/libgc-7)[propagated-inputs]: Likewise. (guile-for-guile-emacs)[native-inputs]: Likewise. * gnu/packages/make-bootstrap.scm (make-guile-static): Likewise. Ludovic Courtès 2021-09-24gnu: guile@2.2: Build with '-fexcess-precision=standard' on i686....* gnu/packages/guile.scm (guile-2.2)[arguments]: New field. (guile-3.0)[arguments]: Inherit arguments from GUILE-2.0 instead of GUILE-2.2 Ludovic Courtès 2021-09-07Merge branch 'master' into core-updates-frozenLudovic Courtès 2021-09-06gnu: guile@1.8: Disable tests....* gnu/packages/guile.scm (guile-1.8)[arguments]: Pass #:tests? #f. Ludovic Courtès 2021-09-06gnu: guile@1.8: Build with '-O1'....Fixes <https://issues.guix.gnu.org/50427>. * gnu/packages/guile.scm (guile-1.8)[arguments]: Pass "CFLAGS" to #:configure-flags. Ludovic Courtès 2021-07-29Merge branch 'master' into core-updates-frozen... Conflicts: gnu/packages/bioinformatics.scm gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/emacs-xyz.scm gnu/packages/gpodder.scm gnu/packages/music.scm gnu/packages/patches/glibc-bootstrap-system.patch gnu/packages/python-xyz.scm gnu/packages/shells.scm gnu/packages/statistics.scm Marius Bakke 2021-08-15Update copyright/name notices for Christine Lemmer-Webber....* doc/guix-cookbook.texi: Update copyright/name for Christine Lemmer-Webber. * gnu/build/image.scm: Likewise. * gnu/build/vm.scm: Likewise. * gnu/packages/admin.scm: Likewise. * gnu/packages/assembly.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/backup.scm: Likewise. * gnu/packages/check.scm: Likewise. * gnu/packages/databases.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/finance.scm: Likewise. * gnu/packages/gnupg.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/haskell-xyz.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/mail.scm: Likewise. * gnu/packages/password-utils.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/python-web.scm: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/sphinx.scm: Likewise. * gnu/packages/ssh.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/system/vm.scm: Likewise. Christopher Lemmer Webber