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>

Reply via email to