lol

php: Use callPackages

+313 -324
-6
pkgs/development/interpreters/php/5.4.nix
··· 1 - { callPackage, apacheHttpd }: 2 - callPackage ./generic.nix { 3 - phpVersion = "5.4.44"; 4 - sha = "0vc5lf0yjk1fs7inri76mh0lrcmq32ji4m6yqdmg7314x5f9xmcd"; 5 - apacheHttpd = apacheHttpd; 6 - }
-6
pkgs/development/interpreters/php/5.5.nix
··· 1 - { callPackage, apacheHttpd }: 2 - callPackage ./generic.nix { 3 - phpVersion = "5.5.28"; 4 - sha = "1wy2v5rmbiia3v6fc8nwg1y3sdkdmicksxnkadz1f3035rbjqz8r"; 5 - apacheHttpd = apacheHttpd; 6 - }
-6
pkgs/development/interpreters/php/5.6.nix
··· 1 - { callPackage, apacheHttpd }: 2 - callPackage ./generic.nix { 3 - phpVersion = "5.6.12"; 4 - sha = "0fl5r0lzav7icg97p7gkvbxk0xk2mh7i1r45dycjlyxgf91109vg"; 5 - apacheHttpd = apacheHttpd; 6 - }
-8
pkgs/development/interpreters/php/7.0.nix
··· 1 - { callPackage, apacheHttpd }: 2 - callPackage ./generic.nix { 3 - phpVersion = "7.0.0beta1"; 4 - url = "https://downloads.php.net/~ab/php-7.0.0beta1.tar.bz2"; 5 - sha = "1pj3ysfhswg2r370ivp33fv9zbcl3yvhmxgnc731k08hv6hmd984"; 6 - apacheHttpd = apacheHttpd; 7 - php7 = true; 8 - }
+308
pkgs/development/interpreters/php/default.nix
··· 1 + { lib, stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison 2 + , mysql, libxml2, readline, zlib, curl, postgresql, gettext 3 + , openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype 4 + , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds 5 + , uwimap, pam, gmp, apacheHttpd }: 6 + 7 + let 8 + 9 + generic = 10 + { version, sha256, url ? "http://www.php.net/distributions/php-${version}.tar.bz2" }: 11 + 12 + let php7 = lib.versionAtLeast version "7.0"; in 13 + 14 + composableDerivation.composableDerivation {} (fixed: { 15 + 16 + inherit version; 17 + 18 + name = "php-${version}"; 19 + 20 + enableParallelBuilding = true; 21 + 22 + buildInputs = [ flex bison pkgconfig ]; 23 + 24 + flags = { 25 + 26 + # much left to do here... 27 + 28 + # SAPI modules: 29 + 30 + apxs2 = { 31 + configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"]; 32 + buildInputs = [apacheHttpd]; 33 + }; 34 + 35 + # Extensions 36 + imap = { 37 + configureFlags = [ 38 + "--with-imap=${uwimap}" 39 + "--with-imap-ssl" 40 + ]; 41 + buildInputs = [ uwimap openssl pam ]; 42 + }; 43 + 44 + ldap = { 45 + configureFlags = ["--with-ldap=${openldap}"]; 46 + buildInputs = [openldap cyrus_sasl openssl]; 47 + }; 48 + 49 + mhash = { 50 + configureFlags = ["--with-mhash"]; 51 + buildInputs = [libmhash]; 52 + }; 53 + 54 + curl = { 55 + configureFlags = ["--with-curl=${curl}"]; 56 + buildInputs = [curl openssl]; 57 + }; 58 + 59 + curlWrappers = { 60 + configureFlags = ["--with-curlwrappers"]; 61 + }; 62 + 63 + zlib = { 64 + configureFlags = ["--with-zlib=${zlib}"]; 65 + buildInputs = [zlib]; 66 + }; 67 + 68 + libxml2 = { 69 + configureFlags = [ 70 + "--with-libxml-dir=${libxml2}" 71 + ]; 72 + buildInputs = [ libxml2 ]; 73 + }; 74 + 75 + pcntl = { 76 + configureFlags = [ "--enable-pcntl" ]; 77 + }; 78 + 79 + readline = { 80 + configureFlags = ["--with-readline=${readline}"]; 81 + buildInputs = [ readline ]; 82 + }; 83 + 84 + sqlite = { 85 + configureFlags = ["--with-pdo-sqlite=${sqlite}"]; 86 + buildInputs = [ sqlite ]; 87 + }; 88 + 89 + postgresql = { 90 + configureFlags = ["--with-pgsql=${postgresql}"]; 91 + buildInputs = [ postgresql ]; 92 + }; 93 + 94 + pdo_pgsql = { 95 + configureFlags = ["--with-pdo-pgsql=${postgresql}"]; 96 + buildInputs = [ postgresql ]; 97 + }; 98 + 99 + mysql = { 100 + configureFlags = ["--with-mysql=${mysql.lib}"]; 101 + buildInputs = [ mysql.lib ]; 102 + }; 103 + 104 + mysqli = { 105 + configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"]; 106 + buildInputs = [ mysql.lib ]; 107 + }; 108 + 109 + mysqli_embedded = { 110 + configureFlags = ["--enable-embedded-mysqli"]; 111 + depends = "mysqli"; 112 + assertion = fixed.mysqliSupport; 113 + }; 114 + 115 + pdo_mysql = { 116 + configureFlags = ["--with-pdo-mysql=${mysql.lib}"]; 117 + buildInputs = [ mysql.lib ]; 118 + }; 119 + 120 + bcmath = { 121 + configureFlags = ["--enable-bcmath"]; 122 + }; 123 + 124 + gd = { 125 + # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108. 126 + configureFlags = [ 127 + "--with-gd" 128 + "--with-freetype-dir=${freetype}" 129 + "--with-png-dir=${libpng}" 130 + "--with-jpeg-dir=${libjpeg}" 131 + ]; 132 + buildInputs = [ libpng libjpeg freetype ]; 133 + }; 134 + 135 + gmp = { 136 + configureFlags = ["--with-gmp=${gmp}"]; 137 + buildInputs = [ gmp ]; 138 + }; 139 + 140 + soap = { 141 + configureFlags = ["--enable-soap"]; 142 + }; 143 + 144 + sockets = { 145 + configureFlags = ["--enable-sockets"]; 146 + }; 147 + 148 + openssl = { 149 + configureFlags = ["--with-openssl=${openssl}"]; 150 + buildInputs = [openssl]; 151 + }; 152 + 153 + mbstring = { 154 + configureFlags = ["--enable-mbstring"]; 155 + }; 156 + 157 + gettext = { 158 + configureFlags = ["--with-gettext=${gettext}"]; 159 + buildInputs = [gettext]; 160 + }; 161 + 162 + intl = { 163 + configureFlags = ["--enable-intl"]; 164 + buildInputs = [icu]; 165 + }; 166 + 167 + exif = { 168 + configureFlags = ["--enable-exif"]; 169 + }; 170 + 171 + xsl = { 172 + configureFlags = ["--with-xsl=${libxslt}"]; 173 + buildInputs = [libxslt]; 174 + }; 175 + 176 + mcrypt = let libmcrypt' = libmcrypt.override { disablePosixThreads = true; }; in { 177 + configureFlags = ["--with-mcrypt=${libmcrypt'}"]; 178 + buildInputs = [libmcrypt']; 179 + }; 180 + 181 + bz2 = { 182 + configureFlags = ["--with-bz2=${bzip2}"]; 183 + buildInputs = [bzip2]; 184 + }; 185 + 186 + zip = { 187 + configureFlags = ["--enable-zip"]; 188 + }; 189 + 190 + ftp = { 191 + configureFlags = ["--enable-ftp"]; 192 + }; 193 + 194 + fpm = { 195 + configureFlags = ["--enable-fpm"]; 196 + }; 197 + 198 + mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) { 199 + configureFlags = ["--with-mssql=${freetds}"]; 200 + buildInputs = [freetds]; 201 + }; 202 + 203 + zts = { 204 + configureFlags = ["--enable-maintainer-zts"]; 205 + }; 206 + 207 + calendar = { 208 + configureFlags = ["--enable-calendar"]; 209 + }; 210 + }; 211 + 212 + cfg = { 213 + imapSupport = config.php.imap or true; 214 + ldapSupport = config.php.ldap or true; 215 + mhashSupport = config.php.mhash or true; 216 + mysqlSupport = (!php7) && (config.php.mysql or true); 217 + mysqliSupport = config.php.mysqli or true; 218 + pdo_mysqlSupport = config.php.pdo_mysql or true; 219 + libxml2Support = config.php.libxml2 or true; 220 + apxs2Support = config.php.apxs2 or true; 221 + bcmathSupport = config.php.bcmath or true; 222 + socketsSupport = config.php.sockets or true; 223 + curlSupport = config.php.curl or true; 224 + curlWrappersSupport = (!php7) && (config.php.curlWrappers or true); 225 + gettextSupport = config.php.gettext or true; 226 + pcntlSupport = config.php.pcntl or true; 227 + postgresqlSupport = config.php.postgresql or true; 228 + pdo_pgsqlSupport = config.php.pdo_pgsql or true; 229 + readlineSupport = config.php.readline or true; 230 + sqliteSupport = config.php.sqlite or true; 231 + soapSupport = config.php.soap or true; 232 + zlibSupport = config.php.zlib or true; 233 + opensslSupport = config.php.openssl or true; 234 + mbstringSupport = config.php.mbstring or true; 235 + gdSupport = config.php.gd or true; 236 + intlSupport = config.php.intl or true; 237 + exifSupport = config.php.exif or true; 238 + xslSupport = config.php.xsl or false; 239 + mcryptSupport = config.php.mcrypt or true; 240 + bz2Support = config.php.bz2 or false; 241 + zipSupport = config.php.zip or true; 242 + ftpSupport = config.php.ftp or true; 243 + fpmSupport = config.php.fpm or true; 244 + gmpSupport = config.php.gmp or true; 245 + mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin)); 246 + ztsSupport = config.php.zts or false; 247 + calendarSupport = config.php.calendar or true; 248 + }; 249 + 250 + configurePhase = '' 251 + # Don't record the configure flags since this causes unnecessary 252 + # runtime dependencies. 253 + for i in main/build-defs.h.in scripts/php-config.in; do 254 + substituteInPlace $i \ 255 + --replace '@CONFIGURE_COMMAND@' '(omitted)' \ 256 + --replace '@CONFIGURE_OPTIONS@' "" \ 257 + --replace '@PHP_LDFLAGS@' "" 258 + done 259 + 260 + iniFile=$out/etc/php-recommended.ini 261 + [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin 262 + ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags 263 + ''; 264 + 265 + installPhase = '' 266 + unset installPhase; installPhase; 267 + cp php.ini-production $iniFile 268 + ''; 269 + 270 + src = fetchurl { 271 + inherit url sha256; 272 + }; 273 + 274 + meta = with stdenv.lib; { 275 + description = "An HTML-embedded scripting language"; 276 + homepage = http://www.php.net/; 277 + license = stdenv.lib.licenses.php301; 278 + maintainers = with maintainers; [ globin ]; 279 + }; 280 + 281 + patches = if !php7 then [ ./fix-paths.patch ] else [ ./fix-paths-php7.patch ]; 282 + 283 + }); 284 + 285 + in { 286 + 287 + php54 = generic { 288 + version = "5.4.44"; 289 + sha256 = "0vc5lf0yjk1fs7inri76mh0lrcmq32ji4m6yqdmg7314x5f9xmcd"; 290 + }; 291 + 292 + php55 = generic { 293 + version = "5.5.28"; 294 + sha256 = "1wy2v5rmbiia3v6fc8nwg1y3sdkdmicksxnkadz1f3035rbjqz8r"; 295 + }; 296 + 297 + php56 = generic { 298 + version = "5.6.12"; 299 + sha256 = "0fl5r0lzav7icg97p7gkvbxk0xk2mh7i1r45dycjlyxgf91109vg"; 300 + }; 301 + 302 + php70 = lib.lowPrio (generic { 303 + version = "7.0.0beta1"; 304 + url = "https://downloads.php.net/~ab/php-7.0.0beta1.tar.bz2"; 305 + sha256 = "1pj3ysfhswg2r370ivp33fv9zbcl3yvhmxgnc731k08hv6hmd984"; 306 + }); 307 + 308 + }
-291
pkgs/development/interpreters/php/generic.nix
··· 1 - { stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison 2 - , mysql, libxml2, readline, zlib, curl, postgresql, gettext 3 - , openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype 4 - , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds 5 - , uwimap, pam, gmp 6 - 7 - , phpVersion, apacheHttpd, sha 8 - , php7 ? false, url ? null }: 9 - 10 - let 11 - libmcryptOverride = libmcrypt.override { disablePosixThreads = true; }; 12 - in 13 - 14 - composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { 15 - 16 - version = "${phpVersion}"; 17 - 18 - name = "php-${version}"; 19 - 20 - enableParallelBuilding = true; 21 - 22 - buildInputs = [ flex bison pkgconfig ]; 23 - 24 - flags = { 25 - 26 - # much left to do here... 27 - 28 - # SAPI modules: 29 - 30 - apxs2 = { 31 - configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"]; 32 - buildInputs = [apacheHttpd]; 33 - }; 34 - 35 - # Extensions 36 - imap = { 37 - configureFlags = [ 38 - "--with-imap=${uwimap}" 39 - "--with-imap-ssl" 40 - ]; 41 - buildInputs = [ uwimap openssl pam ]; 42 - }; 43 - 44 - ldap = { 45 - configureFlags = ["--with-ldap=${openldap}"]; 46 - buildInputs = [openldap cyrus_sasl openssl]; 47 - }; 48 - 49 - mhash = { 50 - configureFlags = ["--with-mhash"]; 51 - buildInputs = [libmhash]; 52 - }; 53 - 54 - curl = { 55 - configureFlags = ["--with-curl=${curl}"]; 56 - buildInputs = [curl openssl]; 57 - }; 58 - 59 - curlWrappers = { 60 - configureFlags = ["--with-curlwrappers"]; 61 - }; 62 - 63 - zlib = { 64 - configureFlags = ["--with-zlib=${zlib}"]; 65 - buildInputs = [zlib]; 66 - }; 67 - 68 - libxml2 = { 69 - configureFlags = [ 70 - "--with-libxml-dir=${libxml2}" 71 - ]; 72 - buildInputs = [ libxml2 ]; 73 - }; 74 - 75 - pcntl = { 76 - configureFlags = [ "--enable-pcntl" ]; 77 - }; 78 - 79 - readline = { 80 - configureFlags = ["--with-readline=${readline}"]; 81 - buildInputs = [ readline ]; 82 - }; 83 - 84 - sqlite = { 85 - configureFlags = ["--with-pdo-sqlite=${sqlite}"]; 86 - buildInputs = [ sqlite ]; 87 - }; 88 - 89 - postgresql = { 90 - configureFlags = ["--with-pgsql=${postgresql}"]; 91 - buildInputs = [ postgresql ]; 92 - }; 93 - 94 - pdo_pgsql = { 95 - configureFlags = ["--with-pdo-pgsql=${postgresql}"]; 96 - buildInputs = [ postgresql ]; 97 - }; 98 - 99 - mysql = { 100 - configureFlags = ["--with-mysql=${mysql.lib}"]; 101 - buildInputs = [ mysql.lib ]; 102 - }; 103 - 104 - mysqli = { 105 - configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"]; 106 - buildInputs = [ mysql.lib ]; 107 - }; 108 - 109 - mysqli_embedded = { 110 - configureFlags = ["--enable-embedded-mysqli"]; 111 - depends = "mysqli"; 112 - assertion = fixed.mysqliSupport; 113 - }; 114 - 115 - pdo_mysql = { 116 - configureFlags = ["--with-pdo-mysql=${mysql.lib}"]; 117 - buildInputs = [ mysql.lib ]; 118 - }; 119 - 120 - bcmath = { 121 - configureFlags = ["--enable-bcmath"]; 122 - }; 123 - 124 - gd = { 125 - # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108. 126 - configureFlags = [ 127 - "--with-gd" 128 - "--with-freetype-dir=${freetype}" 129 - "--with-png-dir=${libpng}" 130 - "--with-jpeg-dir=${libjpeg}" 131 - ]; 132 - buildInputs = [ libpng libjpeg freetype ]; 133 - }; 134 - 135 - gmp = { 136 - configureFlags = ["--with-gmp=${gmp}"]; 137 - buildInputs = [ gmp ]; 138 - }; 139 - 140 - soap = { 141 - configureFlags = ["--enable-soap"]; 142 - }; 143 - 144 - sockets = { 145 - configureFlags = ["--enable-sockets"]; 146 - }; 147 - 148 - openssl = { 149 - configureFlags = ["--with-openssl=${openssl}"]; 150 - buildInputs = [openssl]; 151 - }; 152 - 153 - mbstring = { 154 - configureFlags = ["--enable-mbstring"]; 155 - }; 156 - 157 - gettext = { 158 - configureFlags = ["--with-gettext=${gettext}"]; 159 - buildInputs = [gettext]; 160 - }; 161 - 162 - intl = { 163 - configureFlags = ["--enable-intl"]; 164 - buildInputs = [icu]; 165 - }; 166 - 167 - exif = { 168 - configureFlags = ["--enable-exif"]; 169 - }; 170 - 171 - xsl = { 172 - configureFlags = ["--with-xsl=${libxslt}"]; 173 - buildInputs = [libxslt]; 174 - }; 175 - 176 - mcrypt = { 177 - configureFlags = ["--with-mcrypt=${libmcryptOverride}"]; 178 - buildInputs = [libmcryptOverride]; 179 - }; 180 - 181 - bz2 = { 182 - configureFlags = ["--with-bz2=${bzip2}"]; 183 - buildInputs = [bzip2]; 184 - }; 185 - 186 - zip = { 187 - configureFlags = ["--enable-zip"]; 188 - }; 189 - 190 - ftp = { 191 - configureFlags = ["--enable-ftp"]; 192 - }; 193 - 194 - fpm = { 195 - configureFlags = ["--enable-fpm"]; 196 - }; 197 - 198 - mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) { 199 - configureFlags = ["--with-mssql=${freetds}"]; 200 - buildInputs = [freetds]; 201 - }; 202 - 203 - zts = { 204 - configureFlags = ["--enable-maintainer-zts"]; 205 - }; 206 - 207 - calendar = { 208 - configureFlags = ["--enable-calendar"]; 209 - }; 210 - }; 211 - 212 - cfg = { 213 - imapSupport = config.php.imap or true; 214 - ldapSupport = config.php.ldap or true; 215 - mhashSupport = config.php.mhash or true; 216 - mysqlSupport = (!php7) && (config.php.mysql or true); 217 - mysqliSupport = config.php.mysqli or true; 218 - pdo_mysqlSupport = config.php.pdo_mysql or true; 219 - libxml2Support = config.php.libxml2 or true; 220 - apxs2Support = config.php.apxs2 or true; 221 - bcmathSupport = config.php.bcmath or true; 222 - socketsSupport = config.php.sockets or true; 223 - curlSupport = config.php.curl or true; 224 - curlWrappersSupport = (!php7) && (config.php.curlWrappers or true); 225 - gettextSupport = config.php.gettext or true; 226 - pcntlSupport = config.php.pcntl or true; 227 - postgresqlSupport = config.php.postgresql or true; 228 - pdo_pgsqlSupport = config.php.pdo_pgsql or true; 229 - readlineSupport = config.php.readline or true; 230 - sqliteSupport = config.php.sqlite or true; 231 - soapSupport = config.php.soap or true; 232 - zlibSupport = config.php.zlib or true; 233 - opensslSupport = config.php.openssl or true; 234 - mbstringSupport = config.php.mbstring or true; 235 - gdSupport = config.php.gd or true; 236 - intlSupport = config.php.intl or true; 237 - exifSupport = config.php.exif or true; 238 - xslSupport = config.php.xsl or false; 239 - mcryptSupport = config.php.mcrypt or true; 240 - bz2Support = config.php.bz2 or false; 241 - zipSupport = config.php.zip or true; 242 - ftpSupport = config.php.ftp or true; 243 - fpmSupport = config.php.fpm or true; 244 - gmpSupport = config.php.gmp or true; 245 - mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin)); 246 - ztsSupport = config.php.zts or false; 247 - calendarSupport = config.php.calendar or true; 248 - }; 249 - 250 - configurePhase = '' 251 - # Don't record the configure flags since this causes unnecessary 252 - # runtime dependencies. 253 - for i in main/build-defs.h.in scripts/php-config.in; do 254 - substituteInPlace $i \ 255 - --replace '@CONFIGURE_COMMAND@' '(omitted)' \ 256 - --replace '@CONFIGURE_OPTIONS@' "" \ 257 - --replace '@PHP_LDFLAGS@' "" 258 - done 259 - 260 - iniFile=$out/etc/php-recommended.ini 261 - [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin 262 - ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags 263 - ''; 264 - 265 - installPhase = '' 266 - unset installPhase; installPhase; 267 - cp php.ini-production $iniFile 268 - ''; 269 - 270 - src = fetchurl { 271 - url = if url == null then 272 - "http://www.php.net/distributions/php-${version}.tar.bz2" 273 - else 274 - url; 275 - sha256 = sha; 276 - }; 277 - 278 - meta = with stdenv.lib; { 279 - description = "An HTML-embedded scripting language"; 280 - homepage = http://www.php.net/; 281 - license = stdenv.lib.licenses.php301; 282 - maintainers = with maintainers; [ globin ]; 283 - }; 284 - 285 - patches = if !php7 then 286 - [ ./fix-paths.patch ] 287 - else 288 - [ ./fix-paths-php7.patch ] 289 - ; 290 - 291 - })
+5 -7
pkgs/top-level/all-packages.nix
··· 5017 5017 php = php55; 5018 5018 }); 5019 5019 5020 - php54 = callPackage ../development/interpreters/php/5.4.nix { }; 5021 - 5022 - php55 = callPackage ../development/interpreters/php/5.5.nix { }; 5023 - 5024 - php56 = callPackage ../development/interpreters/php/5.6.nix { }; 5025 - 5026 - php70 = lowPrio (callPackage ../development/interpreters/php/7.0.nix { }); 5020 + inherit (callPackages ../development/interpreters/php { }) 5021 + php54 5022 + php55 5023 + php56 5024 + php70; 5027 5025 5028 5026 picoc = callPackage ../development/interpreters/picoc {}; 5029 5027