nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5 versionCheckHook,
6 nix-update-script,
7}:
8python3Packages.buildPythonApplication rec {
9 pname = "beeref";
10 version = "0.3.3";
11 pyproject = true;
12
13 src = fetchFromGitHub {
14 owner = "rbreu";
15 repo = "beeref";
16 tag = "v${version}";
17 hash = "sha256-GtxiJKj3tlzI1kVXzJg0LNAUcodXSna17ZvAtsAEH4M=";
18 };
19
20 build-system = [ python3Packages.setuptools ];
21
22 dependencies = with python3Packages; [
23 exif
24 lxml
25 pyqt6
26 rectangle-packer
27 ];
28
29 pythonRelaxDeps = [
30 "lxml"
31 "pyqt6"
32 "rectangle-packer"
33 ];
34
35 pythonRemoveDeps = [ "pyqt6-qt6" ];
36
37 pythonImportsCheck = [ "beeref" ];
38
39 # Tests fail with "Fatal Python error: Aborted" due to PyQt6 GUI initialization issues in sandbox
40 # Only versionCheckHook and pythonImportsCheck are used for basic validation
41 nativeCheckInputs = [ versionCheckHook ];
42
43 passthru.updateScript = nix-update-script { };
44
45 meta = {
46 changelog = "https://github.com/rbreu/beeref/blob/v${version}/CHANGELOG.rst";
47 description = "Reference image viewer";
48 homepage = "https://beeref.org";
49 license = with lib.licenses; [
50 cc0
51 gpl3Only
52 ];
53 mainProgram = "beeref";
54 maintainers = with lib.maintainers; [ HeitorAugustoLN ];
55 platforms = lib.platforms.all;
56 sourceProvenance = [ lib.sourceTypes.fromSource ];
57 };
58}