diff --git a/pkgs/by-name/go/golden-cheetah-bin/darwin.nix b/pkgs/by-name/go/golden-cheetah-bin/darwin.nix new file mode 100644 index 000000000000..da1c3976fafd --- /dev/null +++ b/pkgs/by-name/go/golden-cheetah-bin/darwin.nix @@ -0,0 +1,44 @@ +{ + fetchurl, + stdenv, + makeWrapper, + undmg, + pname, + commonMeta, + version, +}: + +stdenv.mkDerivation { + inherit + pname + version + ; + + src = fetchurl { + url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v${builtins.substring 0 7 version}_x64.dmg"; + hash = "sha256-GGe8pGf16FWqN9uaStnGOtOeKDB44VBD7QwHkaZb7wY="; + }; + + nativeBuildInputs = [ + makeWrapper + undmg + ]; + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p "$out/Applications/GoldenCheetah.app" + cp -r * "$out/Applications/GoldenCheetah.app/" + makeWrapper "$out/Applications/GoldenCheetah.app/Contents/MacOS/GoldenCheetah" "$out/bin/GoldenCheetah" + runHook postInstall + ''; + meta = { + inherit (commonMeta) + description + platforms + maintainers + license + sourceProvenance + ; + }; +} diff --git a/pkgs/by-name/go/golden-cheetah-bin/linux.nix b/pkgs/by-name/go/golden-cheetah-bin/linux.nix new file mode 100644 index 000000000000..01c5a7e71af3 --- /dev/null +++ b/pkgs/by-name/go/golden-cheetah-bin/linux.nix @@ -0,0 +1,45 @@ +{ + appimageTools, + fetchurl, + pname, + commonMeta, + version, +}: + +appimageTools.wrapType2 rec { + inherit + pname + version + ; + src = fetchurl { + url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v${builtins.substring 0 7 version}_x64.AppImage"; + hash = "sha256-S1YDg7opoYflL/3h+lP1SNwXpJHaN3+iE3waSjWtN6o="; + }; + + extraPkgs = pkgs: [ + pkgs.R + pkgs.zlib + pkgs.libusb-compat-0_1 + ]; + + appimageContents = appimageTools.extract { inherit pname src version; }; + + extraInstallCommands = '' + mv $out/bin/${pname} $out/bin/GoldenCheetah + mkdir -p $out/share/applications + mkdir -p $out/share/pixmaps + cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/ + substituteInPlace $out/share/applications/GoldenCheetah.desktop --replace-fail \ + "Exec=GoldenCheetah" "Exec=QT_PLUGIN_PATH= GoldenCheetah" + cp ${appimageContents}/gc.png $out/share/pixmaps/ + ''; + meta = { + inherit (commonMeta) + description + platforms + maintainers + license + sourceProvenance + ; + }; +} diff --git a/pkgs/by-name/go/golden-cheetah-bin/package.nix b/pkgs/by-name/go/golden-cheetah-bin/package.nix index c37e7dc72fff..a01685df7974 100644 --- a/pkgs/by-name/go/golden-cheetah-bin/package.nix +++ b/pkgs/by-name/go/golden-cheetah-bin/package.nix @@ -1,38 +1,37 @@ -{ appimageTools, lib, fetchurl, nix-update-script, stdenv }: +{ + lib, + stdenv, + callPackage, +}: + let - pname = "golden-cheetah"; - version = "3.6"; + version = "3.7-DEV2410"; - src = fetchurl { - url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v${version}_x64.AppImage"; - hash = "sha256-PMRUDQSQxbECbF9SPOo03t4Xxj1OtYJAPXEMyyy6EVY="; - }; - - appimageContents = appimageTools.extract { inherit pname src version; }; -in -appimageTools.wrapType2 { - inherit pname src version; - - extraPkgs = pkgs: [ pkgs.R pkgs.zlib pkgs.libusb-compat-0_1 ]; - - extraInstallCommands = '' - mv $out/bin/${pname} $out/bin/GoldenCheetah - mkdir -p $out/share/applications - mkdir -p $out/share/pixmaps - cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/ - cp ${appimageContents}/gc.png $out/share/pixmaps/ - ''; - - passthru.updateScript = nix-update-script { }; - - meta = { + commonMeta = { description = "Performance software for cyclists, runners and triathletes. This version includes the API Tokens for e.g. Strava"; - platforms = lib.platforms.linux; - broken = !stdenv.hostPlatform.isx86_64; - maintainers = with lib.maintainers; [ gador adamcstephens ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + maintainers = with lib.maintainers; [ + gador + adamcstephens + ]; license = lib.licenses.gpl2Plus; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - knownVulnerabilities = [ "Vendors libwebp vulnerable to CVE-2023-4863" ]; }; -} +in + +if stdenv.hostPlatform.isDarwin then + callPackage ./darwin.nix { + inherit + stdenv + pname + commonMeta + version + ; + } +else + callPackage ./linux.nix { inherit pname commonMeta version; }