579c17d7bc
This also makes the application ready to work on Darwin (but still not working until #113777 is fixed). Version 1.5.1 did not build on Darwin because libcanberra-gtk3 is broken, and python-vlc is required but only works on Linux. Version 1.6.x fixed the python-vlc requirement to make it optional, so now both libcanberra-gtk3 and python-vlc inputs can be made optional, and enabled by default on Linux. This means that on Darwin there is no support for media, but it is still better than not having the application at all. Unfortunately, until watchdog 2.x is fixed, the Darwin build will be still broken. ----- The setup.py file now parses the setuptools version, so it needs to be patched to fix an error with the 'post0' suffix in the version. Also, setuptools is needed in propagatedBuildInputs to fix the `ModuleNotFoundError: No module named 'pkg_resources'` error.
57 lines
1.3 KiB
Nix
57 lines
1.3 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchpatch
|
|
, python3Packages
|
|
, wrapGAppsHook
|
|
, gtk3
|
|
, gobject-introspection
|
|
, libcanberra-gtk3
|
|
, poppler_gi
|
|
, withGstreamer ? stdenv.isLinux
|
|
, withVLC ? stdenv.isLinux
|
|
}:
|
|
|
|
python3Packages.buildPythonApplication rec {
|
|
pname = "pympress";
|
|
version = "1.6.3";
|
|
|
|
src = python3Packages.fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "sha256-f+OjE0x/3yfJYHCLB+on7TT7MJ2vNu87SHRi67qFDCM=";
|
|
};
|
|
|
|
patches = [
|
|
# Should not be needed once v1.6.4 is released
|
|
(fetchpatch {
|
|
name = "fix-setuptools-version-parsing.patch";
|
|
url = "https://github.com/Cimbali/pympress/commit/474514d71396ac065e210fd846e07ed1139602d0.diff";
|
|
sha256 = "sha256-eiw54sjMrXrNrhtkAXxiSTatzoA0NDA03L+HpTDax58=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
wrapGAppsHook
|
|
];
|
|
|
|
buildInputs = [
|
|
gtk3
|
|
gobject-introspection
|
|
poppler_gi
|
|
] ++ lib.optional withGstreamer libcanberra-gtk3;
|
|
|
|
propagatedBuildInputs = with python3Packages; [
|
|
pycairo
|
|
pygobject3
|
|
setuptools
|
|
watchdog
|
|
] ++ lib.optional withVLC python-vlc;
|
|
|
|
doCheck = false; # there are no tests
|
|
|
|
meta = with lib; {
|
|
description = "Simple yet powerful PDF reader designed for dual-screen presentations";
|
|
license = licenses.gpl2Plus;
|
|
homepage = "https://cimbali.github.io/pympress/";
|
|
maintainers = [ maintainers.tbenst ];
|
|
};
|
|
}
|