Updated Calamares PKGBUILD to use Git branch

This commit is contained in:
Sohrab Behdani 2025-01-24 20:00:36 +03:30
parent 0674132a3c
commit 67ca423a94

105
PKGBUILD
View file

@ -1,71 +1,54 @@
# Maintainer : Parch Linux <noreply at parchlinux.com>
# Calamares installer (fork) configured for Parch Linux
pkgname=calamares
pkgver=3.3.12
pkgrel=3
pkgdesc='Distribution-independent installer framework'
arch=('x86_64')
license=(GPL)
url="https://github.com/calamares/calamares/releases/download"
license=('LGPL')
depends=( 'qt6-svg' 'qt6-webengine' 'yaml-cpp' 'networkmanager' 'upower' 'kcoreaddons' 'kconfig' 'ki18n' 'kservice' \
'kwidgetsaddons' 'kpmcore' 'squashfs-tools' 'rsync' 'boost' 'pybind11' 'cryptsetup' 'doxygen' 'dmidecode' \
'gptfdisk' 'hwinfo' 'kparts' 'polkit-qt6' 'python' 'solid' 'qt6-tools' 'libpwquality' 'ckbcomp' 'qt6-declarative' )
_reponame=calamares
release_name=$pkgname
pkgver=11469.97ea0e6e0
pkgrel=1
pkgdesc="Calamares installer for Parch Linux git version"
arch=('any')
url="https://github.com/parchlinux/calamares"
license=('GPL3')
makedepends=('git' 'cmake' 'extra-cmake-modules' 'python-jsonschema' 'python-pyaml' 'python-unidecode' 'gawk')
backup=('usr/share/calamares/modules/bootloader.conf'
'usr/share/calamares/modules/displaymanager.conf'
'usr/share/calamares/modules/initcpio.conf'
'usr/share/calamares/modules/unpackfs.conf')
source=("$pkgname-$pkgver-$pkgrel.tar.gz::$url/v$pkgver/calamares-$pkgver.tar.gz")
sha256sums=('4de95c434326f3ee683480eabc6a9be23ecbe0120f99ef7cec831674b12f30a3')
prepare() {
cd ${srcdir}/calamares-${pkgver}
# change version
_ver="$(cat CMakeLists.txt | grep -m3 -e " VERSION" | grep -o "[[:digit:]]*" | xargs | sed s'/ /./g')"
_ver="$pkgver"
printf 'Version: %s-%s\n' "${_ver}" "${pkgrel}"
sed -i -e "s|\${CALAMARES_VERSION_MAJOR}.\${CALAMARES_VERSION_MINOR}.\${CALAMARES_VERSION_PATCH}|${_ver}-${pkgrel}|g" CMakeLists.txt
sed -i -e "s|CALAMARES_VERSION_RC 1|CALAMARES_VERSION_RC 0|g" CMakeLists.txt
# modify desktop file
sed -i -e 's#Exec=sh.*#Exec=sh -c "/etc/calamares/launch.sh"#g' "$srcdir/${pkgname}-${pkgver}/calamares.desktop"
sed -i -e 's#Name=.*#Name=Install Parch Linux#g' "$srcdir/${pkgname}-${pkgver}/calamares.desktop"
sed -i -e 's#GenericName=.*#GenericName=Parch Linux Installer#g' "$srcdir/${pkgname}-${pkgver}/calamares.desktop"
sed -i -e 's#Icon=.*#Icon=parchinstall#g' "$srcdir/${pkgname}-${pkgver}/calamares.desktop"
sed -i -e 's#Comment=.*#Comment=Parch Linux Installer#g' "$srcdir/${pkgname}-${pkgver}/calamares.desktop"
# patches here
conflicts=('calamares')
depends=( 'qt6-svg' 'qt6-webengine' 'yaml-cpp' 'networkmanager' 'upower' 'kcoreaddons' 'kconfig' 'ki18n' 'kservice' \
'kwidgetsaddons' 'kpmcore' 'squashfs-tools' 'rsync' 'pybind11' 'cryptsetup' 'doxygen' 'dmidecode' \
'gptfdisk' 'hwinfo' 'kparts' 'polkit-qt6' 'python' 'solid' 'qt6-tools' 'libpwquality' 'ckbcomp' 'qt6-declarative' )
provides=("calamares")
options=(!strip !emptydirs)
source=("git+https://github.com/parchlinux/$_reponame.git#branch=calamares")
sha256sums=('SKIP')
pkgver() {
cd "${_reponame}"
printf "%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
#prepare() {
# gsub(/\${version}/,version);
# gsub(/\${release_name}/,release);
# print
#}
build() {
cd ${srcdir}/calamares-${pkgver}
_cpuCount=$(grep -c -w ^processor /proc/cpuinfo)
export CXXFLAGS+=" -fPIC"
cmake -S . -Bbuild \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DWITH_APPSTREAM=OFF \
-DWITH_PYBIND11=OFF \
-DWITH_QT6=ON \
-DSKIP_MODULES="dracut dracutlukscfg \
dummycpp dummyprocess dummypython dummypythonqt \
license notesqml \
openrcdmcryptcfg fsresizer \
rawfs mkinitfs contextualprocess interactiveterminal \
plymouthcfg plasmalnf services-openrc \
tracking webview"
cmake --build build --parallel $_cpuCount
cmake -B build -S "${srcdir}/calamares" \
-DWITH_QT6=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_CONFIG=OFF \
-DSKIP_MODULES="dracut \
dummycpp dummyprocess dummypython dummypythonqt \
finishedq keyboardq license localeq notesqml oemid \
openrcdmcryptcfg plymouthcfg plasmalnf services-openrc \
summaryq tracking usersq webview welcomeq"
export DESTDIR="$srcdir/build"
make -C build
}
package() {
cd ${srcdir}/calamares-${pkgver}/build
DESTDIR="${pkgdir}" cmake --build . --target install
make -C build DESTDIR="${pkgdir}" install
install -dm 755 "${pkgdir}/etc"
}