From ca8154faa5191e6f1264fc2d46e5eb512535c51a Mon Sep 17 00:00:00 2001
From: André Fabian Silva Delgado
Date: Thu, 9 Jul 2015 12:51:45 -0300
Subject: octopi: add new package to [libre]
---
libre/octopi/PKGBUILD | 121 ++++++++++++++++++++++++++
libre/octopi/octopi-repoeditor.desktop | 9 ++
libre/octopi/octopi.install | 12 +++
libre/octopi/parabola-support.patch | 154 +++++++++++++++++++++++++++++++++
4 files changed, 296 insertions(+)
create mode 100644 libre/octopi/PKGBUILD
create mode 100644 libre/octopi/octopi-repoeditor.desktop
create mode 100644 libre/octopi/octopi.install
create mode 100644 libre/octopi/parabola-support.patch
diff --git a/libre/octopi/PKGBUILD b/libre/octopi/PKGBUILD
new file mode 100644
index 000000000..14b2a4f86
--- /dev/null
+++ b/libre/octopi/PKGBUILD
@@ -0,0 +1,121 @@
+# Maintainer (Arch): Jameson Pugh
+# Maintainer: André Silva
+
+pkgbase=octopi
+pkgname=('octopi' 'octopi-notifier' 'octopi-repoeditor' 'octopi-cachecleaner')
+pkgver=0.7.0
+pkgrel=3.parabola1
+arch=('i686' 'x86_64')
+url="https://github.com/aarnt/octopi"
+license=('GPL2')
+makedepends=('qt5-declarative' 'qt4' 'knotifications' 'libnotify')
+source=("https://github.com/aarnt/${pkgname}/archive/v${pkgver}.tar.gz"
+ 'octopi-repoeditor.desktop'
+ 'parabola-support.patch')
+sha256sums=('03d15458ebe482e5a9a00e7a3db5676a53886c754b13a7c56e36d75b73f2d496'
+ '131f16745df685430db55e54ede6da66aed9b02ca00d6d873a002b2a3e1c90ef'
+ '48bd938f2286e9eca5ae8b204fea5c628a53906c4b8aa9ca304a3e25dcc99822')
+prepare() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ patch -Np1 -i ../parabola-support.patch
+}
+
+build() {
+ _cpucount=$(grep -c processor /proc/cpuinfo 2>/dev/null)
+ _jc=$((${_cpucount:-1}))
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ qmake-qt5 octopi.pro
+ make -j $_jc
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/notifier/pacmanhelper"
+ msg "Building pacmanhelper..."
+ qmake-qt5 pacmanhelper.pro
+ make -j $_jc
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/notifier/octopi-notifier"
+ msg "Building octopi-notifier..."
+ qmake-qt5 octopi-notifier.pro
+ make -j $_jc
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/repoeditor"
+ msg "Building octopi-repoeditor..."
+ qmake-qt5 octopi-repoeditor.pro
+ make -j $_jc
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/cachecleaner"
+ msg "Building octopi-cachecleaner..."
+ qmake-qt5 octopi-cachecleaner.pro
+ make -j $_jc
+}
+
+package_octopi() {
+ pkgdesc="A powerful Pacman frontend using Qt5 libs, with Parabola support"
+ install="octopi.install"
+ depends=('qt5-base' 'qt5-declarative' 'xterm')
+ optdepends=('kdesu: for KDE'
+ 'gksu: for XFCE, Gnome, LXDE, Cinnamon'
+ 'gnome-keyring: for password management'
+ 'gist: for SysInfo report'
+ 'octopi-repoeditor: for editing functions'
+ 'octopi-cachecleaner: for cleaning functions'
+ 'octopi-notifier: for notifications'
+ 'pacmanlogviewer: to view pacman log files')
+ conflicts=('oktopi-git')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+
+ install -D -m755 "${srcdir}/${pkgbase}-${pkgver}/bin/${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/resources/images/${pkgname}_green.png" "${pkgdir}/usr/share/icons/${pkgname}.png"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/resources/images/${pkgname}_green.png" "${pkgdir}/usr/share/icons/gnome/32x32/apps/${pkgname}.png"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/resources/images/${pkgname}_red.png" "${pkgdir}/usr/share/icons/${pkgname}_red.png"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/resources/images/${pkgname}_yellow.png" "${pkgdir}/usr/share/icons/${pkgname}_yellow.png"
+
+ #Pacmanhelper service files
+ install -D -m755 "${srcdir}/${pkgbase}-${pkgver}/notifier/bin/pacmanhelper" "${pkgdir}/usr/lib/octopi/pacmanhelper"
+
+ #speedup files
+ install -D -m755 "${srcdir}/${pkgbase}-${pkgver}/speedup/speedup-octopi.sh" "${pkgdir}/usr/bin/speedup-octopi.sh"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/speedup/${pkgname}.service" "${pkgdir}/etc/systemd/system/${pkgname}.service"
+
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/notifier/pacmanhelper/polkit/org.octopi.pacman.policy" "${pkgdir}/usr/share/polkit-1/actions/org.octopi.pacman.policy"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.conf" "${pkgdir}/etc/dbus-1/system.d/org.octopi.pacmanhelper.conf"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.xml" "${pkgdir}/usr/share/dbus-1/interfaces/org.octopi.pacmanhelper.xml"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.service" "${pkgdir}/usr/share/dbus-1/system-services/org.octopi.pacmanhelper.service"
+}
+
+package_octopi-notifier() {
+ pkgdesc="Notifier for Octopi"
+ depends=('octopi' 'libnotify')
+ optdepends=('xfce4-notifyd: for notifications in XFCE')
+ install=octopi.install
+ conflicts='octopi-notifier-qt4'
+ replaces='octopi-notifier-qt4'
+
+ #Octopi-notifier file
+ install -D -m755 "${srcdir}/${pkgbase}-${pkgver}/notifier/bin/octopi-notifier" "${pkgdir}/usr/bin/octopi-notifier"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/octopi-notifier.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/octopi-notifier.desktop" "${pkgdir}/etc/xdg/autostart/octopi-notifier.desktop"
+}
+
+package_octopi-repoeditor() {
+ pkgdesc="Pacman repo editor for Octopi"
+ install=octopi.install
+
+ install -D -m755 "${srcdir}/${pkgbase}-${pkgver}/repoeditor/bin/octopi-repoeditor" "${pkgdir}/usr/bin/octopi-repoeditor"
+ install -D -m644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/resources/images/${pkgbase}_red.png" "${pkgdir}/usr/share/icons/${pkgname}.png"
+}
+
+package_octopi-cachecleaner() {
+ pkgdesc="Cachecleaner for Octopi"
+
+ #Octopi-cachecleaner file
+ install -D -m755 ${srcdir}/${pkgbase}-${pkgver}/cachecleaner/bin/octopi-cachecleaner ${pkgdir}/usr/bin/octopi-cachecleaner
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/cachecleaner/$pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop
+}
+
+# vim: set ts=2 sw=2 ft=sh noet:
diff --git a/libre/octopi/octopi-repoeditor.desktop b/libre/octopi/octopi-repoeditor.desktop
new file mode 100644
index 000000000..6e52a0076
--- /dev/null
+++ b/libre/octopi/octopi-repoeditor.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Octopi Repo Editor
+Icon=octopi-repoeditor
+Exec=octopi-repoeditor
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;System;
+#NotShowIn=GNOME;XFCE;LXDE;KDE;
+StartupNotify=true
diff --git a/libre/octopi/octopi.install b/libre/octopi/octopi.install
new file mode 100644
index 000000000..8ec315e7c
--- /dev/null
+++ b/libre/octopi/octopi.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/octopi/parabola-support.patch b/libre/octopi/parabola-support.patch
new file mode 100644
index 000000000..1e0d88291
--- /dev/null
+++ b/libre/octopi/parabola-support.patch
@@ -0,0 +1,154 @@
+diff -Nur octopi-0.7.0.orig/src/mainwindow_news.cpp octopi-0.7.0/src/mainwindow_news.cpp
+--- octopi-0.7.0.orig/src/mainwindow_news.cpp 2015-04-27 20:05:43.000000000 -0300
++++ octopi-0.7.0/src/mainwindow_news.cpp 2015-07-09 10:53:40.713803510 -0300
+@@ -92,6 +92,11 @@
+ writeToTabOutputExt("" +
+ StrConstants::getSearchingForDistroNews().arg("Netrunner Rolling") + "");
+ }
++ else if (gotoNewsTab && distro == ectn_PARABOLA)
++ {
++ writeToTabOutputExt("" +
++ StrConstants::getSearchingForDistroNews().arg("Parabola GNU/Linux-libre") + "");
++ }
+
+ /*
+ * Here, we retrieve distro's latest news without
+diff -Nur octopi-0.7.0.orig/src/package.cpp octopi-0.7.0/src/package.cpp
+--- octopi-0.7.0.orig/src/package.cpp 2015-04-27 20:05:43.000000000 -0300
++++ octopi-0.7.0/src/package.cpp 2015-07-09 10:53:40.713803510 -0300
+@@ -1154,7 +1154,8 @@
+ else if (UnixCommand::getLinuxDistro() == ectn_ARCHBANGLINUX ||
+ UnixCommand::getLinuxDistro() == ectn_ARCHLINUX ||
+ UnixCommand::getLinuxDistro() == ectn_KAOS ||
+- UnixCommand::getLinuxDistro() == ectn_MOOOSLINUX)
++ UnixCommand::getLinuxDistro() == ectn_MOOOSLINUX ||
++ UnixCommand::getLinuxDistro() == ectn_PARABOLA)
+ {
+ result = UnixCommand::getPackageContentsUsingPkgfile(pkgName);
+ }
+diff -Nur octopi-0.7.0.orig/src/strconstants.h octopi-0.7.0/src/strconstants.h
+--- octopi-0.7.0.orig/src/strconstants.h 2015-04-27 20:05:43.000000000 -0300
++++ octopi-0.7.0/src/strconstants.h 2015-07-09 11:10:32.856845110 -0300
+@@ -60,6 +60,9 @@
+ if (UnixCommand::getLinuxDistro() == ectn_KAOS)
+ return QLatin1String( "KCP" );
+
++ if (UnixCommand::getLinuxDistro() == ectn_PARABOLA)
++ return QLatin1String( "Custom" );
++
+ return QLatin1String( "AUR" );
+ }
+
+@@ -68,6 +71,8 @@
+ return QLatin1String( "ccr" );
+ else if (UnixCommand::getLinuxDistro() == ectn_KAOS)
+ return QLatin1String( "kcp" );
++ else if (UnixCommand::getLinuxDistro() == ectn_PARABOLA)
++ return QLatin1String( "custom" );
+
+ return QLatin1String( "aur" );
+ }
+@@ -85,6 +90,8 @@
+ ret = QLatin1String( "kcp" );
+ else if (UnixCommand::hasTheExecutable("pacaur"))
+ ret = QLatin1String( "pacaur" );
++ else if (UnixCommand::getLinuxDistro() == ectn_PARABOLA)
++ ret = QLatin1String( "custom" );
+ else
+ ret = QLatin1String( "yaourt" );
+
+@@ -100,6 +107,8 @@
+ return QLatin1String( "Ccr" );
+ else if (UnixCommand::getLinuxDistro() == ectn_KAOS)
+ return QLatin1String( "KCP" );
++ else if (UnixCommand::getLinuxDistro() == ectn_PARABOLA)
++ return QLatin1String( "Custom" );
+
+ return QLatin1String( "AUR" );
+ }
+@@ -110,6 +119,8 @@
+ return QLatin1String( "ccr/" );
+ else if (UnixCommand::getLinuxDistro() == ectn_KAOS)
+ return "kcp/";
++ else if (UnixCommand::getLinuxDistro() == ectn_PARABOLA)
++ return "custom/";
+
+ return QLatin1String( "aur/" );
+ }
+@@ -142,12 +153,16 @@
+ return QObject::tr("Netrunner Rolling news");
+ }
+
++ static QString getParabolaNews(){
++ return QObject::tr("Parabola GNU/Linux-libre news");
++ }
++
+ static QString getNewsErrorMessage(){
+ return QObject::tr("No news could be found! Press Ctrl+G to download the latest news.");
+ }
+
+ static QString getIncompatibleLinuxDistroError(){
+- return QObject::tr("This Linux distro seems to be incompatible with Octopi!");
++ return QObject::tr("This GNU/Linux distro seems to be incompatible with Octopi!");
+ }
+
+ static QString getInternetUnavailableError(){
+diff -Nur octopi-0.7.0.orig/src/unixcommand.cpp octopi-0.7.0/src/unixcommand.cpp
+--- octopi-0.7.0.orig/src/unixcommand.cpp 2015-04-27 20:05:43.000000000 -0300
++++ octopi-0.7.0/src/unixcommand.cpp 2015-07-09 10:53:40.717136678 -0300
+@@ -1036,6 +1036,10 @@
+ {
+ ret = ectn_NETRUNNER;
+ }
++ else if (contents.contains(QRegExp("Parabola GNU/Linux-libre")))
++ {
++ ret = ectn_PARABOLA;
++ }
+ else
+ {
+ ret = ectn_UNKNOWN;
+diff -Nur octopi-0.7.0.orig/src/unixcommand.h octopi-0.7.0/src/unixcommand.h
+--- octopi-0.7.0.orig/src/unixcommand.h 2015-04-27 20:05:43.000000000 -0300
++++ octopi-0.7.0/src/unixcommand.h 2015-07-09 10:53:40.717136678 -0300
+@@ -37,7 +37,7 @@
+ ectn_RUN_IN_TERMINAL };
+
+ enum LinuxDistro { ectn_ANTERGOS, ectn_ARCHBANGLINUX, ectn_ARCHBSD, ectn_ARCHLINUX, ectn_CHAKRA,
+- ectn_KAOS, ectn_MANJAROLINUX, ectn_MOOOSLINUX, ectn_NETRUNNER, ectn_UNKNOWN };
++ ectn_KAOS, ectn_MANJAROLINUX, ectn_MOOOSLINUX, ectn_NETRUNNER, ectn_PARABOLA, ectn_UNKNOWN };
+
+ enum Language { ectn_LANG_ENGLISH, ectn_LANG_USER_DEFINED };
+
+diff -Nur octopi-0.7.0.orig/src/utils.cpp octopi-0.7.0/src/utils.cpp
+--- octopi-0.7.0.orig/src/utils.cpp 2015-04-27 20:05:43.000000000 -0300
++++ octopi-0.7.0/src/utils.cpp 2015-07-09 11:21:49.993222650 -0300
+@@ -278,6 +278,7 @@
+ //const QString ctn_MANJARO_LINUX_RSS_URL = "http://manjaro.org/feed/";
+ const QString ctn_MANJARO_LINUX_RSS_URL = "https://manjaro.github.io/feed.xml";
+ const QString ctn_NETRUNNER_RSS_URL = "http://www.netrunner-os.com/feed/";
++ const QString ctn_PARABOLA_RSS_URL = "https://www.parabola.nu/feeds/news/";
+
+ LinuxDistro distro = UnixCommand::getLinuxDistro();
+ QString res;
+@@ -326,6 +327,10 @@
+ {
+ curlCommand = curlCommand.arg(ctn_NETRUNNER_RSS_URL).arg(tmpRssPath);
+ }
++ else if (distro == ectn_PARABOLA)
++ {
++ curlCommand = curlCommand.arg(ctn_PARABOLA_RSS_URL).arg(tmpRssPath);
++ }
+
+ if (UnixCommand::runCurlCommand(curlCommand).isEmpty())
+ {
+@@ -438,6 +443,10 @@
+ {
+ html = "" + StrConstants::getNetrunnerNews() + "
";
+ }
++ else if (distro == ectn_PARABOLA)
++ {
++ html = "" + StrConstants::getParabolaNews() + "
";
++ }
+
+ QString rssPath = QDir::homePath() + QDir::separator() + ".config/octopi/distro_rss.xml";
+ QDomDocument doc("rss");
--
cgit v1.2.3