1{
2 lib,
3 fetchFromGitHub,
4 buildPythonApplication,
5 qt5,
6 legendary-gl,
7 orjson,
8 pypresence,
9 pyqt5,
10 python,
11 qtawesome,
12 requests,
13 setuptools,
14 typing-extensions,
15}:
16
17buildPythonApplication rec {
18 pname = "rare";
19 version = "1.10.11";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "RareDevs";
24 repo = "Rare";
25 tag = version;
26 hash = "sha256-2DtI5iaK4bYdGfIEhPy52WaEqh+IJMZ6qo/348lMnLY=";
27 };
28
29 nativeBuildInputs = [
30 setuptools
31 qt5.wrapQtAppsHook
32 ];
33
34 propagatedBuildInputs = [
35 legendary-gl
36 orjson
37 pypresence
38 pyqt5
39 qtawesome
40 requests
41 typing-extensions
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/RareDevs/Rare";
61 maintainers = [ ];
62 license = licenses.gpl3Only;
63 platforms = platforms.linux;
64 mainProgram = "rare";
65 };
66}