nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 python3Packages,
6 wrapQtAppsHook,
7}:
8
9python3Packages.buildPythonPackage rec {
10 pname = "qnotero";
11
12 version = "2.3.1";
13 format = "setuptools";
14
15 src = fetchFromGitHub {
16 owner = "ealbiter";
17 repo = pname;
18 tag = "v${version}";
19 sha256 = "sha256-Rym7neluRbYCpuezRQyLc6gSl3xbVR9fvhOxxW5+Nzo=";
20 };
21
22 propagatedBuildInputs = [
23 python3Packages.pyqt5
24 wrapQtAppsHook
25 ];
26
27 patchPhase = ''
28 substituteInPlace ./setup.py \
29 --replace "/usr/share" "usr/share"
30
31 substituteInPlace ./libqnotero/_themes/light.py \
32 --replace "/usr/share" "$out/usr/share"
33 '';
34
35 preFixup = ''
36 wrapQtApp "$out"/bin/qnotero
37 '';
38
39 postInstall = ''
40 mkdir $out/share
41 mv $out/usr/share/applications $out/share/applications
42
43 substituteInPlace $out/share/applications/qnotero.desktop \
44 --replace "Icon=/usr/share/qnotero/resources/light/qnotero.png" "Icon=qnotero"
45
46 mkdir -p $out/share/icons/hicolor/64x64/apps
47 ln -s $out/usr/share/qnotero/resources/light/qnotero.png \
48 $out/share/icons/hicolor/64x64/apps/qnotero.png
49 '';
50
51 # no tests executed
52 doCheck = false;
53
54 meta = {
55 description = "Quick access to Zotero references";
56 mainProgram = "qnotero";
57 homepage = "https://www.cogsci.nl/software/qnotero";
58 license = lib.licenses.gpl2;
59 platforms = lib.platforms.unix;
60 broken = stdenv.hostPlatform.isDarwin; # Build fails even after adding cx-freeze to `buildInputs`
61 maintainers = [ lib.maintainers.nico202 ];
62 };
63}