diff options
author | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2023-09-28 00:42:07 +0200 |
---|---|---|
committer | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2023-09-28 22:21:53 +0200 |
commit | 591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0 (patch) | |
tree | eaaf48c0fdb7c6858ab72aa0f27a6610d25b71bd | |
parent | a6fd03427d7ed2a15bc3feab3e4234df1592c838 (diff) | |
download | nixpkgs-591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0.tar nixpkgs-591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0.tar.gz nixpkgs-591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0.tar.bz2 nixpkgs-591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0.tar.lz nixpkgs-591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0.tar.xz nixpkgs-591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0.tar.zst nixpkgs-591d32cdb14b34e4a4bf5b5bbff3ddc96aadbfb0.zip |
mastodon: reduce the amount of files information is spread across
-rw-r--r-- | pkgs/servers/mastodon/default.nix | 18 | ||||
-rw-r--r-- | pkgs/servers/mastodon/source.nix | 7 | ||||
-rwxr-xr-x | pkgs/servers/mastodon/update.sh | 16 | ||||
-rw-r--r-- | pkgs/servers/mastodon/version.nix | 1 | ||||
-rw-r--r-- | pkgs/servers/mastodon/yarn-hash.nix | 1 |
5 files changed, 19 insertions, 24 deletions
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix index d75e148bf1e..31a092359cf 100644 --- a/pkgs/servers/mastodon/default.nix +++ b/pkgs/servers/mastodon/default.nix @@ -1,29 +1,27 @@ -{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, bundlerEnv, nixosTests +{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests , yarn, callPackage, imagemagick, ffmpeg, file, ruby_3_0, writeShellScript , fetchYarnDeps, fixup_yarn_lock , brotli # Allow building a fork or custom version of Mastodon: , pname ? "mastodon" -, version ? import ./version.nix -, srcOverride ? null -, dependenciesDir ? ./. # Expected to contain gemset.nix -, yarnHash ? import ./yarn-hash.nix +, version ? srcOverride.version + # src is a package +, srcOverride ? callPackage ./source.nix {} +, gemset ? ./. + "/gemset.nix" +, yarnHash ? srcOverride.yarnHash }: stdenv.mkDerivation rec { inherit pname version; - # Using overrideAttrs on src does not build the gems and modules with the overridden src. - # Putting the callPackage up in the arguments list also does not work. - src = if srcOverride != null then srcOverride else callPackage ./source.nix {}; + src = srcOverride; mastodonGems = bundlerEnv { name = "${pname}-gems-${version}"; - inherit version; + inherit version gemset; ruby = ruby_3_0; gemdir = src; - gemset = dependenciesDir + "/gemset.nix"; # This fix (copied from https://github.com/NixOS/nixpkgs/pull/76765) replaces the gem # symlinks with directories, resolving this error when running rake: # /nix/store/451rhxkggw53h7253izpbq55nrhs7iv0-mastodon-gems-3.0.1/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/lib/bundler/settings.rb:6:in `<module:Bundler>': uninitialized constant Bundler::Settings (NameError) diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix index db090f19274..5ab10795882 100644 --- a/pkgs/servers/mastodon/source.nix +++ b/pkgs/servers/mastodon/source.nix @@ -1,12 +1,13 @@ # This file was generated by pkgs.mastodon.updateScript. -{ fetchFromGitHub, applyPatches }: let +{ fetchFromGitHub, applyPatches }: +applyPatches { + version = "4.1.9"; src = fetchFromGitHub { owner = "mastodon"; repo = "mastodon"; rev = "v4.1.9"; hash = "sha256-xpE/mg2AeioW6NThUjLS+SBxGavG4w1xtp3BOMADfYo="; }; -in applyPatches { - inherit src; patches = []; + yarnHash = "sha256-e3rl/WuKXaUdeDEYvo1sSubuIwtBjkbguCYdAijwXOA="; } diff --git a/pkgs/servers/mastodon/update.sh b/pkgs/servers/mastodon/update.sh index 78a67e95cad..b30aee1ec06 100755 --- a/pkgs/servers/mastodon/update.sh +++ b/pkgs/servers/mastodon/update.sh @@ -56,7 +56,7 @@ if [[ -z "$REVISION" ]]; then VERSION="$(echo "$REVISION" | cut -c2-)" fi -rm -f gemset.nix version.nix source.nix +rm -f gemset.nix source.nix cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1 WORK_DIR=$(mktemp -d) @@ -77,23 +77,21 @@ trap cleanup EXIT echo "Fetching source code $REVISION" JSON=$(nix-prefetch-github "$OWNER" "$REPO" --rev "$REVISION" 2> $WORK_DIR/nix-prefetch-git.out) -HASH="$(echo "$JSON" | jq -r .hash)" - -echo "Creating version.nix" -echo "\"$VERSION\"" | sed 's/^"v/"/' > version.nix +HASH=$(echo "$JSON" | jq -r .hash) cat > source.nix << EOF # This file was generated by pkgs.mastodon.updateScript. -{ fetchFromGitHub, applyPatches }: let +{ fetchFromGitHub, applyPatches }: +applyPatches { + version = "$VERSION"; src = fetchFromGitHub { owner = "$OWNER"; repo = "$REPO"; rev = "$REVISION"; hash = "$HASH"; }; -in applyPatches { - inherit src; patches = [$PATCHES]; + yarnHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; } EOF SOURCE_DIR="$(nix-build --no-out-link -E '(import <nixpkgs> {}).callPackage ./source.nix {}')" @@ -105,4 +103,4 @@ echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks echo "Creating yarn-hash.nix" YARN_HASH="$(prefetch-yarn-deps "$SOURCE_DIR/yarn.lock")" YARN_HASH="$(nix hash to-sri --type sha256 "$YARN_HASH")" -printf '"%s"\n' "$YARN_HASH" > yarn-hash.nix +sed -i "s/sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=/$YARN_HASH/g" source.nix diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix deleted file mode 100644 index 2647b9c70ad..00000000000 --- a/pkgs/servers/mastodon/version.nix +++ /dev/null @@ -1 +0,0 @@ -"4.1.9" diff --git a/pkgs/servers/mastodon/yarn-hash.nix b/pkgs/servers/mastodon/yarn-hash.nix deleted file mode 100644 index f0e3e8a27af..00000000000 --- a/pkgs/servers/mastodon/yarn-hash.nix +++ /dev/null @@ -1 +0,0 @@ -"sha256-e3rl/WuKXaUdeDEYvo1sSubuIwtBjkbguCYdAijwXOA=" |