;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Julien Lepiller ;;; ;;; 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) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages aspell) #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages image) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages zip) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:)) (define-public php (package (name "php") (version "7.0.12") (home-page "http://www.php.net/") (source (origin (method url-fetch) (uri (string-append home-page "distributions/" name "-" version ".tar.xz")) (sha256 (base32 "1zw33fbkrschqr2yrmvcp1z34v4rvqzm0pn1vsamjbi43jgc9mpk")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'unbundle (lambda* (#:key inputs #:allow-other-keys) (chdir "ext") (for-each delete-file-recursively '("pcre/pcrelib" "sqlite3/libsqlite" "gd/libgd" "mbstring/oniguruma" "xmlrpc/libxmlrpc" "zip/lib")) ;; couldn't unbundle these libraries: ;"bcmath/libbcmath" ;; this is bc. ;"fileinfo/libmagic" ;"mbstring/libmbfl" (chdir "..")))) #:configure-flags (list (string-append "--with-libxml-dir=" (assoc-ref %build-inputs "libxml2")) (string-append "--with-readline=" (assoc-ref %build-inputs "readline")) (string-append "--with-sqlite3=" (assoc-ref %build-inputs "sqlite")) (string-append "--with-pdo-sqlite=" (assoc-ref %build-inputs "sqlite")) (string-append "--with-pcre-regex=" (assoc-ref %build-inputs "pcre")) (string-append "--with-pcre-dir=" (assoc-ref %build-inputs "pcre")) (string-append "--with-zlib-dir=" (assoc-ref %build-inputs "zlib")) (string-append "--with-libzip=" (assoc-ref %build-inputs "zip")) (string-append "--with-bz2=" (assoc-ref %build-inputs "bzip2")) (string-append "--with-curl=" (assoc-ref %build-inputs "curl")) (string-append "--with-gd=" (assoc-ref %build-inputs "gd")) (string-append "--with-webp-dir=" (assoc-ref %build-inputs "libwebp")) (string-append "--with-jpeg-dir=" (assoc-ref %build-inputs "libjpeg")) (string-append "--with-png-dir=" (assoc-ref %build-inputs "libpng")) (string-append "--with-xpm-dir=" (assoc-ref %build-inputs "libxpm")) (string-append "--with-freetype-dir=" (assoc-ref %build-inputs "freetype")) (string-append "--with-gettext=" (assoc-ref %build-inputs "glibc")) ; libintl.h (string-append "--with-gmp=" (assoc-ref %build-inputs "gmp")) (string-append "--with-onig=" (assoc-ref %build-inputs "oniguruma")) (string-append "--with-xsl=" (assoc-ref %build-inputs "libxslt")) (string-append "--with-ldap-sasl=" (assoc-ref %build-inputs "cyrus-sasl")) ;; PHP’s Pspell extension, while retaining its current name, ;; now uses the Aspell library. (string-append "--with-pspell=" (assoc-ref %build-inputs "aspell")) (string-append "--with-tidy=" (assoc-ref %build-inputs "tidy")) (string-append "--with-gdbm=" (assoc-ref %build-inputs "gdbm")) (string-append "--with-pgsql=" (assoc-ref %build-inputs "postgresql")) (string-append "--with-pdo-pgsql=" (assoc-ref %build-inputs "postgresql")) "--enable-fpm" "-with-openssl" "--with-zlib" "--enable-bcmath=shared" "--enable-calendar" "--enable-dba=shared" "--enable-ftp" "--enable-mbstring" "--enable-inifile" "--enable-flatfile" "--enable-exif" "--enable-mbstring" "--enable-pcntl" "--with-pdo-mysql" "--enable-sockets" "--with-iconv") ;"--with-snmp" #:test-target "test" #:tests? #f)) (inputs `(("readline" ,readline) ("pcre" ,pcre) ("aspell" ,aspell) ("glibc" ,glibc) ("gmp" ,gmp) ("sqlite" ,sqlite) ("openssl" ,openssl) ("tidy" ,tidy) ("libxslt" ,libxslt) ("libexif" ,libexif) ("libwebp" ,libwebp) ("libpng" ,libpng) ("libxpm" ,libxpm) ("libx11" ,libx11) ("libjpeg" ,libjpeg) ("libgcrypt" ,libgcrypt) ("oniguruma" ,oniguruma) ("bzip2" ,bzip2) ("bc" ,bc) ("freetype" ,freetype) ("gettext" ,gnu-gettext) ("mariadb" ,mariadb) ("gdbm" ,gdbm) ("postgresql" ,postgresql) ("gd" ,gd) ("zip" ,zip) ("cyrus-sasl" ,cyrus-sasl) ("curl" ,curl) ("zlib" ,zlib) ("libxml2" ,libxml2))) (native-inputs `(("pkg-config" ,pkg-config) ("bison" ,bison) ("intltool" ,intltool) ("libxml2" ,libxml2))) ; for xml2-config (synopsis "PHP programming language") (description "PHP is one of the most commonly used programming language for the web") (license (license:non-copyleft "file://LICENSE")))); the php license