Commit c961b3c2 authored by Nathan Henrie's avatar Nathan Henrie
Browse files

golden-cheetah: update to qt6, add darwin

QT "5 or higher" recommended on Linux, QT6 specifically noted in the
install instructions for mac so should be fine for both.
parent c3a73f9f
Loading
Loading
Loading
Loading
+54 −44
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  nix-update-script,
  mkDerivation,
  qtbase,
  qtsvg,
  qtserialport,
  qtwebengine,
  qtmultimedia,
  qttools,
  qtconnectivity,
  qtcharts,
  qt6,
  libusb-compat-0_1,
  gsl,
  blas,
  bison,
  flex,
  zlib,
  qmake,
  makeDesktopItem,
  wrapQtAppsHook,
}:

let
@@ -33,37 +24,45 @@ let
    categories = [ "Utility" ];
  };
in
mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "golden-cheetah";
  version = "3.7-DEV2408";

  src = fetchFromGitHub {
    owner = "GoldenCheetah";
    repo = "GoldenCheetah";
    tag = "v${version}";
    tag = "v${finalAttrs.version}";
    hash = "sha256-6JAdnYaKULJsc/zdcTMbCkbOCbiVtnJivEazDKL721c=";
  };

  buildInputs = [
  buildInputs =
    with qt6;
    [
      qt5compat
      qtbase
    qtsvg
    qtserialport
    qtwebengine
      qtcharts
      qtconnectivity
      qtmultimedia
      qtserialport
      qtsvg
      qttools
    zlib
    qtconnectivity
    qtcharts
    libusb-compat-0_1
    gsl
      qtwebengine
    ]
    ++ [
      blas
      gsl
      libusb-compat-0_1
      zlib
    ];
  nativeBuildInputs = [
  nativeBuildInputs =
    [
      bison
      flex
    wrapQtAppsHook
    ]
    ++ (with qt6; [
      qmake
    bison
  ];
      wrapQtAppsHook
    ]);

  patches = [
    # allow building with bison 3.7
@@ -84,13 +83,15 @@ mkDerivation rec {
  preConfigure = ''
    cp src/gcconfig.pri.in src/gcconfig.pri
    cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
    sed -i 's,^#QMAKE_LRELEASE.*,QMAKE_LRELEASE = ${qttools.dev}/bin/lrelease,' src/gcconfig.pri
    sed -i 's,^#QMAKE_LRELEASE.*,QMAKE_LRELEASE = ${qt6.qttools.dev}/bin/lrelease,' src/gcconfig.pri
    sed -i 's,^#LIBUSB_INSTALL.*,LIBUSB_INSTALL = ${libusb-compat-0_1},' src/gcconfig.pri
    sed -i 's,^#LIBUSB_INCLUDE.*,LIBUSB_INCLUDE = ${libusb-compat-0_1.dev}/include,' src/gcconfig.pri
    sed -i 's,^#LIBUSB_LIBS.*,LIBUSB_LIBS = -L${libusb-compat-0_1}/lib -lusb,' src/gcconfig.pri
  '';

  installPhase = ''
  installPhase =
    if stdenv.isLinux then
      ''
        runHook preInstall

        mkdir -p $out/bin
@@ -99,15 +100,24 @@ mkDerivation rec {
        install -Dm644 src/Resources/images/gc.png $out/share/pixmaps/goldencheetah.png

        runHook postInstall
  '';
      ''
    else if stdenv.isDarwin then
      ''
        runHook preInstall
        mkdir -p $out/Applications
        cp -r src/GoldenCheetah.app $out/Applications
        runHook postInstall
      ''
    else
      abort "unsupported platform";

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Performance software for cyclists, runners and triathletes. Built from source and without API tokens";
    mainProgram = "GoldenCheetah";
    platforms = lib.platforms.linux;
    platforms = with lib.platforms; darwin ++ linux;
    maintainers = with lib.maintainers; [ adamcstephens ];
    license = lib.licenses.gpl2Plus;
  };
}
})
+0 −2
Original line number Diff line number Diff line
@@ -18209,8 +18209,6 @@ with pkgs;
  discordo = callPackage ../applications/networking/discordo/default.nix { };
  golden-cheetah = libsForQt5.callPackage ../applications/misc/golden-cheetah { };
  tomb = callPackage ../by-name/to/tomb/package.nix {
    pinentry = pinentry-curses;
  };