;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2023 Nicolas Graves ;;; ;;; 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 . (define-module (gnu packages php-xyz) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system composer) #:use-module (guix build-system gnu) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages linux) #:use-module (gnu packages php) #:use-module (gnu packages version-control)) (define-public composer-classloader (package (name "composer-classloader") (version "1.9.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/composer/composer") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0127zmmg3yx84ljngfs86q7kjhyypybkf4d1ihfrfnzgynzxfxdf")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure) (delete 'build) (delete 'check) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) (install-file "src/Composer/Autoload/ClassLoader.php" (string-append out "/share/web/composer/")))))))) (home-page "https://getcomposer.org") (synopsis "PHP class loader extracted from the composer package") (description "This package contains the class loader class used by Composer to build its autoloading feature. This package is used by the composer-build-system to build its own store-aware autoloading feature.") (license license:expat))) (define-public php-cache-tag-interop (package (name "php-cache-tag-interop") (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/php-cache/tag-interop") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "08x7sqxhkwni0arrl68xb2fxd2qjwdkxlxmjq7j3q2ic2qbl8iif")))) (build-system composer-build-system) (inputs (list php-psr-cache)) (synopsis "PHP framework for tags") (description "This package provides a PHP framework interoperable interfaces for tags.") (home-page "https://www.php-cache.com/en/latest/") (license license:expat))) (define-public php-doctrine-collections (package (name "php-doctrine-collections") (version "2.1.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/doctrine/collections") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0b384rkxl70bb164373c3y3n72816jkggjm9vg58avb7lqx3dq1i")))) (build-system composer-build-system) (arguments '(#:test-flags '("--bootstrap" "vendor/autoload.php"))) (inputs (list php-doctrine-deprecations)) (native-inputs (list php-phpunit-phpunit)) (synopsis "Additional functionality on top of PHP arrays") (description "This package provides a PHP library that adds additional functionality on top of arrays.") (home-page "https://www.doctrine-project.org/projects/collections") (license license:expat)))