diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-08-24 02:35:13 -0300 |
---|---|---|
committer | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2015-08-28 18:37:19 -0300 |
commit | b051147782b995c2ceac81270a8ed5f8ff455a1a (patch) | |
tree | 97ac7672085060984ce8fc14da41e579a53c9e56 /libre/kdeutils-ark | |
parent | fd83d51f5bce13902e5e100d85a562baf01d90cf (diff) | |
download | abslibre-b051147782b995c2ceac81270a8ed5f8ff455a1a.tar.gz abslibre-b051147782b995c2ceac81270a8ed5f8ff455a1a.tar.bz2 abslibre-b051147782b995c2ceac81270a8ed5f8ff455a1a.zip |
ark-15.08.0-1.parabola1: updating version
* rename KDE kdeutils-ark package
Diffstat (limited to 'libre/kdeutils-ark')
-rw-r--r-- | libre/kdeutils-ark/PKGBUILD | 45 | ||||
-rw-r--r-- | libre/kdeutils-ark/ark-unar-06.patch | 236 | ||||
-rw-r--r-- | libre/kdeutils-ark/kdeutils-ark.install | 12 |
3 files changed, 0 insertions, 293 deletions
diff --git a/libre/kdeutils-ark/PKGBUILD b/libre/kdeutils-ark/PKGBUILD deleted file mode 100644 index 99d261862..000000000 --- a/libre/kdeutils-ark/PKGBUILD +++ /dev/null @@ -1,45 +0,0 @@ -# $Id: PKGBUILD 241398 2015-06-29 17:50:28Z arojas $ -# Maintainer (Arch): Felix Yan <felixonmars@archlinux.org> -# Contributor (Arch): Andrea Scarpino <andrea@archlinux.org> -# Maintainer: André Silva <emulatorman@parabola.nu> - -pkgname=kdeutils-ark -pkgver=15.04.3 -pkgrel=1.parabola1 -pkgdesc='Archiving Tool, with unar support' -url='http://kde.org/applications/utilities/ark/' -arch=('i686' 'x86_64') -license=('GPL' 'LGPL' 'FDL') -groups=('kde-applications' 'kdeutils') -replaces=('kdeutils-ark-libre') -conflicts=('kdeutils-ark-libre') -depends=('kdebase-runtime' 'kdebase-lib' 'libarchive' 'qjson') -makedepends=('cmake' 'automoc4') -optdepends=('p7zip' 'zip' 'unzip' 'unar') -install=${pkgname}.install -source=("http://download.kde.org/stable/applications/${pkgver}/src/ark-${pkgver}.tar.xz" - 'ark-unar-06.patch') -sha1sums=('891187b1c49258ab461f1dcbfae82f0640a96f54' - 'a0a836950f185d9b2245204579f969203036fdec') - -prepare() { - cd "${srcdir}/ark-${pkgver}" - # This patch will allow Ark to use The Unarchiver command line utilities (unar/lsar) to operate on RAR files, particularly RARv3. - patch -Np1 -i "${srcdir}/ark-unar-06.patch" -} - -build() { - cd "${srcdir}" - mkdir build - cd build - cmake ../ark-${pkgver} \ - -DCMAKE_BUILD_TYPE=Release \ - -DKDE4_BUILD_TESTS=OFF \ - -DCMAKE_INSTALL_PREFIX=/usr - make -} - -package() { - cd $srcdir/build - make DESTDIR=$pkgdir install -} diff --git a/libre/kdeutils-ark/ark-unar-06.patch b/libre/kdeutils-ark/ark-unar-06.patch deleted file mode 100644 index ab2ef274f..000000000 --- a/libre/kdeutils-ark/ark-unar-06.patch +++ /dev/null @@ -1,236 +0,0 @@ -diff --git a/plugins/cliunarchiverplugin/kerfuffle_cliunarchiver.desktop b/plugins/cliunarchiverplugin/kerfuffle_cliunarchiver.desktop -new file mode 100644 -index 0000000..2b5bd9e ---- /dev/null -+++ b/plugins/cliunarchiverplugin/kerfuffle_cliunarchiver.desktop -@@ -0,0 +1,15 @@ -+[Desktop Entry] -+Type=Service -+X-KDE-ServiceTypes=Kerfuffle/Plugin -+X-KDE-Library=kerfuffle_cliunarchiver -+X-KDE-PluginInfo-Author=Luke Shumaker -+X-KDE-PluginInfo-Email=lukeshu@sbcglobal.net -+X-KDE-PluginInfo-Name= kerfuffle_cliunarchiver -+X-KDE-PluginInfo-Version=0.0.1 -+X-KDE-PluginInfo-Website=http://www.kde.org -+X-KDE-PluginInfo-License=GPLv2+ -+X-KDE-Priority=150 -+X-KDE-Kerfuffle-APIRevision=1 -+X-KDE-Kerfuffle-ReadWrite=false -+Name=The Unarchiver plugin -+MimeType=application/x-rar; -diff --git a/plugins/cliunarchiverplugin/cliplugin.cpp b/plugins/cliunarchiverplugin/cliplugin.cpp -new file mode 100644 -index 0000000..e0adcf7 ---- /dev/null -+++ b/plugins/cliunarchiverplugin/cliplugin.cpp -@@ -0,0 +1,170 @@ -+ /* -+ * ark -- archiver for the KDE project -+ * -+ * Copyright (C) 2011 Luke Shumaker <lukeshu@sbcglobal.net> -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License -+ * as published by the Free Software Foundation; either version 2 -+ * of the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+ * -+ */ -+ -+#include "kerfuffle/cliinterface.h" -+#include "kerfuffle/kerfuffle_export.h" -+ -+#include <KDebug> -+ -+#include <QDateTime> -+#include <QDir> -+#include <QRegExp> -+#include <QString> -+#include <QStringList> -+ -+using namespace Kerfuffle; -+ -+class CliPlugin: public CliInterface -+{ -+public: -+ explicit CliPlugin(QObject *parent, const QVariantList & args) -+ : CliInterface(parent, args) { -+ m_indentLevel = 0; -+ } -+ -+ virtual ~CliPlugin() { -+ } -+ -+ virtual ParameterList parameterList() const { -+ static ParameterList p; -+ if (p.isEmpty()) { -+ /* Limitations: -+ * 01 - creates an empty file upon entering wrong password -+ * 02 - unar detects if output is being redirected and then does not accept any input -+ */ -+ -+ ///////////////[ COMMON ]///////////// -+ -+ p[CaptureProgress] = false; -+ p[PasswordPromptPattern] = QLatin1String("Password (will not be shown): "); -+ -+ ///////////////[ LIST ]///////////// -+ -+ p[ListProgram] = QLatin1String("lsar"); -+ p[ListArgs] = QStringList() << QLatin1String("-json") << QLatin1String("$Archive"); -+ -+ ///////////////[ EXTRACT ]///////////// -+ -+ p[ExtractProgram] = QLatin1String("unar"); -+ p[ExtractArgs] = QStringList() << QLatin1String("$Archive") << QLatin1String("$Files") << QLatin1String("$PasswordSwitch") << QLatin1String("$RootNodeSwitch"); -+ p[NoTrailingSlashes] = true; -+ p[PasswordSwitch] = QStringList() << QLatin1String("-password") << QLatin1String("$Password"); -+ p[RootNodeSwitch] = QStringList() << QLatin1String("-output-directory") << QLatin1String("$Path"); -+ p[FileExistsExpression] = QLatin1String("^\\\"(.+)\\\" already exists."); -+ p[FileExistsInput] = QStringList() -+ << QLatin1String("o") //overwrite -+ << QLatin1String("s") //skip -+ << QLatin1String("O") //overwrite all -+ << QLatin1String("S") //autoskip -+ << QLatin1String("q") //cancel -+ ; -+ -+ ///////////////[ DELETE ]///////////// -+ -+ p[DeleteProgram] = QLatin1String("x-fakeprogram"); -+ //p[DeleteArgs] = -+ -+ ///////////////[ ADD ]///////////// -+ -+ p[AddProgram] = QLatin1String("x-fakeprogram"); -+ //p[AddArgs] = -+ -+ ///////////////[ ERRORS ]///////////// -+ -+ p[ExtractionFailedPatterns] = QStringList() -+ << QLatin1String("Failed! \\((.+)\\)$") -+ << QLatin1String("Segmentation fault$"); -+ -+ p[WrongPasswordPatterns] = QStringList() -+ << QLatin1String("Failed! \\((.+)\\)$"); -+ } -+ return p; -+ } -+ -+ QString m_entryFilename, m_internalId; -+ ArchiveEntry m_currentEntry; -+ int m_indentLevel; -+ -+ bool readListLine(const QString &line) { -+ /* lsar will give us JSON output. However, we actually parse based on -+ * the indentation. Ugly, I know, but -+ * 1. It's easier -+ * 2. lsar's JSON is invalid JSON, so actual parsers bork. -+ */ -+ -+ int spaces; -+ for(spaces=0;(spaces<line.size())&&(line[spaces]==QLatin1Char(' '));spaces++){} -+ // Since this is so ugly anyway, I'm not even going to check to -+ // make sure that spaces is even. I mean, what would I do about it? -+ int m_newIndentLevel = spaces/2; -+ -+ if (m_newIndentLevel>m_indentLevel) { -+ if (m_newIndentLevel==3) { -+ m_currentEntry.clear(); -+ m_currentEntry[IsDirectory] = false; -+ } -+ } else if (m_newIndentLevel<m_indentLevel) { -+ if ( (m_newIndentLevel<3) && (m_indentLevel>=3) ) { -+ EntryMetaDataType index = IsDirectory; -+ if (m_currentEntry[index].toBool()) { -+ m_currentEntry[FileName].toString().append(QLatin1String("/")); -+ } -+ kDebug() << "Added entry:" << m_currentEntry; -+ entry(m_currentEntry); -+ } -+ } -+ m_indentLevel = m_newIndentLevel; -+ -+ QRegExp rx(QLatin1String("^\\s*\"([^\"]*)\": (.*),$")); -+ if (rx.indexIn(line) >= 0) { -+ QRegExp rx_unquote(QLatin1String("^\"(.*)\"$")); -+ QString key = rx.cap(1); -+ QString value = rx.cap(2); -+ -+ if (false) { -+ } else if (key==QLatin1String("XADFileName")) { -+ rx_unquote.indexIn(value); -+ m_currentEntry[FileName] = m_currentEntry[InternalID] = rx_unquote.cap(1); -+ } else if (key==QLatin1String("XADFileSize")) { -+ m_currentEntry[Size] = value.toInt(); -+ } else if (key==QLatin1String("XADCompressedSize")) { -+ m_currentEntry[CompressedSize] = value.toInt(); -+ } else if (key==QLatin1String("XADLastModificationDate")) { -+ QDateTime ts(QDate::fromString(value, QLatin1String("\"YYYY-MM-DD hh:mm:ss"))); -+ m_currentEntry[Timestamp] = ts; -+ } else if (key==QLatin1String("XADIsDirectory")) { -+ m_currentEntry[IsDirectory] = (value==QLatin1String("1")); -+ } else if (key==QLatin1String("RARCRC32")) { -+ m_currentEntry[CRC] = value.toInt(); -+ } else if (key==QLatin1String("RARCompressionMethod")) { -+ m_currentEntry[Method] = value.toInt(); -+ } else if (key==QLatin1String("Encrypted")) { -+ m_currentEntry[IsPasswordProtected] = (value.toInt() != 0); -+ } -+ // TODO: add RAR version. ([Version]) -+ } -+ -+ return true; -+ } -+}; -+ -+KERFUFFLE_EXPORT_PLUGIN(CliPlugin) -+ -diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt -index 3619412..6368839 100644 ---- a/plugins/CMakeLists.txt -+++ b/plugins/CMakeLists.txt -@@ -20,6 +20,7 @@ if (LIBARCHIVE_FOUND) - endif (LIBARCHIVE_FOUND) - - add_subdirectory( clirarplugin ) -+add_subdirectory( cliunarchiverplugin ) - add_subdirectory( cli7zplugin ) - add_subdirectory( clizipplugin ) - add_subdirectory( libsinglefileplugin ) -diff --git a/plugins/cliunarchiverplugin/CMakeLists.txt b/plugins/cliunarchiverplugin/CMakeLists.txt -new file mode 100644 -index 0000000..ccd52e7 ---- /dev/null -+++ b/plugins/cliunarchiverplugin/CMakeLists.txt -@@ -0,0 +1,21 @@ -+ -+include_directories( -+ ${CMAKE_CURRENT_SOURCE_DIR}/../.. -+ ${CMAKE_CURRENT_BINARY_DIR}/../.. -+ ) -+ -+########### next target ############### -+ -+set(kerfuffle_cliunarchiver_SRCS cliplugin.cpp) -+ -+kde4_add_plugin(kerfuffle_cliunarchiver ${kerfuffle_cliunarchiver_SRCS}) -+ -+target_link_libraries(kerfuffle_cliunarchiver ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} kerfuffle ) -+ -+ -+ -+########### install files ############### -+ -+install(TARGETS kerfuffle_cliunarchiver DESTINATION ${PLUGIN_INSTALL_DIR} ) -+install( FILES kerfuffle_cliunarchiver.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) -+ diff --git a/libre/kdeutils-ark/kdeutils-ark.install b/libre/kdeutils-ark/kdeutils-ark.install deleted file mode 100644 index 8a26818d8..000000000 --- a/libre/kdeutils-ark/kdeutils-ark.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - update-desktop-database -q - xdg-icon-resource forceupdate --theme hicolor &> /dev/null -} - -post_update() { - post_install -} - -post_remove() { - post_install -} |