mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 00:57:22 +01:00
95 lines
1.8 KiB
Nix
95 lines
1.8 KiB
Nix
{ lib
|
|
, python3
|
|
, fetchFromGitHub
|
|
, makeDesktopItem
|
|
, writeShellScript
|
|
, ...
|
|
}:
|
|
let
|
|
wrapper = writeShellScript "eontimer-wrapper" ''
|
|
export QT_QPA_PLATFORM=xcb
|
|
exec @out@/bin/EonTimer
|
|
'';
|
|
in
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "eontimer";
|
|
version = "3.0.0-rc.6";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "DasAmpharos";
|
|
repo = "EonTimer";
|
|
rev = version;
|
|
hash = "sha256-+XN/VGGlEg2gVncRZrWDOZ2bfxt8xyIu22F2wHlG6YI=";
|
|
};
|
|
|
|
build-system = [
|
|
python3.pkgs.setuptools
|
|
python3.pkgs.wheel
|
|
];
|
|
|
|
dependencies = with python3.pkgs; [
|
|
altgraph
|
|
certifi
|
|
charset-normalizer
|
|
idna
|
|
libsass
|
|
macholib
|
|
packaging
|
|
pillow
|
|
pipdeptree
|
|
platformdirs
|
|
pyinstaller
|
|
pyinstaller-hooks-contrib
|
|
pyside6
|
|
requests
|
|
setuptools
|
|
shiboken6
|
|
urllib3
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
python3.pkgs.pyinstaller
|
|
];
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
pyinstaller --clean --noconfirm EonTimer.spec
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin
|
|
mkdir -p $out/share/applications
|
|
cp dist/EonTimer $out/bin/
|
|
install -Dm755 -T ${wrapper} $out/bin/eontimer
|
|
substituteInPlace $out/bin/eontimer --subst-var out
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
postInstall = ''
|
|
install -Dm755 -t $out/share/applications ${
|
|
makeDesktopItem {
|
|
name = "eontimer";
|
|
desktopName = "EonTimer";
|
|
comment = "Start EonTimer";
|
|
exec = "eontimer";
|
|
}
|
|
}/share/applications/eontimer.desktop
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
description = "Pokémon RNG Timer";
|
|
homepage = "https://github.com/DasAmpharos/EonTimer";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ ];
|
|
mainProgram = "eon-timer";
|
|
};
|
|
}
|