From ae97e9612f8faf83bb727da66e87ca2a1f8c7e6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Fri, 20 Dec 2024 13:30:38 +0100 Subject: [PATCH 1/4] famistudio: move to finalAttrs --- pkgs/by-name/fa/famistudio/package.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/fa/famistudio/package.nix b/pkgs/by-name/fa/famistudio/package.nix index 0dc7fc256436..9961002befab 100644 --- a/pkgs/by-name/fa/famistudio/package.nix +++ b/pkgs/by-name/fa/famistudio/package.nix @@ -24,14 +24,14 @@ let else throw "Don't know how to build FamiStudio for ${stdenv.hostPlatform.system}"; in -buildDotnetModule rec { +buildDotnetModule (finalAttrs: { pname = "famistudio"; version = "4.2.1"; src = fetchFromGitHub { owner = "BleuBleu"; repo = "FamiStudio"; - rev = "refs/tags/${version}"; + rev = "refs/tags/${finalAttrs.version}"; hash = "sha256-WYy/6cWQg3Ayok/eAdnvlWAvdcuhy/sdlWOVvaYcPkc="; }; @@ -43,8 +43,8 @@ buildDotnetModule rec { callPackage ./build-native-wrapper.nix ( args // { - inherit version src; - sourceRoot = "${src.name}/ThirdParty/${args.depname}"; + inherit (finalAttrs) version src; + sourceRoot = "${finalAttrs.src.name}/ThirdParty/${args.depname}"; } ); nativeWrapperToReplaceFormat = @@ -117,10 +117,10 @@ buildDotnetModule rec { rm FamiStudio/*.{dll,dylib,so*} # Replace copying of vendored prebuilt native libraries with copying of our native libraries - substituteInPlace ${projectFile} ${libraryReplaceArgs} + substituteInPlace ${finalAttrs.projectFile} ${libraryReplaceArgs} # Un-hardcode target platform if set - sed -i -e '/PlatformTarget/d' ${projectFile} + sed -i -e '/PlatformTarget/d' ${finalAttrs.projectFile} # Don't require a special name to be preserved, our OpenAL isn't 32-bit substituteInPlace FamiStudio/Source/AudioStreams/OpenALStream.cs \ @@ -168,4 +168,4 @@ buildDotnetModule rec { platforms = lib.platforms.unix; mainProgram = "FamiStudio"; }; -} +}) From b3564df51c1e2c4b7b507f206aafe633ddabf168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Fri, 20 Dec 2024 13:33:19 +0100 Subject: [PATCH 2/4] famistudio: stdenv -> stdenvNoCC --- pkgs/by-name/fa/famistudio/package.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/fa/famistudio/package.nix b/pkgs/by-name/fa/famistudio/package.nix index 9961002befab..ea767ab610d6 100644 --- a/pkgs/by-name/fa/famistudio/package.nix +++ b/pkgs/by-name/fa/famistudio/package.nix @@ -1,5 +1,5 @@ { - stdenv, + stdenvNoCC, lib, buildDotnetModule, dotnetCorePackages, @@ -17,12 +17,12 @@ let csprojName = - if stdenv.hostPlatform.isLinux then + if stdenvNoCC.hostPlatform.isLinux then "FamiStudio.Linux" - else if stdenv.hostPlatform.isDarwin then + else if stdenvNoCC.hostPlatform.isDarwin then "FamiStudio.Mac" else - throw "Don't know how to build FamiStudio for ${stdenv.hostPlatform.system}"; + throw "Don't know how to build FamiStudio for ${stdenvNoCC.hostPlatform.system}"; in buildDotnetModule (finalAttrs: { pname = "famistudio"; @@ -37,7 +37,7 @@ buildDotnetModule (finalAttrs: { postPatch = let - libname = library: "${library}${stdenv.hostPlatform.extensions.sharedLibrary}"; + libname = library: "${library}${stdenvNoCC.hostPlatform.extensions.sharedLibrary}"; buildNativeWrapper = args: callPackage ./build-native-wrapper.nix ( @@ -50,7 +50,7 @@ buildDotnetModule (finalAttrs: { nativeWrapperToReplaceFormat = args: let - libPrefix = lib.optionalString stdenv.hostPlatform.isLinux "lib"; + libPrefix = lib.optionalString stdenvNoCC.hostPlatform.isLinux "lib"; in { package = buildNativeWrapper args; @@ -71,14 +71,14 @@ buildDotnetModule (finalAttrs: { ourName = "librtmidi"; } ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ + ++ lib.optionals stdenvNoCC.hostPlatform.isLinux [ { package = openal; expectedName = "libopenal32"; ourName = "libopenal"; } ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ + ++ lib.optionals stdenvNoCC.hostPlatform.isDarwin [ { package = portaudio; expectedName = "libportaudio.2"; @@ -133,7 +133,7 @@ buildDotnetModule (finalAttrs: { dotnet-runtime = dotnetCorePackages.runtime_8_0; dotnetFlags = [ "-p:TargetFramework=net8.0" ]; - runtimeDeps = lib.optionals stdenv.hostPlatform.isLinux [ + runtimeDeps = lib.optionals stdenvNoCC.hostPlatform.isLinux [ libglvnd ]; From 5a7454f56436e7250d7126a2eb376c6e3f918d90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Fri, 20 Dec 2024 13:37:56 +0100 Subject: [PATCH 3/4] famistudio: simpler update script --- pkgs/by-name/fa/famistudio/package.nix | 7 ++++++- pkgs/by-name/fa/famistudio/update.sh | 23 ----------------------- 2 files changed, 6 insertions(+), 24 deletions(-) delete mode 100755 pkgs/by-name/fa/famistudio/update.sh diff --git a/pkgs/by-name/fa/famistudio/package.nix b/pkgs/by-name/fa/famistudio/package.nix index ea767ab610d6..7b3e14abe957 100644 --- a/pkgs/by-name/fa/famistudio/package.nix +++ b/pkgs/by-name/fa/famistudio/package.nix @@ -13,6 +13,8 @@ openal, portaudio, rtmidi, + _experimental-update-script-combinators, + gitUpdater, }: let @@ -152,7 +154,10 @@ buildDotnetModule (finalAttrs: { --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} ''; - passthru.updateScript = ./update.sh; + passthru.updateScript = _experimental-update-script-combinators.sequence [ + (gitUpdater { }).command + (finalAttrs.passthru.fetch-deps) + ]; meta = { homepage = "https://famistudio.org/"; diff --git a/pkgs/by-name/fa/famistudio/update.sh b/pkgs/by-name/fa/famistudio/update.sh deleted file mode 100755 index 15657955c025..000000000000 --- a/pkgs/by-name/fa/famistudio/update.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl jq common-updater-scripts -set -eo pipefail - -cd "$(dirname "${BASH_SOURCE[0]}")" - -deps_file="$(realpath "./deps.nix")" - -new_version="$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ - -s "https://api.github.com/repos/BleuBleu/FamiStudio/releases?per_page=1" | jq -r '.[0].tag_name')" -old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)" -if [[ "$new_version" == "$old_version" ]]; then - echo "Up to date" - exit 0 -fi - -cd ../../../.. - -if [[ "$1" != "--deps-only" ]]; then - update-source-version famistudio "$new_version" -fi - -$(nix-build . -A famistudio.fetch-deps --no-out-link) "$deps_file" From f48c700012b8d79922142c1ef6f898d0bcb26963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Fri, 20 Dec 2024 13:40:56 +0100 Subject: [PATCH 4/4] famistudio: 4.2.1 -> 4.3.0 --- pkgs/by-name/fa/famistudio/package.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fa/famistudio/package.nix b/pkgs/by-name/fa/famistudio/package.nix index 7b3e14abe957..cd115bbcc338 100644 --- a/pkgs/by-name/fa/famistudio/package.nix +++ b/pkgs/by-name/fa/famistudio/package.nix @@ -28,13 +28,13 @@ let in buildDotnetModule (finalAttrs: { pname = "famistudio"; - version = "4.2.1"; + version = "4.3.0"; src = fetchFromGitHub { owner = "BleuBleu"; repo = "FamiStudio"; rev = "refs/tags/${finalAttrs.version}"; - hash = "sha256-WYy/6cWQg3Ayok/eAdnvlWAvdcuhy/sdlWOVvaYcPkc="; + hash = "sha256-Ldht7w1qgLTiqbRUJJvFQgl1VW6k+14w/jz58kAeMl0="; }; postPatch = @@ -132,8 +132,6 @@ buildDotnetModule (finalAttrs: { projectFile = "FamiStudio/${csprojName}.csproj"; nugetDeps = ./deps.json; dotnet-sdk = dotnetCorePackages.sdk_8_0; - dotnet-runtime = dotnetCorePackages.runtime_8_0; - dotnetFlags = [ "-p:TargetFramework=net8.0" ]; runtimeDeps = lib.optionals stdenvNoCC.hostPlatform.isLinux [ libglvnd