diff options
-rw-r--r-- | user/kphotoalbum/0001-Process-Don-t-use-stdio-identifiers-for-methods.patch | 116 | ||||
-rw-r--r-- | user/kphotoalbum/APKBUILD | 48 |
2 files changed, 164 insertions, 0 deletions
diff --git a/user/kphotoalbum/0001-Process-Don-t-use-stdio-identifiers-for-methods.patch b/user/kphotoalbum/0001-Process-Don-t-use-stdio-identifiers-for-methods.patch new file mode 100644 index 000000000..99e82b80f --- /dev/null +++ b/user/kphotoalbum/0001-Process-Don-t-use-stdio-identifiers-for-methods.patch @@ -0,0 +1,116 @@ +From 6aca702d252e108801b99113149fec1e89434167 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Wed, 14 Mar 2018 23:25:31 -0500 +Subject: [PATCH] Process: Don't use stdio identifiers for methods + +`stdout` and `stderr` are already used by POSIX <stdio.h>. This has +already caused problems in the past as the (now removed) comment in +Process.cpp noted with compilation on Mac OS X. + +This also causes a problem compiling on the musl libc, which +specifically uses the preprocessor to avoid redefinition and changing of +stdin, stdout, and stderr. + +This patch changes the names to be stdErr and stdOut, which are +camel-cased like Qt methods typically are, and do not conflict with +identifiers defined in <stdio.h>. +--- + ImageManager/VideoLengthExtractor.cpp | 12 ++++++------ + Utilities/Process.cpp | 12 ++---------- + Utilities/Process.h | 4 ++-- + 3 files changed, 10 insertions(+), 18 deletions(-) + +diff --git a/ImageManager/VideoLengthExtractor.cpp b/ImageManager/VideoLengthExtractor.cpp +index e751655a..9b3e756c 100644 +--- a/ImageManager/VideoLengthExtractor.cpp ++++ b/ImageManager/VideoLengthExtractor.cpp +@@ -72,18 +72,18 @@ void ImageManager::VideoLengthExtractor::extract(const DB::FileName &fileName) + + void ImageManager::VideoLengthExtractor::processEnded() + { +- if ( !m_process->stderr().isEmpty() ) +- qCDebug(ImageManagerLog) << m_process->stderr(); ++ if ( !m_process->stdErr().isEmpty() ) ++ qCDebug(ImageManagerLog) << m_process->stdErr(); + + QString lenStr; + if (MainWindow::FeatureDialog::ffmpegBinary().isEmpty()) + { +- QStringList list = m_process->stdout().split(QChar::fromLatin1('\n')); ++ QStringList list = m_process->stdOut().split(QChar::fromLatin1('\n')); + list = list.filter(STR("ID_LENGTH=")); + if ( list.count() == 0 ) { + qCWarning(ImageManagerLog) << "Unable to find ID_LENGTH in output from MPlayer for file " << m_fileName.absolute() << "\n" + << "Output was:\n" +- << m_process->stdout(); ++ << m_process->stdOut(); + emit unableToDetermineLength(); + return; + } +@@ -99,12 +99,12 @@ void ImageManager::VideoLengthExtractor::processEnded() + + lenStr = regexp.cap(1); + } else { +- QStringList list = m_process->stdout().split(QChar::fromLatin1('\n')); ++ QStringList list = m_process->stdOut().split(QChar::fromLatin1('\n')); + // ffprobe -v 0 just prints one line, except if panicking + if ( list.count() < 1 ) { + qCWarning(ImageManagerLog) << "Unable to parse video length from ffprobe output!" + << "Output was:\n" +- << m_process->stdout(); ++ << m_process->stdOut(); + emit unableToDetermineLength(); + return; + } +diff --git a/Utilities/Process.cpp b/Utilities/Process.cpp +index d31699cc..49be0004 100644 +--- a/Utilities/Process.cpp ++++ b/Utilities/Process.cpp +@@ -17,14 +17,6 @@ + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +-// OS/X defines stdout and stderr as macros, which interfere with our code here: +-#if defined(stdout) +-#undef stdout +-#endif +-#if defined(stderr) +-#undef stderr +-#endif +- + #include <QTextStream> + + #include "Process.h" +@@ -41,12 +33,12 @@ Utilities::Process::Process(QObject *parent) : + connect( this, SIGNAL(readyReadStandardOutput()), this, SLOT(readStandardOutput())); + } + +-QString Utilities::Process::stdout() const ++QString Utilities::Process::stdOut() const + { + return m_stdout; + } + +-QString Utilities::Process::stderr() const ++QString Utilities::Process::stdErr() const + { + return m_stderr; + } +diff --git a/Utilities/Process.h b/Utilities/Process.h +index b936e684..6280166d 100644 +--- a/Utilities/Process.h ++++ b/Utilities/Process.h +@@ -30,8 +30,8 @@ class Process : public QProcess + Q_OBJECT + public: + explicit Process(QObject *parent = nullptr); +- QString stdout() const; +- QString stderr() const; ++ QString stdOut() const; ++ QString stdErr() const; + + private slots: + void readStandardError(); +-- +2.15.0 + diff --git a/user/kphotoalbum/APKBUILD b/user/kphotoalbum/APKBUILD new file mode 100644 index 000000000..685329cd3 --- /dev/null +++ b/user/kphotoalbum/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=kphotoalbum +pkgver=5.3 +pkgrel=0 +pkgdesc="Versatile photo album software by KDE" +url="https://www.kphotoalbum.org/" +arch="all" +license="GPL-2.0-only" +depends="" +makedepends="cmake extra-cmake-modules qt5-qtbase-dev phonon-dev karchive-dev + kcompletion-dev kconfig-dev kcoreaddons-dev kdoctools-dev ki18n-dev + kiconthemes-dev kjobwidgets-dev kio-dev ktextwidgets-dev kxmlgui-dev + kwidgetsaddons-dev libjpeg-turbo-dev exiv2-dev libkipi-dev" +install="" +subpackages="$pkgname-doc $pkgname-lang" +source="https://download.kde.org/stable/kphotoalbum/$pkgver/kphotoalbum-$pkgver.tar.xz + 0001-Process-Don-t-use-stdio-identifiers-for-methods.patch" +builddir="$srcdir/kphotoalbum-$pkgver" + +build() { + cd "$builddir" + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + ${CMAKE_CROSSOPTS} + make +} + +check() { + cd "$builddir" + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="8296e9db17d7cc5b34dd29fbe9aeb8f7ab05e286e5d4a692c05f00cd1438dfd32bc48e1c4fd740c5fb932c463ba92fdb0620b9af49d3419ffcfa1354336dd26f kphotoalbum-5.3.tar.xz +94251fb366bd0250bba3d192a442fc2712941fa2612123849c7abea4c5138d28d12b155c673bbf2713dd43f3abcdc663044783f89206c3c19fad33871879c1c0 0001-Process-Don-t-use-stdio-identifiers-for-methods.patch" |