From fdffbb6130085b83020903033aeb1f0d8a3c9f45 Mon Sep 17 00:00:00 2001 From: ByteSudoer Date: Tue, 6 Aug 2024 11:36:15 +0100 Subject: [PATCH] freeshow: init at 1.2.1 --- pkgs/by-name/fr/freeshow/package.nix | 78 ++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 pkgs/by-name/fr/freeshow/package.nix diff --git a/pkgs/by-name/fr/freeshow/package.nix b/pkgs/by-name/fr/freeshow/package.nix new file mode 100644 index 00000000000000..db8a612e47e74e --- /dev/null +++ b/pkgs/by-name/fr/freeshow/package.nix @@ -0,0 +1,78 @@ +{ + lib, + fetchurl, + stdenv, + undmg, + appimageTools, +}: + +let + pname = "freeshow"; + version = "1.2.1"; + src = + fetchurl + { + x86_64-darwin = { + url = "https://github.com/ChurchApps/FreeShow/releases/download/v${version}/FreeShow-${version}.dmg"; + hash = "sha256-OO0uQ6oS1GKiBGz3Qt9jDCY+qdWlgTOY+SiLJB5xQ3c="; + }; + x86_64-linux = { + url = "https://github.com/ChurchApps/FreeShow/releases/download/v${version}/FreeShow-${version}.AppImage"; + hash = "sha256-RBI8IkxY6Xd36vCVDJy9sqpEisB/48hwQo+mg5XTCOs="; + }; + } + .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + + appimageContents = appimageTools.extract { inherit pname version src; }; + + meta = { + description = "Free and open-source, user-friendly presenter software"; + homepage = "https://freeshow.app"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ ByteSudoer ]; + mainProgram = "freeshow"; + platforms = [ + "x86_64-darwin" + "x86_64-linux" + ]; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + }; + +in +if stdenv.isDarwin then + stdenv.mkDerivation { + inherit + pname + version + src + meta + ; + + sourceRoot = "."; + + nativeBuildInputs = [ undmg ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/Applications + cp -r *.app $out/Applications/ + runHook postInstall + ''; + } +else + appimageTools.wrapType2 { + inherit + pname + version + src + meta + ; + + extraInstallCommands = '' + mkdir -p $out/share/{applications,freeshow} + cp -a ${appimageContents}/{locales,resources} $out/share/freeshow + cp -a ${appimageContents}/usr/share/icons $out/share + install -Dm 444 ${appimageContents}/freeshow.desktop $out/share/applications + ''; + + }