summaryrefslogtreecommitdiff
path: root/user/horizon
diff options
context:
space:
mode:
Diffstat (limited to 'user/horizon')
-rw-r--r--user/horizon/APKBUILD136
-rw-r--r--user/horizon/fix-qt-runner.patch25
2 files changed, 161 insertions, 0 deletions
diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD
new file mode 100644
index 000000000..6c3278bc1
--- /dev/null
+++ b/user/horizon/APKBUILD
@@ -0,0 +1,136 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=horizon
+pkgver=0.9.2
+pkgrel=0
+pkgdesc="Installation tools for Adélie Linux"
+url="https://horizon.adelielinux.org/"
+arch="all"
+options="!archcheck !check" # 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-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/horizon-$pkgver.tar.xz"
+
+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" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -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" \
+ -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="mtools"
+ 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
+}
+
+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 qt5ct sddm
+ netsurf partitionmanager xterm"
+
+ mkdir -p "$subpkgdir"/etc/profile.d
+ 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 <<PROFILE
+#!/bin/sh
+export QT_QUICK_BACKEND=software
+export QT_QPA_PLATFORMTHEME=qt5ct
+PROFILE
+ chmod 755 "$subpkgdir"/etc/profile.d/horizon-qt5.sh
+
+ install -D -m644 "$builddir"/boot/horizon.sddm.conf \
+ "$subpkgdir"/etc/sddm.conf.d/horizon.conf
+
+ install -D -m755 "$builddir"/boot/start-horizon-qt5 \
+ "$subpkgdir"/usr/bin/start-horizon-qt5
+
+ install -D -m644 "$builddir"/boot/qt5ct.conf \
+ "$subpkgdir"/etc/xdg/qt5ct/qt5ct.conf
+ install -D -m644 "$builddir"/boot/horizon.qss \
+ "$subpkgdir"/usr/share/qt5ct/qss/horizon.qss
+
+ install -D -m644 "$builddir"/boot/horizon-session.desktop \
+ "$subpkgdir"/usr/share/xsessions/horizon.desktop
+}
+
+sha512sums="ef7ad97508dd70bd8d179e844c8d619ff9802fbb4812bddd677fe5ed945cadad416667995a4a358dfe9b426b9c40f9b847ce5aa11e44357b7952fecbc37184fc horizon-0.9.2.tar.xz"
diff --git a/user/horizon/fix-qt-runner.patch b/user/horizon/fix-qt-runner.patch
new file mode 100644
index 000000000..39cab1181
--- /dev/null
+++ b/user/horizon/fix-qt-runner.patch
@@ -0,0 +1,25 @@
+From 9f737dbab8b9ed9fa57bdf15542cc00a8363d98b Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Thu, 4 Jun 2020 21:29:37 -0500
+Subject: [PATCH] Qt UI: Ensure log is opened when built in release modes
+
+---
+ ui/qt5/runner/executepage.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ui/qt5/runner/executepage.cc b/ui/qt5/runner/executepage.cc
+index 999731a..d5788df 100644
+--- a/ui/qt5/runner/executepage.cc
++++ b/ui/qt5/runner/executepage.cc
+@@ -48,7 +48,7 @@ ExecutePage::ExecutePage(QWidget *parent) : HorizonWizardPage(parent) {
+ });
+
+ log.setFileName("/var/log/horizon/executor.log");
+- Q_ASSERT(log.open(QFile::Append));
++ log.open(QFile::Append);
+
+ this->current = Prepare;
+ markRunning(this->current);
+--
+2.25.4
+