From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: [PATCH] Add php Date: Sun, 30 Oct 2016 16:01:23 +0200 Message-ID: <20161030140123.GE18185@macbook42.flashner.co.il> References: <20161030130828.3797d37d@polymos.lepiller.eu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="twz1s1Hj1O0rHoT0" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38566) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c0qg2-0001Ld-9e for guix-devel@gnu.org; Sun, 30 Oct 2016 10:01:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c0qfy-0008Me-ST for guix-devel@gnu.org; Sun, 30 Oct 2016 10:01:34 -0400 Received: from flashner.co.il ([178.62.234.194]:52193) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c0qfy-0008M7-Dt for guix-devel@gnu.org; Sun, 30 Oct 2016 10:01:30 -0400 Content-Disposition: inline In-Reply-To: <20161030130828.3797d37d@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 Cc: guix-devel@gnu.org --twz1s1Hj1O0rHoT0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Oct 30, 2016 at 01:08:28PM +0100, Julien Lepiller wrote: > Hi, >=20 > here is a patch to add php to guix. > From b20406a07e8d8c99a189f5295929ff76a53d47e7 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Sun, 30 Oct 2016 15:05:51 +0100 > Subject: [PATCH] gnu: Add php >=20 > * gnu/packages/php.scm: New file. > * gnu/packages/php.scm (php): New variable. > --- > gnu/local.mk | 1 + > gnu/packages/php.scm | 187 +++++++++++++++++++++++++++++++++++++++++++++= ++++++ > 2 files changed, 188 insertions(+) > create mode 100644 gnu/packages/php.scm >=20 > diff --git a/gnu/local.mk b/gnu/local.mk > index a64b7ec..6a69391 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..f7fd1e0 > --- /dev/null > +++ b/gnu/packages/php.scm > @@ -0,0 +1,187 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C3=82=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 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=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-sasl=3D" > + (assoc-ref %build-inputs "cyrus-sasl")) > + ;; PHP=C3=A2=C2=80=C2=99s Pspell extension, while retain= ing its current 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") > + ;"--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 > --=20 > 2.10.1 >=20 the resulting binary doesn't have a link to libexif, bc, gettext or mariadb. that said, I don't php so I don't have a lot for comments. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --twz1s1Hj1O0rHoT0 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJYFf0qAAoJEPTB05F+rO6TElMP/ReCNcr2CbMfch6eQmiZ2aZp vVACHNR1TOn0yAjvdAG7MmfvhE996SW3rG1drtEXjvKm978knU5s9G+Cw0fslnJr 604RJC4HqfTW4sFuVsbqQAcZvcEyLsuOzB4IPWGNBLMVDYRTZiGltMPnm/ydWrbk 6W08BgxoLYJ7gkOcV0jiLmaAL2u1DqTB7UoWNmlrW/zPWCLwWVLp+geJSpIOa8Pt /HPtEzunZi7lMLUrowBCmfdekkYJv6HLaX+ghwO9s6NGgVIGo7vOqI2yaISVlhV+ /iuOrSJ2tBlZ72MHPbDUspqmdzdBFU5BRBTjSwRcWajtsxsJ3j3M9dPUxl7Ln8bH /ePs2088Swh8MkWuYKwO1IDsv4RarF/OYNIQgcmWLcYvbkaD8UMWUOPcw1EbYJjo aBjLxQI48Ol+XkoikxqznzmAlt4T1D2GcJgS8sr/z3iQ+ZYA80Gd9gR+0zTvYTEx X+uIRq7X3jMlRBinQp05SB46Z7DeSPBXfya2cp1iDgmVqjdYbhMxSg36VvoQmyTc 8kX3RZYpn6H0SW770AAmY2JrT65jt5kfQ9wi6x+gkZ5Wp/ZJ+ERxw4EeoHg0/z8U LOCce+aQcAn1vM8oSf53L9zg6Ebu1PF6nuOqhkSfJ9qR5+PdpoYuREXSjv9SDB3b 3uPYKmBgLc+d+iAo6y5P =KE0M -----END PGP SIGNATURE----- --twz1s1Hj1O0rHoT0--