From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: Re: [PATCH] Add php Date: Sun, 30 Oct 2016 23:17:58 +0000 Message-ID: <87ins9s9y1.fsf@duckhunt.i-did-not-set--mail-host-address--so-tickle-me> References: <20161030130828.3797d37d@polymos.lepiller.eu> <20161030175105.1f6eeff2@polymos.lepiller.eu> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43482) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c0zMb-0004Yr-JI for guix-devel@gnu.org; Sun, 30 Oct 2016 19:18:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c0zMY-0002n3-Cj for guix-devel@gnu.org; Sun, 30 Oct 2016 19:18:05 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:57821) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c0zMY-0002ms-7J for guix-devel@gnu.org; Sun, 30 Oct 2016 19:18:02 -0400 In-Reply-To: <20161030175105.1f6eeff2@polymos.lepiller.eu> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Julien Lepiller , guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > From 2b0d70360296a9f7639529507bea6d28d3524e06 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Sun, 30 Oct 2016 15:05:51 +0100 > Subject: [PATCH] gnu: Add php > > * gnu/packages/php.scm: New file. > * gnu/packages/php.scm (php): New variable. > --- > gnu/local.mk | 1 + > gnu/packages/php.scm | 192 +++++++++++++++++++++++++++++++++++++++++++++= ++++++ > 2 files changed, 193 insertions(+) > create mode 100644 gnu/packages/php.scm > > diff --git a/gnu/local.mk b/gnu/local.mk > index 8ee8b8c..dd6a4b0 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -292,6 +292,7 @@ GNU_SYSTEM_MODULES =3D \ > %D%/packages/pem.scm \ > %D%/packages/perl.scm \ > %D%/packages/photo.scm \ > + %D%/packages/php.scm \ > %D%/packages/pkg-config.scm \ > %D%/packages/plotutils.scm \ > %D%/packages/polkit.scm \ > diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm > new file mode 100644 > index 0000000..14d9b21 > --- /dev/null > +++ b/gnu/packages/php.scm > @@ -0,0 +1,192 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C2=A9 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 openldap) > + #:use-module (gnu packages pcre) > + #: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/") We prefer HTTPS when available, which is the case for https://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) > + (with-directory-excursion "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" Please move this to a source "snippet", so that they are not included in `guix build -S`. I believe we also have to list the licenses of the bundles that cannot be removed in the (license) field. > + #:configure-flags > + (list (string-append "--with-libxml-dir=3D" > + (assoc-ref %build-inputs "libxml2")) > + (string-append "--with-readline=3D" > + (assoc-ref %build-inputs "readline")) > + (string-append "--with-sqlite3=3D" > + (assoc-ref %build-inputs "sqlite")) > + (string-append "--with-pdo-sqlite=3D" > + (assoc-ref %build-inputs "sqlite")) > + (string-append "--with-pcre-regex=3D" > + (assoc-ref %build-inputs "pcre")) > + (string-append "--with-pcre-dir=3D" > + (assoc-ref %build-inputs "pcre")) > + (string-append "--with-zlib-dir=3D" > + (assoc-ref %build-inputs "zlib")) > + (string-append "--with-libzip=3D" > + (assoc-ref %build-inputs "zip")) > + (string-append "--with-bz2=3D" > + (assoc-ref %build-inputs "bzip2")) > + (string-append "--with-curl=3D" > + (assoc-ref %build-inputs "curl")) > + (string-append "--with-gd=3D" > + (assoc-ref %build-inputs "gd")) > + (string-append "--with-webp-dir=3D" > + (assoc-ref %build-inputs "libwebp")) > + (string-append "--with-jpeg-dir=3D" > + (assoc-ref %build-inputs "libjpeg")) > + (string-append "--with-png-dir=3D" > + (assoc-ref %build-inputs "libpng")) > + (string-append "--with-xpm-dir=3D" > + (assoc-ref %build-inputs "libxpm")) > + (string-append "--with-freetype-dir=3D" > + (assoc-ref %build-inputs "freetype")) > + (string-append "--with-gettext=3D" > + (assoc-ref %build-inputs "glibc")) ; libi= ntl.h > + (string-append "--with-gmp=3D" > + (assoc-ref %build-inputs "gmp")) > + (string-append "--with-onig=3D" > + (assoc-ref %build-inputs "oniguruma")) > + (string-append "--with-xsl=3D" > + (assoc-ref %build-inputs "libxslt")) > + (string-append "--with-ldap=3D" > + (assoc-ref %build-inputs "openldap")) > + (string-append "--with-ldap-sasl=3D" > + (assoc-ref %build-inputs "cyrus-sasl")) > + ;; PHP=E2=80=99s Pspell extension, while retaining its c= urrent name, > + ;; now uses the Aspell library. > + (string-append "--with-pspell=3D" > + (assoc-ref %build-inputs "aspell")) > + (string-append "--with-tidy=3D" > + (assoc-ref %build-inputs "tidy")) > + (string-append "--with-gdbm=3D" > + (assoc-ref %build-inputs "gdbm")) > + (string-append "--with-pgsql=3D" > + (assoc-ref %build-inputs "postgresql")) > + (string-append "--with-pdo-pgsql=3D" > + (assoc-ref %build-inputs "postgresql")) > + "--enable-fpm" "--with-openssl" > + "--with-zlib" "--enable-bcmath=3Dshared" > + "--enable-calendar" "--enable-dba=3Dshared" > + "--enable-ftp" > + "--enable-mbstring" "--enable-inifile" "--enable-flatfil= e" > + "--enable-exif" "--enable-mbstring" > + "--enable-pcntl" "--with-pdo-mysql" > + "--enable-sockets" > + "--with-iconv") > + ;; we could add "--with-snmp", but it requires netsnmp t= hat > + ;; we don't have a package for. It is used to build the = snmp > + ;; extension of php. > + #:test-target "test" > + ;; A lot of tests fail and failure is not considered fatal. > + #:tests? #f)) > + (inputs `(("readline" ,readline) > + ("pcre" ,pcre) > + ("aspell" ,aspell) > + ("glibc" ,glibc) > + ("gmp" ,gmp) > + ("sqlite" ,sqlite) > + ("openssl" ,openssl) > + ("tidy" ,tidy) > + ("openldap" ,openldap) > + ("libxslt" ,libxslt) > + ("libwebp" ,libwebp) > + ("libpng" ,libpng) > + ("libxpm" ,libxpm) > + ("libx11" ,libx11) > + ("libjpeg" ,libjpeg) > + ("libgcrypt" ,libgcrypt) > + ("oniguruma" ,oniguruma) > + ("bzip2" ,bzip2) > + ("freetype" ,freetype) > + ("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 (PHP Hypertext Processor) is a server-side (CGI) scripting > +language designed primarily for web development but is also used as > +a general-purpose programming language. PHP code may be embedded into > +HTML code, or it can be used in combination with various web template > +systems, web content management systems and web frameworks.") > + > + (license (license:non-copyleft "file://LICENSE")))); the php license > --=20 > 2.10.1 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBCgAGBQJYFn+mAAoJEKKgbfKjOlT63uIH/imVcl8zkKfeYHUCoUa01jfd DKBhckVxtH73WAg6IHDB3OJnnGlrc/NKw+Yg5bOBLKgcjvUYrS0cVtuO4Fk+N/ti 00gHyh3vk0KCq7VwoEDUa8zBln/751XrNGpTovcmRW77Mm1IBFEB90wiAeGxry4G R6+hfctlGYTMNgzbjrpLQ5qOeW3G3ZdB52gbMbLeCQ5+LzHKKO/ZTJQPJG+E9KVg uqANg8B2dL/De+j7S7ruc9iodRYAuaT1err4phnmBd9NZxdG7hXmdckzMGa70EDI 0HGpSmgGSi+1f5Ay6XUMvVWwX09o1CSo/CLNVumzg52zy8GhCFK4Wwv6adHcOh8= =v8b+ -----END PGP SIGNATURE----- --=-=-=--