pyfa: 2.60.2 -> 2.61.0

This commit is contained in:
Matheus Paschoal
2024-12-01 00:02:23 -05:00
parent ca3f599cc0
commit f05b34d39c
+102 -9
View File
@@ -1,21 +1,114 @@
{
lib,
appimageTools,
fetchurl,
python3Packages,
fetchFromGitHub,
gsettings-desktop-schemas,
adwaita-icon-theme,
wrapGAppsHook3,
gdk-pixbuf,
}:
let
version = "2.60.2";
version = "2.61.0";
in
appimageTools.wrapType2 {
python3Packages.buildPythonApplication rec {
inherit version;
pname = "pyfa";
format = "other";
src = fetchurl {
name = "pyfa-appimage-${version}";
url = "https://github.com/pyfa-org/Pyfa/releases/download/v${version}/pyfa-v${version}-linux.AppImage";
hash = "sha256-6doetQ6E1Occ/SqewfxRqPEX1MnUuFomm+8VmetIz4Y=";
src = fetchFromGitHub {
owner = "pyfa-org";
repo = "Pyfa";
rev = "refs/tags/v${version}";
hash = "sha256-VSuRQugUODc+LbhKbzsA09pnqPEIAt0pQS2An/p7r9A=";
};
build-system = [ python3Packages.setuptools ];
dependencies = with python3Packages; [
wxpython
logbook
matplotlib
python-dateutil
requests
sqlalchemy_1_4
cryptography
markdown2
beautifulsoup4
pyaml
roman
numpy
python-jose
requests-cache
];
buildInputs = [
gsettings-desktop-schemas
adwaita-icon-theme
gdk-pixbuf
];
dontWrapGApps = true;
nativeBuildInputs = [
python3Packages.pyinstaller
wrapGAppsHook3
];
#
# upstream does not include setup.py
#
patchPhase = ''
cat > setup.py <<EOF
from setuptools import setup
setup(
name = "${pname}",
version = "${version}",
scripts = ["pyfa.py"],
packages = setuptools.find_packages(),
)
EOF
'';
configurePhase = ''
runHook preConfigure
python3 db_update.py
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
pyinstaller --clean --noconfirm pyfa.spec
runHook postBuild
'';
#
# pyinstaller builds up dist/pyfa/pyfa binary and
# dist/pyfa/apps directory with libraries and everything else.
# creating a symbolic link out in $out/bin to $out/share/pyfa to avoid
# exposing the innards of pyfa to the rest of the env.
#
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/pixmaps
cp -r dist/pyfa $out/share/
cp imgs/gui/pyfa64.png $out/share/pixmaps/pyfa.png
ln -sf $out/share/pyfa/pyfa $out/bin/pyfa
'';
fixupPhase = ''
runHook preFixup
wrapProgramShell $out/share/pyfa/pyfa \
''${gappsWrapperArgs[@]} \
runHook postFixup
'';
doCheck = true;
meta = {
description = "Python fitting assistant, cross-platform fitting tool for EVE Online";
homepage = "https://github.com/pyfa-org/Pyfa";
@@ -23,9 +116,9 @@ appimageTools.wrapType2 {
maintainers = with lib.maintainers; [
toasteruwu
cholli
paschoal
];
mainProgram = "pyfa";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = lib.platforms.linux;
};
}