commit: 43acfc58013d1f31f1581dd02ef2aaac1349507b Author: Stefan Cristian B. <stefan.cristian+git <AT> rogentos <DOT> ro> AuthorDate: Fri Sep 12 20:56:02 2025 +0000 Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> CommitDate: Sat Sep 13 13:04:34 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43acfc58
app-admin/calamares: revbump 3.3.14-r2; fixing multiple bugs; added branding * Fixed kernel version detection * Fixed baselayout PV detection * Fixed download stage3 script to always get the latest current stage3 amd64 openrc for now. In the nearby future a menu will be provided in order to choose which stage3 shall be installed s * Currently completely functional, installs a stage3 openrc safely. * Issue to fix: precompiled deps chain for gentoo-kernel-bin (including it as well) * Added support for stage3 choosing. Currently only musl-hardened fails due to lack of /usr/share/zoneinfo/ details. Signed-off-by: Stefan Cristian B. <stefan.cristian+git <AT> rogentos.ro> Part-of: https://github.com/gentoo/gentoo/pull/43386 Closes: https://github.com/gentoo/gentoo/pull/43386 Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org> app-admin/calamares/Manifest | 1 + app-admin/calamares/calamares-3.3.14-r2.ebuild | 114 +++++++++++++++++++++ .../files/calamares-3.3.14-boost-python-fix.patch | 88 ++++++++++++++++ app-admin/calamares/metadata.xml | 3 + 4 files changed, 206 insertions(+) diff --git a/app-admin/calamares/Manifest b/app-admin/calamares/Manifest index b2b24a4cc13f..0689767edbb5 100644 --- a/app-admin/calamares/Manifest +++ b/app-admin/calamares/Manifest @@ -1,3 +1,4 @@ DIST calamares-3.3.13.tar.gz 4819478 BLAKE2B 627a6c95cf409b281a782e1ebd106fdb9cbb69eb73b8b673c5854f6c8fe49868463c7a71ee096e49f994711b6d4a93a387e7d1e22be32021b96835eda3309661 SHA512 9b8395ac43c7dcd1a9a92385bef61b0dfa74936f8aef418d061522d8600d1dddf2f5f28f6052d3a0eee46bb1fc8b1eb502e8d455ea1ed72846ad7db3c9b8c1b4 +DIST calamares-3.3.14-gentoo-patches.patch 33861 BLAKE2B 4565837c7290e0aee9830149c3fcd88910defb74dda5c105716ce36323e8fe357b64333fb4a9eba92fad4faa1075f39c0f108b961026cc08c093a5fd058c7c69 SHA512 b156cf90e4b5978b154ab1cf9c54172d90cb1ad4bafbd433ccd9f2427659262163836434a324c8c2ac08fffce2a4a593936112241ffb523a16ee1562e54701f4 DIST calamares-3.3.14.tar.gz 4820523 BLAKE2B cdeaf82fbaf33b504e65b43a60f80fc0bcd6d57b7106b268ff7af7c06108708158243f8e80c9f7cfb5694760c01a4fa8eedc57b19852dda09ed027647d1634b1 SHA512 b402a450c6af04632738c4aaa871644f72e848bd49a1214cf0c9fa7d7f9b07ebf00b98a39cd009b422970633ef2f02b5f7abeccfdda22a343b70c251083ad0c8 DIST calamares-3.3.6.tar.gz 4733000 BLAKE2B 6c5bae1c7939d84fdbf599e7c5b478c799efbdf21f1aa120fda05106775477274eafd5687a787c177b747226c8438aec72acc90414bff9c7952d71ce8cb5e376 SHA512 3fa38f136a7a8c1f7dc2be8f98d2f323e38ab3bb535ffaf833d26839c3a2fe1d1dab392cd103380098328fc7465f262cde7ae09efa996c7fb66233d8391ae4f6 diff --git a/app-admin/calamares/calamares-3.3.14-r2.ebuild b/app-admin/calamares/calamares-3.3.14-r2.ebuild new file mode 100644 index 000000000000..42425e85ee16 --- /dev/null +++ b/app-admin/calamares/calamares-3.3.14-r2.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_TEST="true" +PYTHON_COMPAT=( python3_{11..13} ) + +QTMIN="6.7.1" +KFMIN="6.9.0" +inherit ecm python-single-r1 xdg + +DESCRIPTION="Distribution-independent installer framework" +HOMEPAGE="https://calamares.io https://github.com/tableflipper9/calamares" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz + livecd? ( + https://github.com/calamares/calamares/compare/95aa33f...TableFlipper9:calamares:gentoo-patches-3.3.14.patch \ + -> ${P}-gentoo-patches.patch + ) +" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +IUSE="livecd" + +DEPEND="${PYTHON_DEPS} + dev-cpp/yaml-cpp:= + dev-libs/icu:= + $(python_gen_cond_dep ' + >=dev-libs/boost-1.72.0:=[python,${PYTHON_USEDEP}] + dev-libs/libpwquality[python,${PYTHON_USEDEP}] + ') + >=dev-qt/qtbase-${QTMIN}:6[concurrent,dbus,gui,network,widgets,xml] + >=dev-qt/qtdeclarative-${QTMIN}:6 + >=dev-qt/qtsvg-${QTMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/kpackage-${KFMIN}:6 + >=kde-frameworks/kparts-${KFMIN}:6 + sys-apps/dmidecode + >=sys-libs/kpmcore-24.01.75:6= + virtual/libcrypt:= +" +RDEPEND="${DEPEND} + app-admin/sudo + net-misc/rsync + sys-boot/grub:2 + sys-boot/os-prober + sys-fs/squashfs-tools + sys-libs/timezone-data +" +BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]" + +src_prepare() { + eapply "${FILESDIR}"/${P}-boost-python-fix.patch + if use "livecd" ; then + cp "${DISTDIR}"/${P}-gentoo-patches.patch ${P}-gentoo-patches.patch || die + eapply ${P}-gentoo-patches.patch + fi + + ecm_src_prepare + export PYTHON_INCLUDE_DIRS="$(python_get_includedir)" \ + PYTHON_INCLUDE_PATH="$(python_get_library_path)"\ + PYTHON_CFLAGS="$(python_get_CFLAGS)"\ + PYTHON_LIBS="$(python_get_LIBS)" +} + +src_configure() { + # get the selected Python version from EPYTHON variable + local python_version="${EPYTHON#python}" + local boost_python_component="${python_version/./}" + + local mycmakeargs=( + -DINSTALL_CONFIG=ON + -DINSTALL_COMPLETION=ON + -DINSTALL_POLKIT=ON + -DCMAKE_DISABLE_FIND_PACKAGE_LIBPARTED=ON + -DWITH_PYTHON=ON + -DWITH_PYBIND11=OFF + -DBUILD_APPDATA=ON + -DWITH_QT6=ON + # explicitly set Python version and paths + -DPYTHONLIBS_VERSION="${python_version}" + -DBOOSTPYTHON_COMPONENT="python${boost_python_component}" + ) + + ecm_src_configure +} + +src_test() { + local myctestargs=( + # Skipped tests: + # packagechoosertest (file exists returned false) + # partitiondevicestest for trying to access host + # usershostnametest for changing hostname + # displaymanager for testing access on host DMs + # + # Requires network + # libcalamaresnetworktest + # test_libcalamaresuipaste + # + # E1101 + # lint-dummypython + # + # E0606 + # lint-mount + -E "(lint-displaymanager|lint-dummypython|lint-mount|validate-unpackfsc-unpackfsc|displaymanager|validate-unpackfsc-1|packagechoosertest|load-dummypython|load-dummypython-1|libcalamaresnetworktest|partitiondevicestest|usershostnametest|test_libcalamaresuipaste)" + ) + + cmake_src_test +} diff --git a/app-admin/calamares/files/calamares-3.3.14-boost-python-fix.patch b/app-admin/calamares/files/calamares-3.3.14-boost-python-fix.patch new file mode 100644 index 000000000000..5b9726dc1c4e --- /dev/null +++ b/app-admin/calamares/files/calamares-3.3.14-boost-python-fix.patch @@ -0,0 +1,88 @@ +From: "Stefan Cristian B." <[email protected]> +Date: Sat, 9 Aug 2025 02:04:47 +0300 +Subject: [PATCH] Fixed boost python component detection mechanism + +--- + CMakeLists.txt | 36 +++++++++++++++++++++++++++++++----- + 1 file changed, 31 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 266414906..ee6717499 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,10 +38,13 @@ + # - TESTING (standard CMake option) + # DEBUG_<foo> : special developer flags for debugging. + # PYTHONLIBS_VERSION : if set on the command-line, use a specific Python version ++# BOOSTPYTHON_COMPONENT : if set on the command-line, use a specific Boost Python component ++# (e.g., python313 for Python 3.13, default is "python") + # + # Example usage: + # + # cmake . -DSKIP_MODULES="partition luksbootkeycfg" ++# cmake . -DWITH_PYBIND11=OFF -DBOOSTPYTHON_COMPONENT=python313 + # + # To obtain the version number of calamares, run CMake in script mode, e.g. + # cmake -P CMakeLists.txt +@@ -219,6 +222,10 @@ else() + endif() + + set(BOOSTPYTHON_VERSION 1.72.0) ++if(NOT DEFINED BOOSTPYTHON_COMPONENT) ++ set(BOOSTPYTHON_COMPONENT "python") ++endif() ++ + if(DEFINED PYTHONLIBS_VERSION) + set(PYTHONLIBS_EXTRA "EXACT") + else() +@@ -241,6 +248,9 @@ list(APPEND CMAKE_AUTOMOC_MACRO_NAMES + "K_EXPORT_PLASMA_DATAENGINE_WITH_JSON" + "K_EXPORT_PLASMA_RUNNER" + ) ++if(POLICY CMP0167) ++ cmake_policy(SET CMP0167 NEW) ++endif() + if(POLICY CMP0171) + cmake_policy(SET CMP0177 NEW) + endif() +@@ -494,16 +504,32 @@ endif() + + if(WITH_PYTHON AND NOT WITH_PYBIND11) + set(WITH_BOOST_PYTHON ON) +- find_package(boost_python) +- if(NOT TARGET Boost::python) +- find_package(Boost ${BOOSTPYTHON_VERSION} COMPONENTS python) ++ ++ if(NOT "${BOOSTPYTHON_COMPONENT}" STREQUAL "python") ++ message(STATUS "Using explicitly specified Boost Python component: ${BOOSTPYTHON_COMPONENT}") ++ find_package(Boost ${BOOSTPYTHON_VERSION} CONFIG COMPONENTS ${BOOSTPYTHON_COMPONENT}) + set_package_properties(Boost PROPERTIES + PURPOSE "Boost.Python is used for Python job modules (because WITH_PYBIND11 is OFF)." + TYPE REQUIRED + ) ++ ++ if(TARGET Boost::${BOOSTPYTHON_COMPONENT}) ++ add_library(Boost::python ALIAS Boost::${BOOSTPYTHON_COMPONENT}) ++ set(Boost_FOUND ON) ++ endif() + else() +- message(STATUS "Found boost_python with target Boost::python") +- set(Boost_FOUND ON) ++ find_package(boost_python) ++ if(NOT TARGET Boost::python) ++ message(STATUS "Using Boost Python component: ${BOOSTPYTHON_COMPONENT}") ++ find_package(Boost ${BOOSTPYTHON_VERSION} CONFIG COMPONENTS ${BOOSTPYTHON_COMPONENT}) ++ set_package_properties(Boost PROPERTIES ++ PURPOSE "Boost.Python is used for Python job modules (because WITH_PYBIND11 is OFF)." ++ TYPE REQUIRED ++ ) ++ else() ++ message(STATUS "Found boost_python with target Boost::python") ++ set(Boost_FOUND ON) ++ endif() + endif() + endif() + add_feature_info(python WITH_PYTHON "Enable Python-modules") +-- +2.49.1 + diff --git a/app-admin/calamares/metadata.xml b/app-admin/calamares/metadata.xml index 70ea96ce06e7..4c60e037a0e2 100644 --- a/app-admin/calamares/metadata.xml +++ b/app-admin/calamares/metadata.xml @@ -21,4 +21,7 @@ <upstream> <remote-id type="github">calamares/calamares</remote-id> </upstream> + <use> + <flag name="livecd">USE flag for Gentoo modules branding on LIVEDVD</flag> + </use> </pkgmetadata>
