Merge pull request #309937 from jrobinson-uk/add-bricktore-package

brickstore: init at 0-unstable-2024-05-02
This commit is contained in:
Pol Dellaiera 2024-06-07 15:27:06 +02:00 committed by GitHub
commit de986200b9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 97 additions and 0 deletions

View file

@ -11576,6 +11576,11 @@
githubId = 4158274;
name = "Michiel Leenaars";
};
legojames = {
github = "jrobinson-uk";
githubId = 4701504;
name = "James Robinson";
};
leifhelm = {
email = "jakob.leifhelm@gmail.com";
github = "leifhelm";

View file

@ -0,0 +1,92 @@
{
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 = "0-unstable-2024-05-02";
src = fetchFromGitHub {
owner = "rgriebl";
repo = "brickstore";
rev = "v2024.5.2";
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;
};
})