Skip to content
Snippets Groups Projects
Verified Commit 9be8ae98 authored by Anna Wilcox's avatar Anna Wilcox :fox:
Browse files

experimental/horizon: New package

parent 35795927
No related branches found
No related tags found
No related merge requests found
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=horizon
pkgver=0.9.0
pkgrel=0
pkgdesc="Installation tools for Adélie Linux"
url="https://horizon.adelielinux.org/"
arch="all"
options="!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-dev $pkgname-doc $pkgname-image $pkgname-qt5
$pkgname-tools $pkgname-wizard"
source="https://distfiles.adelielinux.org/source/horizon-$pkgver.tar.xz
noninstall-mount.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" \
-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"
mkdir -p "$subpkgdir"/usr/bin
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/bin/hscript-image "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/libhi-backends.so "$subpkgdir"/usr/lib/
}
qt5() {
pkgdesc="Qt 5 installation wizard for Adélie Linux"
mkdir -p "$subpkgdir"/usr/bin
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 "$subpkgdir"/usr/bin/hscript-printowner
rm -r "$subpkgdir"/usr/include
rm -r "$subpkgdir"/usr/lib
rm -r "$subpkgdir"/usr/share
}
sha512sums="a2185744b611154f41ba433399f621c8114147bc981dad03fac581bf7ddd67c46042bc230fd68d4c89188cefa281022d101d7394cf1a0554729da540706e6216 horizon-0.9.0.tar.xz
44a4f022df03a3ac3ec9fe3aea9faa8d98ed6c9b61ff50e3c363f5691a2ed428d328f6d5aa019f25be67811dede8da7195eaf354f1cd3a4a56c77f698d53e7fb noninstall-mount.patch"
diff --git a/ui/qt5/horizonwizard.cc b/ui/qt5/horizonwizard.cc
index 143ae43..556a6f3 100644
--- a/ui/qt5/horizonwizard.cc
+++ b/ui/qt5/horizonwizard.cc
@@ -542,7 +542,9 @@ QString HorizonWizard::toHScript() {
break;
}
+#ifdef HAS_INSTALL_ENV
part_lines << (dynamic_cast<PartitionMountPage *>(page(Page_PartitionMount)))->mountLines();
+#endif /* HAS_INSTALL_ENV */
if(chosen_disk.empty()) {
lines << part_lines;
diff --git a/ui/qt5/mountdialog.cc b/ui/qt5/mountdialog.cc
index f986423..103e442 100644
--- a/ui/qt5/mountdialog.cc
+++ b/ui/qt5/mountdialog.cc
@@ -16,6 +16,7 @@
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
+#include <QSet>
#include <QVBoxLayout>
MountDialog::MountDialog(QStringList skipParts, QStringList skipMounts,
@@ -75,7 +76,11 @@ MountDialog::MountDialog(QStringList skipParts, QStringList skipMounts,
QVBoxLayout *controlLayout = new QVBoxLayout;
controlLayout->addWidget(new QLabel(tr("Partition")));
+#ifdef HAS_INSTALL_ENV
controlLayout->addWidget(partList);
+#else /* !HAS_INSTALL_ENV */
+ controlLayout->addWidget(partInput);
+#endif /* HAS_INSTALL_ENV */
controlLayout->addWidget(new QLabel(tr("will be mounted on")));
controlLayout->addWidget(pathInput);
@@ -87,14 +92,22 @@ MountDialog::MountDialog(QStringList skipParts, QStringList skipMounts,
}
QString MountDialog::partition() const {
+#ifdef HAS_INSTALL_ENV
assert(partList->currentItem() != nullptr);
return partList->currentItem()->text();
+#else /* !HAS_INSTALL_ENV */
+ return partInput->text();
+#endif /* HAS_INSTALL_ENV */
}
void MountDialog::setPartition(const QString &part) {
+#ifdef HAS_INSTALL_ENV
QList<QListWidgetItem *> candidate = partList->findItems(part, Qt::MatchExactly);
if(candidate.empty()) return;
partList->setCurrentItem(candidate.at(0));
+#else /* !HAS_INSTALL_ENV */
+ partInput->setText(part);
+#endif /* HAS_INSTALL_ENV */
}
QString MountDialog::mountPoint() const {
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment