Unverified Commit 23e88a77 authored by Yohann Boniface's avatar Yohann Boniface Committed by GitHub
Browse files

stash: Refactor to use finalAttrs, straighten out src references (#442514)

parents 079358a0 5af62df6
Loading
Loading
Loading
Loading
+110 −102
Original line number Diff line number Diff line
@@ -21,22 +21,18 @@ let
    ;

  pname = "stash";

  src = fetchFromGitHub {
    owner = "stashapp";
    repo = "stash";
    tag = "v${version}";
    hash = srcHash;
  };

in
buildGoModule (
  finalAttrs:
  let
    frontend = stdenv.mkDerivation (final: {
    inherit version;
    pname = "${pname}-ui";
    src = "${src}/ui/v2.5";
      pname = "${finalAttrs.pname}-ui";
      inherit (finalAttrs) version gitHash;
      src = "${finalAttrs.src}/ui/v2.5";

      yarnOfflineCache = fetchYarnDeps {
        yarnLock = "${final.src}/yarn.lock";
      hash = yarnHash;
        hash = finalAttrs.yarnHash;
      };

      nativeBuildInputs = [
@@ -48,7 +44,7 @@ let

      postPatch = ''
        substituteInPlace codegen.ts \
        --replace-fail "../../graphql/" "${src}/graphql/"
          --replace-fail "../../graphql/" "${finalAttrs.src}/graphql/"
      '';

      buildPhase = ''
@@ -56,8 +52,8 @@ let

        export HOME=$(mktemp -d)
        export VITE_APP_DATE='1970-01-01 00:00:00'
      export VITE_APP_GITHASH=${gitHash}
      export VITE_APP_STASH_VERSION=v${version}
        export VITE_APP_GITHASH=${finalAttrs.gitHash}
        export VITE_APP_STASH_VERSION=v${finalAttrs.version}
        export VITE_APP_NOLEGACY=true

        yarn --offline run gqlgen
@@ -72,20 +68,28 @@ let
      dontFixup = true;
    });
  in
buildGoModule {
  {
    inherit
      pname
    src
      version
      gitHash
      yarnHash
      vendorHash
      ;

    src = fetchFromGitHub {
      owner = "stashapp";
      repo = "stash";
      tag = "v${finalAttrs.version}";
      hash = srcHash;
    };

    ldflags = [
      "-s"
      "-w"
      "-X 'github.com/stashapp/stash/internal/build.buildstamp=1970-01-01 00:00:00'"
    "-X 'github.com/stashapp/stash/internal/build.githash=${gitHash}'"
    "-X 'github.com/stashapp/stash/internal/build.version=v${version}'"
      "-X 'github.com/stashapp/stash/internal/build.githash=${finalAttrs.gitHash}'"
      "-X 'github.com/stashapp/stash/internal/build.version=v${finalAttrs.version}'"
      "-X 'github.com/stashapp/stash/internal/build.officialBuild=false'"
    ];
    tags = [
@@ -95,8 +99,11 @@ buildGoModule {

    subPackages = [ "cmd/stash" ];

  preBuild = ''
    postPatch = ''
      cp -a ${frontend} ui/v2.5/build
    '';

    preBuild = ''
      # `go mod tidy` requires internet access and does nothing
      echo "skip_mod_tidy: true" >> gqlgen.yml
      # remove `-trimpath` fron `GOFLAGS` because `gqlgen` does not work with it
@@ -112,7 +119,7 @@ buildGoModule {
        inherit (nixosTests) stash;
        version = testers.testVersion {
          package = stash;
        version = "v${version} (${gitHash}) - Unofficial Build - 1970-01-01 00:00:00";
          version = "v${finalAttrs.version} (${finalAttrs.gitHash}) - Unofficial Build - 1970-01-01 00:00:00";
        };
      };
    };
@@ -122,7 +129,7 @@ buildGoModule {
      description = "Organizer for your adult videos/images";
      license = lib.licenses.agpl3Only;
      homepage = "https://stashapp.cc/";
    changelog = "https://github.com/stashapp/stash/blob/v${version}/ui/v2.5/src/docs/en/Changelog/v${lib.versions.major version}${lib.versions.minor version}0.md";
      changelog = "https://github.com/stashapp/stash/blob/v${finalAttrs.version}/ui/v2.5/src/docs/en/Changelog/v${lib.versions.major finalAttrs.version}${lib.versions.minor finalAttrs.version}0.md";
      maintainers = with lib.maintainers; [
        Golo300
        DrakeTDL
@@ -135,3 +142,4 @@ buildGoModule {
      ];
    };
  }
)