From f406130d33a65afa5a4fb45fb3586ce97fd7b772 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Wed, 23 Jan 2019 12:06:56 +0100 Subject: [PATCH] Purify Florian's website --- .../websites/tellesflorian/php-packages.nix | 389 ++++++++++++++++++ .../websites/tellesflorian/tellesflorian.nix | 40 +- 2 files changed, 406 insertions(+), 23 deletions(-) create mode 100644 virtual/modules/websites/tellesflorian/php-packages.nix diff --git a/virtual/modules/websites/tellesflorian/php-packages.nix b/virtual/modules/websites/tellesflorian/php-packages.nix new file mode 100644 index 0000000..0c7e00c --- /dev/null +++ b/virtual/modules/websites/tellesflorian/php-packages.nix @@ -0,0 +1,389 @@ +# Generated with composer2nix and adapted to return only the list of +# packages +{ composerEnv, fetchurl }: +{ + packages = { + "composer/ca-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "composer-ca-bundle-943b2c4fcad1ef178d16a713c2468bf7e579c288"; + src = fetchurl { + url = https://api.github.com/repos/composer/ca-bundle/zipball/943b2c4fcad1ef178d16a713c2468bf7e579c288; + sha256 = "1gljia7akifp57w4rjzyh1km23kwymmvglz0mgafdgqzczcw0m6w"; + }; + }; + }; + "doctrine/annotations" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-annotations-f25c8aab83e0c3e976fd7d19875f198ccf2f7535"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535; + sha256 = "08vm22fqq8r4bg2fk06y4inqnc8x0yfmsss28w5ra2011x2phq4z"; + }; + }; + }; + "doctrine/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-cache-eb152c5100571c7a45470ff2a35095ab3f3b900b"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b; + sha256 = "0iq0qqv1smlqz63jhj2fpjy54c5dwfwxyf5c89iky6i0yb81gwyd"; + }; + }; + }; + "doctrine/collections" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-collections-6c1e4eef75f310ea1b3e30945e9f06e652128b8a"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a; + sha256 = "1dkxr2vjycykpcnnmq68rcnn1ww0kbpizd5pxxm6x9i2ilj8cbn7"; + }; + }; + }; + "doctrine/common" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-common-7bce00698899aa2c06fe7365c76e4d78ddb15fa3"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/common/zipball/7bce00698899aa2c06fe7365c76e4d78ddb15fa3; + sha256 = "12yizcsxsbhhi8hwaik4zalr12n5nxbpld05zygqhx6miyr92jyd"; + }; + }; + }; + "doctrine/dbal" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-dbal-729340d8d1eec8f01bff708e12e449a3415af873"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873; + sha256 = "184p8h0n6mcm0y6vfyh0z6qcxmmf8h5z4vdvxd4ycmx0531lnhj3"; + }; + }; + }; + "doctrine/doctrine-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-doctrine-bundle-eb6e4fb904a459be28872765ab6e2d246aac7c87"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/DoctrineBundle/zipball/eb6e4fb904a459be28872765ab6e2d246aac7c87; + sha256 = "0kkisgyblc9hf9x3zpbb1wif51fa8mi6svyd44nls38k9k93dp17"; + }; + }; + }; + "doctrine/doctrine-cache-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-doctrine-cache-bundle-9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1; + sha256 = "08bqz18vk4673pnm2r2pcph6pdchc36zajnma1p9c6dp21sv7iki"; + }; + }; + }; + "doctrine/inflector" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-inflector-90b2128806bfde671b6952ab8bea493942c1fdae"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae; + sha256 = "01vmclj3k7xil51jg329fznshh8d07pvm4mr89lvfn1d7fyrq6qw"; + }; + }; + }; + "doctrine/instantiator" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-instantiator-8e884e78f9f0eb1329e445619e04456e64d8051d"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d; + sha256 = "15dcja45rnwya431pcm826l68k1g8f1fabl7rih69alcdyvdlln4"; + }; + }; + }; + "doctrine/lexer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-lexer-83893c552fd2045dd78aef794c31e694c37c0b8c"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c; + sha256 = "0cyh3vwcl163cx1vrcwmhlh5jg9h47xwiqgzc6rwscxw0ppd1v74"; + }; + }; + }; + "doctrine/orm" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-orm-810a7baf81462a5ddf10e8baa8cb94b6eec02754"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/doctrine2/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754; + sha256 = "1hmkc7917kgnav9hmlgvlp7qwm3zjj910ci71g9yqwjh6s28wrf1"; + }; + }; + }; + "fig/link-util" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "fig-link-util-1a07821801a148be4add11ab0603e4af55a72fac"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac; + sha256 = "0ky1pq4a17br5zvcychjghgwr6wpkgp409hdv0ljdk3ks90w5w64"; + }; + }; + }; + "incenteev/composer-parameter-handler" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "incenteev-composer-parameter-handler-933c45a34814f27f2345c11c37d46b3ca7303550"; + src = fetchurl { + url = https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550; + sha256 = "1zqdwlcl790kjyz4rkpva35xkfsp8kslds82fzznj0yigkgnbifm"; + }; + }; + }; + "jdorn/sql-formatter" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "jdorn-sql-formatter-64990d96e0959dff8e059dfcdc1af130728d92bc"; + src = fetchurl { + url = https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc; + sha256 = "1dnmkm8mxylvxjwi0bdkzrlklncqx92fa4fwqp5bh2ypj8gaagzi"; + }; + }; + }; + "monolog/monolog" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "monolog-monolog-fd8c787753b3a2ad11bc60c063cff1358a32a3b4"; + src = fetchurl { + url = https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4; + sha256 = "0avf3y8raw23krwdb7kw9qb5bsr5ls4i7qd2vh7hcds3qjixg3h9"; + }; + }; + }; + "paragonie/random_compat" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "paragonie-random_compat-5da4d3c796c275c55f057af5a643ae297d96b4d8"; + src = fetchurl { + url = https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8; + sha256 = "1hp6pin4923c300yi85m7qk04gsrbygv52wv5zm7giyyf0k0g073"; + }; + }; + }; + "psr/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8; + sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz"; + }; + }; + }; + "psr/container" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f; + sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j"; + }; + }; + }; + "psr/link" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-link-eea8e8662d5cd3ae4517c9b864493f59fca95562"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562; + sha256 = "091k4p9irkqnmq9b0p792wz1hb7dm4rafpjilw9im9xhsxgkmr13"; + }; + }; + }; + "psr/log" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-log-4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d; + sha256 = "1mlcv17fjw39bjpck176ah1z393b6pnbw3jqhhrblj27c70785md"; + }; + }; + }; + "psr/simple-cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b; + sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw"; + }; + }; + }; + "sensio/distribution-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sensio-distribution-bundle-eb6266b3b472e4002538610b28a0a04bcf94891a"; + src = fetchurl { + url = https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/eb6266b3b472e4002538610b28a0a04bcf94891a; + sha256 = "0wyffqj924lz9cv0vbahyngjw1g850v0p34swygzzgp3cr0ank13"; + }; + }; + }; + "sensio/framework-extra-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sensio-framework-extra-bundle-bf4940572e43af679aaa13be98f3446a1c237bd8"; + src = fetchurl { + url = https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bf4940572e43af679aaa13be98f3446a1c237bd8; + sha256 = "1kb1n5w3kfc0kf4pslqdx5pgp0g4hmaag0i00wvjj2n3pjfm5lhf"; + }; + }; + }; + "sensiolabs/security-checker" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sensiolabs-security-checker-dc270d5fec418cc6ac983671dba5d80ffaffb142"; + src = fetchurl { + url = https://api.github.com/repos/sensiolabs/security-checker/zipball/dc270d5fec418cc6ac983671dba5d80ffaffb142; + sha256 = "0fnshyd6f8j91a7y604nh6sqgscjl48mfa0727g2r4hkdfz8hpd1"; + }; + }; + }; + "swiftmailer/swiftmailer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "swiftmailer-swiftmailer-7ffc1ea296ed14bf8260b6ef11b80208dbadba91"; + src = fetchurl { + url = https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91; + sha256 = "1vl5pzgvr2yfrj1yfs02mi917b0gr56v76ibi40r51a3346zhp6v"; + }; + }; + }; + "symfony/monolog-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-monolog-bundle-8781649349fe418d51d194f8c9d212c0b97c40dd"; + src = fetchurl { + url = https://api.github.com/repos/symfony/monolog-bundle/zipball/8781649349fe418d51d194f8c9d212c0b97c40dd; + sha256 = "0wcqhg1vfdj3mxacr3fxpgqwy1rk9znjg9bmzx4jymk8l16i7bq8"; + }; + }; + }; + "symfony/polyfill-apcu" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-apcu-e8ae2136ddb53dea314df56fcd88e318ab936c00"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-apcu/zipball/e8ae2136ddb53dea314df56fcd88e318ab936c00; + sha256 = "07wdszb9ircnidjk3fp3cvcrggxv3sfm996jzd0a9pm6vfz9hymv"; + }; + }; + }; + "symfony/polyfill-intl-icu" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-intl-icu-254919c03761d46c29291616576ed003f10e91c1"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/254919c03761d46c29291616576ed003f10e91c1; + sha256 = "01yivzv7p55fzrkkyvgd57zpyz82zn1qp0h6nzr77k01rkv3w0ds"; + }; + }; + }; + "symfony/polyfill-mbstring" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-mbstring-78be803ce01e55d3491c1397cf1c64beb9c1b63b"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b; + sha256 = "0cqr8ni6wpbaxa9gyr40y5bsv54pa2g8kdarlfw3qg2rgzmk0yz1"; + }; + }; + }; + "symfony/polyfill-php56" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-php56-ebc999ce5f14204c5150b9bd15f8f04e621409d8"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-php56/zipball/ebc999ce5f14204c5150b9bd15f8f04e621409d8; + sha256 = "0b2j56l6d6rdggx7vr20d527df4pjfp4lgxpglsgbf5912rcyf83"; + }; + }; + }; + "symfony/polyfill-php70" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-php70-3532bfcd8f933a7816f3a0a59682fc404776600f"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f; + sha256 = "151m76lc9w0kxnnwk4zdcjlmj7fppibnp8jisgpvvq32ml3fizdi"; + }; + }; + }; + "symfony/polyfill-util" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-util-e17c808ec4228026d4f5a8832afa19be85979563"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-util/zipball/e17c808ec4228026d4f5a8832afa19be85979563; + sha256 = "17sdpdidc0b701f9rippjv1grfci7wrdpy2i1inlwwpr6zy782cq"; + }; + }; + }; + "symfony/swiftmailer-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-swiftmailer-bundle-c4808f5169efc05567be983909d00f00521c53ec"; + src = fetchurl { + url = https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/c4808f5169efc05567be983909d00f00521c53ec; + sha256 = "0jmd3slhb3gf3c3krmk2a9fi4ixdxvqlimdkfpj0sfaaq0115y01"; + }; + }; + }; + "symfony/symfony" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-symfony-874d4d659774d7bab90538072c83ed532dd17dc5"; + src = fetchurl { + url = https://api.github.com/repos/symfony/symfony/zipball/874d4d659774d7bab90538072c83ed532dd17dc5; + sha256 = "02rsn3sc34jh107n576jfbh666k06y44yr7hw61nir0d864k8api"; + }; + }; + }; + "twig/twig" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "twig-twig-9c24f2cd39dc1906b76879e099970b7e53724601"; + src = fetchurl { + url = https://api.github.com/repos/twigphp/Twig/zipball/9c24f2cd39dc1906b76879e099970b7e53724601; + sha256 = "0brfj2lahrrw1322zy6jyd380hjks1ynzzkmq3875a282gzrfkdz"; + }; + }; + }; + }; + devPackages = { + "sensio/generator-bundle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "sensio-generator-bundle-28cbaa244bd0816fd8908b93f90380bcd7b67a65"; + src = fetchurl { + url = https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/28cbaa244bd0816fd8908b93f90380bcd7b67a65; + sha256 = "1j09y037xk843q8gcyfmwgy6dmn0h67pd5jnsvhj08h92ssbl0c3"; + }; + }; + }; + "symfony/phpunit-bridge" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-phpunit-bridge-32b06d2b0babf3216e55acfce42249321a304f03"; + src = fetchurl { + url = https://api.github.com/repos/symfony/phpunit-bridge/zipball/32b06d2b0babf3216e55acfce42249321a304f03; + sha256 = "0vw4q3lvz8gfs0r93ds8yymz8586k0czwa01c7d172rc8x02v0qq"; + }; + }; + }; + }; +} diff --git a/virtual/modules/websites/tellesflorian/tellesflorian.nix b/virtual/modules/websites/tellesflorian/tellesflorian.nix index 03b1faf..4237af8 100644 --- a/virtual/modules/websites/tellesflorian/tellesflorian.nix +++ b/virtual/modules/websites/tellesflorian/tellesflorian.nix @@ -1,4 +1,4 @@ -{ lib, writeText, fetchedGitPrivate, stdenv, php, git, cacert, phpPackages }: +{ lib, writeText, fetchedGitPrivate, fetchurl, stdenv, composerEnv }: let tellesflorian = { config }: rec { environment = config.environment; @@ -132,28 +132,22 @@ let fi ''; }; - webappDir = stdenv.mkDerivation (fetchedGitPrivate ./tellesflorian.json // rec { - buildPhase = '' - export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt - export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt - - ln -sf ${configRoot} app/config/parameters.yml - sed -i -e "/Incenteev..ParameterHandler..ScriptHandler::buildParameters/d" composer.json - ${if environment == "dev" then '' - composer install - '' else '' - SYMFONY_ENV=prod composer install --no-dev - ''} - rm -rf var - ln -sf ../../../../../${varDir}/var var - ''; - installPhase = '' - cp -a . $out - ''; - buildInputs = [ - php git cacert phpPackages.composer - ]; - }); + webappDir = composerEnv.buildPackage ( + import ./php-packages.nix { inherit composerEnv fetchurl; } // + fetchedGitPrivate ./tellesflorian.json // + rec { + noDev = (environment == "prod"); + preInstall = '' + export SYMFONY_ENV="${environment}" + ''; + postInstall = '' + cd $out + rm app/config/parameters.yml + ln -sf ${configRoot} app/config/parameters.yml + rm -rf var/{logs,cache} + ln -sf ../../../../../../${varDir}/var/{logs,cache,sessions} var/ + ''; + }); webRoot = "${webappDir}/web"; }; in -- 2.41.0