изменено: CMakeLists.txt
новый файл: cmake/Info.plist.in новый файл: default.nix новый файл: desktop.nix новый файл: packaging/linux/idef0-editor.desktop новый файл: packaging/linux/idef0.xml новый файл: packaging/windows/idef0-file-association.reg.in изменено: src/MainWindow.cpp изменено: src/MainWindow.h изменено: src/items/ArrowItem.cpp изменено: src/items/ArrowItem.h изменено: src/items/BlockItem.cpp изменено: src/items/BlockItem.h изменено: src/items/DiagramScene.cpp изменено: src/items/DiagramScene.h новый файл: src/plugins/Manual.md новый файл: src/plugins/PluginApi.h новый файл: src/plugins/PluginManager.cpp новый файл: src/plugins/PluginManager.h новый файл: src/plugins/color/ColorsPlugin.cpp новый файл: src/plugins/color/ColorsPlugin.h новый файл: src/plugins/color/translations/colors_en.ts новый файл: src/plugins/color/translations/colors_fr.ts новый файл: src/plugins/color/translations/colors_ru.ts новый файл: translations/README.txt новый файл: translations/idef0_en.ts новый файл: translations/idef0_fr.ts новый файл: translations/idef0_ru.ts
This commit is contained in:
parent
f6f0598ff2
commit
630c952382
28 changed files with 2720 additions and 90 deletions
74
default.nix
Normal file
74
default.nix
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{ pkgs ? import <nixpkgs> {}
|
||||
, buildColorsPlugin ? true
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (pkgs) lib stdenv cmake pkg-config;
|
||||
qt = pkgs.qt6;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "idef0_editor";
|
||||
version = "0.1.0";
|
||||
|
||||
src = lib.cleanSourceWith {
|
||||
src = ./.;
|
||||
filter = path: type:
|
||||
(lib.cleanSourceFilter path type)
|
||||
&& (builtins.baseNameOf path != "build");
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
qt.wrapQtAppsHook
|
||||
qt.qttools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qt.qtbase
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$out \
|
||||
-DBUILD_COLORS_PLUGIN=${if buildColorsPlugin then "ON" else "OFF"}
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
cmake --build build
|
||||
find . -path "*/translations/*.ts" -print0 | while IFS= read -r -d "" f; do
|
||||
out_path=$(printf '%s\n' "$f" | sed 's/\.ts$/.qm/')
|
||||
lrelease "$f" -qm "$out_path"
|
||||
done
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cmake --install build --prefix $out
|
||||
# app translations
|
||||
if [ -d translations ]; then
|
||||
mkdir -p $out/share/idef0/translations
|
||||
find translations -maxdepth 1 -type f -name '*.qm' -print0 | xargs -0 -r cp -t $out/share/idef0/translations
|
||||
fi
|
||||
# plugin translations
|
||||
find src/plugins -path "*/translations/*.qm" -print0 | while IFS= read -r -d "" f; do
|
||||
rel="''${f#src/plugins/}" # e.g., color/translations/colors_en.qm
|
||||
plugdir="''${rel%%/translations/*}" # e.g., color
|
||||
dest="$out/plugins/$plugdir/translations"
|
||||
mkdir -p "$dest"
|
||||
cp "$f" "$dest/"
|
||||
done
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--set" "QT_LOGGING_RULES" "qt.qpa.wayland.textinput=false"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "IDEF0 diagram editor built with Qt 6 Widgets";
|
||||
license = licenses.lgpl3Plus;
|
||||
mainProgram = "idef0_editor";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue