93 lines
2.3 KiB
Nix
93 lines
2.3 KiB
Nix
|
{
|
||
|
lib,
|
||
|
stdenv,
|
||
|
qt6,
|
||
|
libsForQt5,
|
||
|
fetchFromGitHub,
|
||
|
gst_all_1,
|
||
|
cmake,
|
||
|
libglvnd,
|
||
|
tbb,
|
||
|
ninja,
|
||
|
pkg-config,
|
||
|
}:
|
||
|
let
|
||
|
inherit (libsForQt5) qcoro;
|
||
|
in
|
||
|
stdenv.mkDerivation (finalAttrs: {
|
||
|
pname = "brickstore";
|
||
|
version = "2024.5.2";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "rgriebl";
|
||
|
repo = "brickstore";
|
||
|
rev = "v${finalAttrs.version}";
|
||
|
hash = "sha256-Bu9oNbZm3lx/CfYAReHyWe/kW+kaefDWeBtWLHOCORU=";
|
||
|
fetchSubmodules = true;
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
cmake
|
||
|
libglvnd
|
||
|
ninja
|
||
|
pkg-config
|
||
|
qcoro
|
||
|
qt6.qtdoc
|
||
|
qt6.qtdeclarative
|
||
|
qt6.qtimageformats
|
||
|
qt6.qtmultimedia
|
||
|
qt6.qtquick3d
|
||
|
qt6.qtquicktimeline
|
||
|
qt6.qtshadertools
|
||
|
qt6.qttools
|
||
|
qt6.qtwayland
|
||
|
qt6.wrapQtAppsHook
|
||
|
tbb
|
||
|
];
|
||
|
|
||
|
preConfigure = ''
|
||
|
sed -i '/^)$/d' cmake/BuildQCoro.cmake
|
||
|
|
||
|
substituteInPlace cmake/BuildQCoro.cmake \
|
||
|
--replace-fail 'FetchContent_Declare(' ' ' \
|
||
|
--replace-fail ' qcoro' ' ' \
|
||
|
--replace-fail ' GIT_REPOSITORY https://github.com/danvratil/qcoro.git' ' ' \
|
||
|
--replace-fail ' GIT_TAG v''${QCORO_VERSION}' ' ' \
|
||
|
--replace-fail 'FetchContent_GetProperties(qcoro)' ' ' \
|
||
|
--replace-fail 'FetchContent_Populate(qcoro)' ' ' \
|
||
|
--replace-fail \
|
||
|
'add_subdirectory(''${qcoro_SOURCE_DIR} ''${qcoro_BINARY_DIR} EXCLUDE_FROM_ALL)' \
|
||
|
'add_subdirectory(${qcoro.src} ${qcoro}bin/qcoro)'
|
||
|
'';
|
||
|
|
||
|
qtWrapperArgs = [
|
||
|
''
|
||
|
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${
|
||
|
lib.makeLibraryPath [
|
||
|
gst_all_1.gstreamer
|
||
|
gst_all_1.gst-plugins-base
|
||
|
gst_all_1.gst-plugins-good
|
||
|
gst_all_1.gst-plugins-bad
|
||
|
gst_all_1.gst-plugins-ugly
|
||
|
gst_all_1.gst-libav
|
||
|
]
|
||
|
}
|
||
|
''
|
||
|
];
|
||
|
|
||
|
meta = {
|
||
|
changelog = "https://github.com/rgriebl/brickstore/blob/main/CHANGELOG.md";
|
||
|
description = "BrickLink offline management tool";
|
||
|
homepage = "https://www.brickstore.dev/";
|
||
|
license = lib.licenses.gpl3Plus;
|
||
|
longDescription = ''
|
||
|
BrickStore is a BrickLink offline management tool.
|
||
|
It is multi-platform (Windows, macOS and Linux as well as iOS and Android),
|
||
|
multilingual (currently English, German, Spanish, Swedish and French), fast and stable.
|
||
|
'';
|
||
|
maintainers = with lib.maintainers; [ legojames ];
|
||
|
mainProgram = "brickstore";
|
||
|
platforms = lib.platforms.linux;
|
||
|
};
|
||
|
})
|