# Contributor: A. Wilcox # Maintainer: A. Wilcox pkgname=horizon pkgver=0.9.8.1 pkgrel=1 pkgdesc="Installation tools for Adélie Linux" url="https://horizon.adelielinux.org/" arch="all" options="!archcheck !check suid" # Unpackaged dependency ruby-aruba. license="AGPL-3.0+" depends="" checkdepends="ruby-aruba ruby-rspec valgrind" # Second group is the Qt5 UI deps. makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev linux-headers parted-dev skalibs-dev util-linux-dev libcap libcap-dev libx11-dev libxkbfile-dev qt5-qtbase-dev" subpackages="$pkgname-image $pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-qt5 $pkgname-tools $pkgname-wizard $pkgname-boot" source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz apm-disklabel.patch " build() { if [ "$CBUILD" != "$CHOST" ]; then CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" fi cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_SHARED_LIBS=True \ -DBUILD_TOOLS=ON \ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation -Wno-type-limits" \ -DCMAKE_C_FLAGS="$CFLAGS" \ -DUNSUPPORTED_NONFREE_FIRMWARE=ON \ -DINSTALL=ON \ ${CMAKE_CROSSOPTS} \ -Bbuild make -C build cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_SHARED_LIBS=False \ -DBUILD_TOOLS=OFF \ -DBUILD_UI=ON \ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation" \ -DCMAKE_C_FLAGS="$CFLAGS" \ -DUNSUPPORTED_NONFREE_FIRMWARE=ON \ -DINSTALL=OFF \ ${CMAKE_CROSSOPTS} \ -Bbuild-wizard make -C build-wizard } check() { CTEST_OUTPUT_ON_FAILURE=TRUE make -C build test } package() { make DESTDIR="$pkgdir" -C build install } image() { pkgdesc="Tools for generating images using HorizonScript" depends="dracut mtools squashfs-tools xorriso" mkdir -p "$subpkgdir"/usr/bin mkdir -p "$subpkgdir"/usr/lib mkdir -p "$subpkgdir"/usr/share/horizon mv "$pkgdir"/usr/bin/hscript-image "$subpkgdir"/usr/bin/ mv "$pkgdir"/usr/lib/libhi-backends.so "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/share/horizon/iso "$subpkgdir"/usr/share/horizon/ } qt5() { pkgdesc="Qt 5 installation wizard for Adélie Linux" depends="horizon" mkdir -p "$subpkgdir"/etc/horizon mkdir -p "$subpkgdir"/usr/bin mkdir -p "$subpkgdir"/var/log/horizon for _bin in horizon-ppc64-detect horizon-qt5 horizon-run-qt5; do mv "$pkgdir"/usr/bin/$_bin "$subpkgdir"/usr/bin/ done chmod 4755 "$subpkgdir"/usr/bin/horizon-run-qt5 chmod 1777 "$subpkgdir"/etc/horizon /sbin/setcap cap_sys_time+ep "$subpkgdir"/usr/bin/horizon-qt5 } tools() { pkgdesc="Tools for authoring HorizonScript files" mkdir -p "$subpkgdir"/usr/bin for _bin in hscript-fromjson hscript-simulate hscript-validate; do mv "$pkgdir"/usr/bin/$_bin "$subpkgdir"/usr/bin/ done } wizard() { pkgdesc="Wizard to generate a HorizonScript for another computer" make DESTDIR="$subpkgdir" -C "$builddir"/build-wizard install rm -r "$subpkgdir"/usr/include rm -r "$subpkgdir"/usr/lib rm -r "$subpkgdir"/usr/share } boot() { pkgdesc="Boot to Horizon" depends="horizon-qt5 horizon kwin papirus-icons qt5ct sddm netsurf partitionmanager xterm" mkdir -p "$subpkgdir"/etc/init.d mkdir -p "$subpkgdir"/etc/profile.d mkdir -p "$subpkgdir"/etc/runlevels/graphical mkdir -p "$subpkgdir"/etc/sddm.conf.d mkdir -p "$subpkgdir"/etc/xdg/qt5ct mkdir -p "$subpkgdir"/usr/bin mkdir -p "$subpkgdir"/usr/share/qt5ct/qss mkdir -p "$subpkgdir"/usr/share/xsessions cat >"$subpkgdir"/etc/profile.d/horizon-qt5.sh <"$subpkgdir"/etc/xdg/kdeglobals <