1{ lib
2, fetchFromGitHub
3, buildPythonApplication
4, qt5
5, legendary-gl
6, pypresence
7, pyqt5
8, python
9, qtawesome
10, requests
11, typing-extensions
12}:
13
14buildPythonApplication rec {
15 pname = "rare";
16 version = "1.9.4";
17
18 src = fetchFromGitHub {
19 owner = "Dummerle";
20 repo = "Rare";
21 rev = "refs/tags/${version}";
22 sha256 = "sha256-+STwVsDdvjP7HaqmaQVug+6h0n0rw/j4LGQQSNdLVQQ=";
23 };
24
25 nativeBuildInputs = [
26 qt5.wrapQtAppsHook
27 ];
28
29 propagatedBuildInputs = [
30 legendary-gl
31 pypresence
32 pyqt5
33 qtawesome
34 requests
35 typing-extensions
36 ];
37
38 patches = [
39 ./fix-instance.patch
40 # Not able to run pythonRelaxDepsHook because of https://github.com/NixOS/nixpkgs/issues/198342
41 ./legendary-gl-version.patch
42 ];
43
44 dontWrapQtApps = true;
45
46 postInstall = ''
47 install -Dm644 misc/rare.desktop -t $out/share/applications/
48 install -Dm644 $out/${python.sitePackages}/rare/resources/images/Rare.png $out/share/pixmaps/rare.png
49 '';
50
51 preFixup = ''
52 makeWrapperArgs+=("''${qtWrapperArgs[@]}")
53 '';
54
55 # Project has no tests
56 doCheck = false;
57
58 meta = with lib; {
59 description = "GUI for Legendary, an Epic Games Launcher open source alternative";
60 homepage = "https://github.com/Dummerle/Rare";
61 maintainers = with maintainers; [ wolfangaukang ];
62 license = licenses.gpl3Only;
63 platforms = platforms.linux;
64 };
65}