Commit 1aab9c28 authored by Florian Brandes's avatar Florian Brandes
Browse files

golden-cheetah: add AppImage derivation



Upstream bakes their API tokens for external services
(like Strava) in its source. When users want to connect
golden-cheetah to the external services, they fail and there
is no option to add own API keys during runtime.

So either the user modifies the derivation to add their own API
keys during build, or we add the pre-build AppImage to NixOS.
This has the developers API keys built-in, so the connection to
external services work as expected.

Signed-off-by: default avatarFlorian Brandes <florian.brandes@posteo.de>
Co-authored-by: default avatarAdam Stephens <2071575+adamcstephens@users.noreply.github.com>
parent 82670467
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
{ appimageTools, lib, fetchurl, stdenv }:
let

  pname = "golden-cheetah";
  version = "3.6-RC3";

  src = fetchurl {
    url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v3.6-DEV_x64.AppImage";
    hash = "sha256-Bp1IFql96tHc5ssg9nhTrFQqNtaM+5iYJguPGkguvns=";
  };

  appimageContents = appimageTools.extract { inherit pname src version; };
in
appimageTools.wrapType2 {
  inherit pname src version;

  extraPkgs = pkgs: with pkgs; [ R zlib libusb-compat-0_1 ];

  extraInstallCommands = ''
    mv $out/bin/${pname}-${version} $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/
  '';

  meta = with lib; {
    description = "Performance software for cyclists, runners and triathletes. This version includes the API Tokens for e.g. Strava";
    platforms = platforms.linux;
    broken = !stdenv.isx86_64;
    maintainers = with maintainers; [ gador ];
    license = licenses.gpl2Plus;
    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
  };
}
+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ in mkDerivation rec {
  '';

  meta = with lib; {
    description = "Performance software for cyclists, runners and triathletes";
    description = "Performance software for cyclists, runners and triathletes. Built from source and without API tokens";
    platforms = platforms.linux;
    maintainers = [ ];
    license = licenses.gpl2Plus;
+2 −0
Original line number Diff line number Diff line
@@ -37919,6 +37919,8 @@ with pkgs;
  golden-cheetah = libsForQt5.callPackage ../applications/misc/golden-cheetah {};
  golden-cheetah-bin = callPackage ../applications/misc/golden-cheetah-bin {};
  linkchecker = callPackage ../tools/networking/linkchecker { };
  tomb = callPackage ../os-specific/linux/tomb {};