streamlink: 7.1.1 -> 7.1.2 (#373269)
[NixPkgs.git] / pkgs / by-name / br / brickstore / package.nix
blob0f53cf2c790ea3e6b6584382530fb03868fe611c
2   lib,
3   stdenv,
4   qt6,
5   libsForQt5,
6   fetchFromGitHub,
7   gst_all_1,
8   cmake,
9   libglvnd,
10   tbb,
11   ninja,
12   pkg-config,
14 let
15   inherit (libsForQt5) qcoro;
17 stdenv.mkDerivation (finalAttrs: {
18   pname = "brickstore";
19   version = "2024.5.2";
21   src = fetchFromGitHub {
22     owner = "rgriebl";
23     repo = "brickstore";
24     rev = "v${finalAttrs.version}";
25     hash = "sha256-Bu9oNbZm3lx/CfYAReHyWe/kW+kaefDWeBtWLHOCORU=";
26     fetchSubmodules = true;
27   };
29   nativeBuildInputs = [
30     cmake
31     libglvnd
32     ninja
33     pkg-config
34     qcoro
35     qt6.qtdoc
36     qt6.qtdeclarative
37     qt6.qtimageformats
38     qt6.qtmultimedia
39     qt6.qtquick3d
40     qt6.qtquicktimeline
41     qt6.qtshadertools
42     qt6.qttools
43     qt6.qtwayland
44     qt6.wrapQtAppsHook
45     tbb
46   ];
48   preConfigure = ''
49     sed -i '/^)$/d' cmake/BuildQCoro.cmake
51     substituteInPlace cmake/BuildQCoro.cmake \
52       --replace-fail 'FetchContent_Declare(' ' ' \
53       --replace-fail '    qcoro' ' ' \
54       --replace-fail '    GIT_REPOSITORY https://github.com/danvratil/qcoro.git' ' ' \
55       --replace-fail '    GIT_TAG        v''${QCORO_VERSION}' ' ' \
56       --replace-fail 'FetchContent_GetProperties(qcoro)' ' ' \
57       --replace-fail 'FetchContent_Populate(qcoro)' ' ' \
58       --replace-fail \
59         'add_subdirectory(''${qcoro_SOURCE_DIR} ''${qcoro_BINARY_DIR} EXCLUDE_FROM_ALL)' \
60         'add_subdirectory(${qcoro.src} ${qcoro}bin/qcoro)'
61   '';
63   qtWrapperArgs = [
64     ''
65       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${
66         lib.makeLibraryPath [
67           gst_all_1.gstreamer
68           gst_all_1.gst-plugins-base
69           gst_all_1.gst-plugins-good
70           gst_all_1.gst-plugins-bad
71           gst_all_1.gst-plugins-ugly
72           gst_all_1.gst-libav
73         ]
74       }
75     ''
76   ];
78   meta = {
79     changelog = "https://github.com/rgriebl/brickstore/blob/main/CHANGELOG.md";
80     description = "BrickLink offline management tool";
81     homepage = "https://www.brickstore.dev/";
82     license = lib.licenses.gpl3Plus;
83     longDescription = ''
84       BrickStore is a BrickLink offline management tool.
85       It is multi-platform (Windows, macOS and Linux as well as iOS and Android),
86       multilingual (currently English, German, Spanish, Swedish and French), fast and stable.
87     '';
88     maintainers = with lib.maintainers; [ legojames ];
89     mainProgram = "brickstore";
90     platforms = lib.platforms.linux;
91   };