%global commit 4847dea734c8ae2e1b3cfd06d7027e882ebfa95a %global shortcommit %(c=%{commit}; echo ${c:0:8}) Name: lqml Version: 0^21012024.4847dea7 Release: 1%{?dist} Summary: A lightweight QML-only ECL binding to Qt5/Qt6 License: 0BSD URL: https://gitlab.com/eql/lqml Source: %{url}/-/archive/%{commit}/lqml-%{shortcommit}.tar.gz BuildRequires: ecl BuildRequires: gcc-c++ BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qttools-devel BuildRequires: qt5-qtquickcontrols2-devel BuildRequires: fontawesome4-fonts BuildRequires: source-foundry-hack-fonts # Replacement for Ubuntu fonts which are not in Fedora BuildRequires: adobe-source-sans-pro-fonts %description A lightweight ECL based QML-only binding to Qt5/Qt6. This small project aims to simplify all the steps needed for building cross-platform apps. The same sources can be used to build executables for both desktop (Linux/macOS/Windows) and mobile (android/iOS/SailfishOS). %package examples Summary: Example programs # All files 0BSD except wear-os-heart/qt-sensor-hack/QtActivity.java # which is BSD-2-Clause License: 0BSD and BSD-2-Clause Requires: fontawesome4-fonts Requires: source-foundry-hack-fonts Requires: adobe-source-sans-pro-fonts BuildArch: noarch %description examples Example program files for lqml. %prep %autosetup -n lqml-%{commit} # Use Source sans Pro fonts instead of Ubuntu fonts sed -i 's|fonts/Ubuntu.ttf|fonts/SourceCodePro-Regular.otf|g' \ examples/meshtastic/qml/main.qml sed -i 's|fonts/Ubuntu-Medium.ttf|fonts/SourceCodePro-Medium.otf|g' \ examples/meshtastic/qml/main.qml # Use production setup for example sed -i '/".ext"/d' examples/advanced-qml-auto-reload/qml/main.qml sed -i 's|//import "ext|import "ext|g' examples/advanced-qml-auto-reload/qml/main.qml %build pushd src pushd build %qmake_qt5 ../lqml.pro %make_build popd popd %install pushd src pushd build %make_install INSTALL_ROOT=%{buildroot} popd popd # package some examples as documentation mkdir -m 755 -p %{buildroot}%{_datadir}/lqml cp -r -p examples/ %{buildroot}%{_datadir}/lqml/ cp -r -p platforms/ %{buildroot}%{_datadir}/lqml/ cp -r -p slime/ %{buildroot}%{_datadir}/lqml/ cp -r -p snippets/ %{buildroot}%{_datadir}/lqml/ # Remove generated static library rm -r %{buildroot}%{_datadir}/lqml/platforms/linux # Replace font files with links rm %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/qml/fonts/*.ttf ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Regular.ttf \ %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/qml/fonts/ ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Medium.ttf \ %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/qml/fonts/ ln -s %{_datadir}/fonts/fontawesome4-fonts/fontawesome-webfont.ttf \ %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/qml/fonts/ rm %{buildroot}%{_datadir}/lqml/examples/cl-repl/qml/fonts/*.ttf ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Regular.ttf \ %{buildroot}%{_datadir}/lqml/examples/cl-repl/qml/fonts/ ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Medium.ttf \ %{buildroot}%{_datadir}/lqml/examples/cl-repl/qml/fonts/ ln -s %{_datadir}/fonts/fontawesome4-fonts/fontawesome-webfont.ttf \ %{buildroot}%{_datadir}/lqml/examples/cl-repl/qml/fonts/ rm %{buildroot}%{_datadir}/lqml/examples/clog-demo/qml/fonts/*.ttf ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Regular.ttf \ %{buildroot}%{_datadir}/lqml/examples/clog-demo/qml/fonts/ ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Medium.ttf \ %{buildroot}%{_datadir}/lqml/examples/clog-demo/qml/fonts/ ln -s %{_datadir}/fonts/fontawesome4-fonts/fontawesome-webfont.ttf \ %{buildroot}%{_datadir}/lqml/examples/clog-demo/qml/fonts/ rm %{buildroot}%{_datadir}/lqml/examples/meshtastic/qml/fonts/*.ttf ln -s %{_datadir}/fonts/adobe-source-code-pro-fonts/SourceCodePro-Regular.otf \ %{buildroot}%{_datadir}/lqml/examples/meshtastic/ ln -s %{_datadir}/fonts/adobe-source-code-pro-fonts/SourceCodePro-Medium.otf \ %{buildroot}%{_datadir}/lqml/examples/meshtastic/ rm %{buildroot}%{_datadir}/lqml/examples/sokoban/qml/fonts/*.ttf ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Regular.ttf \ %{buildroot}%{_datadir}/lqml/examples/sokoban/qml/fonts/ ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Medium.ttf \ %{buildroot}%{_datadir}/lqml/examples/sokoban/qml/fonts/ ln -s %{_datadir}/fonts/fontawesome4-fonts/fontawesome-webfont.ttf \ %{buildroot}%{_datadir}/lqml/examples/sokoban/qml/fonts/ rm %{buildroot}%{_datadir}/lqml/examples/swank-server/qml/fonts/*.ttf ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Regular.ttf \ %{buildroot}%{_datadir}/lqml/examples/swank-server/qml/fonts/ ln -s %{_datadir}/fonts/source-foundry-hack-fonts/Hack-Medium.ttf \ %{buildroot}%{_datadir}/lqml/examples/swank-server/qml/fonts/ ln -s %{_datadir}/fonts/fontawesome4-fonts/fontawesome-webfont.ttf \ %{buildroot}%{_datadir}/lqml/examples/swank-server/qml/fonts/ # Remove version control and other unnecessary hidden files rm %{buildroot}%{_datadir}/lqml/examples/9999/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/app-template/build-android/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/app-template/build-ios/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/app-template/build/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/camera/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/planets/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/tilt-sensor/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/wear-os-gps/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/wear-os-gps/kml/logs/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/wear-os-heart/.gitignore rm %{buildroot}%{_datadir}/lqml/slime/src/.gitignore rm %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/qml/.create-qml-loaders.lisp rm -r %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/qml/.ext rm %{buildroot}%{_datadir}/lqml/examples/advanced-qml-auto-reload/qml/.template.qml %files %license license.txt %{_bindir}/lqml %doc readme.md %doc beginners-guide-android.md %doc beginners-guide-ios.md %doc readme-build.md %doc readme-prepare-android.md %doc readme-prepare-ios.md %doc readme-qml-live-preview-and-slime.md %doc readme-qt.md %doc readme-sailfish.md %doc readme-windows.md %dir %{_datadir}/lqml %dir %{_datadir}/lqml/platforms/ %{_datadir}/lqml/platforms/* %dir %{_datadir}/lqml/slime/ %{_datadir}/lqml/slime/* %{_datadir}/lqml/slime/.swank.lisp %files examples %license license.txt %dir %{_datadir}/lqml %dir %{_datadir}/lqml/examples/ %{_datadir}/lqml/examples/* %dir %{_datadir}/lqml/snippets/ %{_datadir}/lqml/snippets/* %changelog * Mon Jan 22 2024 Benson Muite - 0^21012024.4847dea7-1 - Initial packaging