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@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@gentoo.org>
This commit is contained in:
Stefan Cristian B.
2025-09-12 23:56:02 +03:00
committed by Viorel Munteanu
parent 249c139df7
commit 43acfc5801
4 changed files with 206 additions and 0 deletions

View File

@@ -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

View File

@@ -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
}

View File

@@ -0,0 +1,88 @@
From: "Stefan Cristian B." <stefan.cristian+git@rogentos.ro>
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

View File

@@ -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>