]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Purify Florian's website
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Wed, 23 Jan 2019 11:06:56 +0000 (12:06 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Wed, 23 Jan 2019 11:06:56 +0000 (12:06 +0100)
virtual/modules/websites/tellesflorian/php-packages.nix [new file with mode: 0644]
virtual/modules/websites/tellesflorian/tellesflorian.nix

diff --git a/virtual/modules/websites/tellesflorian/php-packages.nix b/virtual/modules/websites/tellesflorian/php-packages.nix
new file mode 100644 (file)
index 0000000..0c7e00c
--- /dev/null
@@ -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";
+        };
+      };
+    };
+  };
+}
index 03b1fafb21a587c69a4f0592878e0607d7b047a4..4237af859532d874c5823576e73cd61786e85101 100644 (file)
@@ -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