summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/kphotoalbum/0001-Process-Don-t-use-stdio-identifiers-for-methods.patch116
-rw-r--r--user/kphotoalbum/APKBUILD48
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"