nixbld: minor flarum updates, install FoF/subscribed

pull/20/head
Sebastien Bourdeauducq 2021-04-05 14:20:26 +08:00
parent 7d04f99e33
commit 86c840d7f0
5 changed files with 1368 additions and 764 deletions

View File

@ -1,6 +1,6 @@
# This file originates from composer2nix # This file originates from composer2nix
{ stdenv, writeTextFile, fetchurl, php, unzip, phpPackages }: { stdenv, lib, writeTextFile, fetchurl, php, unzip, phpPackages }:
let let
inherit (phpPackages) composer; inherit (phpPackages) composer;
@ -28,6 +28,7 @@ let
, removeComposerArtifacts ? false , removeComposerArtifacts ? false
, postInstall ? "" , postInstall ? ""
, noDev ? false , noDev ? false
, composerExtraArgs ? ""
, unpackPhase ? "true" , unpackPhase ? "true"
, buildPhase ? "true" , buildPhase ? "true"
, ...}@args: , ...}@args:
@ -57,7 +58,7 @@ let
else else
$allPackages = array(); $allPackages = array();
${stdenv.lib.optionalString (!noDev) '' ${lib.optionalString (!noDev) ''
if(array_key_exists("packages-dev", $config)) if(array_key_exists("packages-dev", $config))
$allPackages = array_merge($allPackages, $config["packages-dev"]); $allPackages = array_merge($allPackages, $config["packages-dev"]);
''} ''}
@ -108,7 +109,7 @@ let
}; };
bundleDependencies = dependencies: bundleDependencies = dependencies:
stdenv.lib.concatMapStrings (dependencyName: lib.concatMapStrings (dependencyName:
let let
dependency = dependencies.${dependencyName}; dependency = dependencies.${dependencyName};
in in
@ -174,29 +175,29 @@ let
# Reconstruct the installed.json file from the lock file # Reconstruct the installed.json file from the lock file
mkdir -p vendor/composer mkdir -p vendor/composer
${reconstructInstalled} composer.lock > vendor/composer/installed.json ${php}/bin/php ${reconstructInstalled} composer.lock > vendor/composer/installed.json
# Copy or symlink the provided dependencies # Copy or symlink the provided dependencies
cd vendor cd vendor
${bundleDependencies packages} ${bundleDependencies packages}
${stdenv.lib.optionalString (!noDev) (bundleDependencies devPackages)} ${lib.optionalString (!noDev) (bundleDependencies devPackages)}
cd .. cd ..
# Reconstruct autoload scripts # Reconstruct autoload scripts
# We use the optimize feature because Nix packages cannot change after they have been built # We use the optimize feature because Nix packages cannot change after they have been built
# Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload. # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload.
composer dump-autoload --optimize ${stdenv.lib.optionalString noDev "--no-dev"} composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
# Run the install step as a validation to confirm that everything works out as expected # Run the install step as a validation to confirm that everything works out as expected
composer install --optimize-autoloader ${stdenv.lib.optionalString noDev "--no-dev"} composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
${stdenv.lib.optionalString executable '' ${lib.optionalString executable ''
# Reconstruct the bin/ folder if we deploy an executable project # Reconstruct the bin/ folder if we deploy an executable project
${constructBin} composer.json ${php}/bin/php ${constructBin} composer.json
ln -s $(pwd)/vendor/bin $out/bin ln -s $(pwd)/vendor/bin $out/bin
''} ''}
${stdenv.lib.optionalString (!symlinkDependencies) '' ${lib.optionalString (!symlinkDependencies) ''
# Patch the shebangs if possible # Patch the shebangs if possible
if [ -d $(pwd)/vendor/bin ] if [ -d $(pwd)/vendor/bin ]
then then
@ -232,7 +233,7 @@ let
} // extraArgs); } // extraArgs);
in in
{ {
composer = stdenv.lib.makeOverridable composer; composer = lib.makeOverridable composer;
buildZipPackage = stdenv.lib.makeOverridable buildZipPackage; buildZipPackage = lib.makeOverridable buildZipPackage;
buildPackage = stdenv.lib.makeOverridable buildPackage; buildPackage = lib.makeOverridable buildPackage;
} }

View File

@ -58,7 +58,8 @@
"flarum/subscriptions": "^0.1.0", "flarum/subscriptions": "^0.1.0",
"flarum/suspend": "^0.1.0", "flarum/suspend": "^0.1.0",
"flarum/tags": "^0.1.0", "flarum/tags": "^0.1.0",
"fof/upload": "^0.10.0" "fof/upload": "^0.10.0",
"fof/subscribed": "*"
}, },
"config": { "config": {
"preferred-install": "dist", "preferred-install": "dist",

File diff suppressed because it is too large Load Diff

View File

@ -4,10 +4,10 @@
let let
composerEnv = import ./composer-env.nix { composerEnv = import ./composer-env.nix {
inherit (pkgs) stdenv writeTextFile fetchurl php unzip phpPackages; inherit (pkgs) stdenv lib writeTextFile fetchurl php unzip phpPackages;
}; };
in in
import ./php-packages.nix { import ./php-packages.nix {
inherit composerEnv noDev; inherit composerEnv noDev;
inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn; inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
} }

File diff suppressed because it is too large Load Diff