diff --git a/pkgs/flarum/dependencies/default.nix b/pkgs/flarum/composition.nix similarity index 100% rename from pkgs/flarum/dependencies/default.nix rename to pkgs/flarum/composition.nix diff --git a/pkgs/flarum/default.nix b/pkgs/flarum/default.nix index ac6591ab..f35cdd84 100644 --- a/pkgs/flarum/default.nix +++ b/pkgs/flarum/default.nix @@ -1,15 +1,52 @@ -{ pkgs }: +{ lib +, stdenv +, fetchFromGitHub +, php +, pkgs +, nixosTests +, dataDir ? "/var/lib/flarum" +, runtimeDir ? "/run/falrum" +}: -{ - src = builtins.fetchFromGitHub { +let + package = (import ./composition.nix { + inherit pkgs; + inherit (stdenv.hostPlatform) system; + noDev = true; # Disable development dependencies + }).overrideAttrs (attrs : { + installPhase = attrs.installPhase + '' + rm -R $out/bootstrap/cache + # Move static contents for the NixOS module to pick it up, if needed. + mv $out/bootstrap $out/bootstrap-static + mv $out/storage $out/storage-static + ln -s ${dataDir}/.env $out/.env + ln -s ${dataDir}/storage $out/ + ln -s ${dataDir}/storage/app/public $out/public/storage + ln -s ${runtimeDir} $out/bootstrap + chmod +x $out/artisan + ''; + }); +in package.override rec { + pname = "flarum"; + version = "1.8.0"; + + src = fetchFromGitHub { owner = "flarum"; - repo = "flarum"; - rev = "v1.8.0"; - sha256 = ""; + repo = pname; + rev = "v${version}"; + hash = ""; }; - dependencies = pkgs.lib.makeOverridable (import ./dependencies) { - inherit pkgs; - noDev = true; + passthru = { + tests = { inherit (nixosTests) pixelfed; }; + updateScript = ./update.sh; + }; + + meta = with lib; { + description = "A federated image sharing platform"; + license = licenses.agpl3Only; + homepage = "https://pixelfed.org/"; + maintainers = with maintainers; [ raitobezarius ]; + platforms = php.meta.platforms; }; } diff --git a/pkgs/flarum/php-packages.nix b/pkgs/flarum/php-packages.nix index 74186e9c..36439e43 100644 --- a/pkgs/flarum/php-packages.nix +++ b/pkgs/flarum/php-packages.nix @@ -1348,8 +1348,8 @@ in composerEnv.buildPackage { inherit packages devPackages noDev; name = "flarum-flarum"; - # src = composerEnv.filterSrc ./.; - src = ./src; + src = composerEnv.filterSrc ./.; + # src = ./src; executable = false; symlinkDependencies = false; meta = {