aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/flacon/audioformat_segfault.diff62
-rw-r--r--audio/flacon/flacon.SlackBuild8
-rw-r--r--audio/flacon/flacon.info8
3 files changed, 71 insertions, 7 deletions
diff --git a/audio/flacon/audioformat_segfault.diff b/audio/flacon/audioformat_segfault.diff
new file mode 100644
index 0000000000000..a2360bd71c28c
--- /dev/null
+++ b/audio/flacon/audioformat_segfault.diff
@@ -0,0 +1,62 @@
+diff --git a/formats/format.cpp b/formats/format.cpp
+index 53f7ed0..89abaf9 100644
+--- a/formats/format.cpp
++++ b/formats/format.cpp
+@@ -32,7 +32,14 @@
+ #include <QByteArray>
+ #include <QFile>
+
+-AudioFormatList AudioFormat::mAllFormats;
++/************************************************
++ *
++ ************************************************/
++AudioFormatList &formatList()
++{
++ static AudioFormatList *afl = new AudioFormatList();
++ return *afl;
++}
+
+
+ /************************************************
+@@ -43,9 +50,9 @@ bool AudioFormat::registerFormat(const AudioFormat &f)
+ // Some formats can be embedded as a chunk of RIFF stream.
+ // So the WAV format should be last and be checked in the last turn.
+ if (f.ext() == "wav")
+- mAllFormats.append(&f);
++ formatList().append(&f);
+ else
+- mAllFormats.insert(0, &f);
++ formatList().insert(0, &f);
+ return true;
+ }
+
+@@ -71,7 +78,7 @@ AudioFormat::~AudioFormat()
+ ************************************************/
+ const AudioFormatList &AudioFormat::allFormats()
+ {
+- return mAllFormats;
++ return formatList();
+ }
+
+
+diff --git a/formats/format.h b/formats/format.h
+index b159b7a..0f9fcb6 100644
+--- a/formats/format.h
++++ b/formats/format.h
+@@ -70,8 +70,6 @@ class AudioFormat
+ protected:
+ virtual bool checkMagic(const QByteArray &data) const;
+
+-private:
+- static QList<const AudioFormat*> mAllFormats;
+ };
+
+
+@@ -79,6 +77,6 @@ class AudioFormat
+
+ #define REGISTER_FORMAT(FORMAT) \
+ static FORMAT static_##FORMAT##_Instance; \
+- static bool is_##FORMAT##_loaded = AudioFormat::registerFormat(static_##FORMAT##_Instance);
++ static bool is_##FORMAT##_loaded = AudioFormat::registerFormat(static_##FORMAT##_Instance);
+
+ #endif // FORMAT_H
diff --git a/audio/flacon/flacon.SlackBuild b/audio/flacon/flacon.SlackBuild
index 0adaf829c0c46..74742054fdb9d 100644
--- a/audio/flacon/flacon.SlackBuild
+++ b/audio/flacon/flacon.SlackBuild
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=flacon
-VERSION=${VERSION:-2.1.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-3.1.1}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -69,6 +69,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/audioformat_segfault.diff
+
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
@@ -85,7 +87,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
mv $PKG/usr/share/man $PKG/usr/man
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cp LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/audio/flacon/flacon.info b/audio/flacon/flacon.info
index 1485fa11733ee..52290e7df8ad6 100644
--- a/audio/flacon/flacon.info
+++ b/audio/flacon/flacon.info
@@ -1,10 +1,10 @@
PRGNAM="flacon"
-VERSION="2.1.1"
+VERSION="3.1.1"
HOMEPAGE="https://flacon.github.io/"
-DOWNLOAD="https://github.com/flacon/flacon/archive/v2.1.1/flacon-2.1.1.tar.gz"
-MD5SUM="cab9ea940098b20d317ec82d21a92ab0"
+DOWNLOAD="https://github.com/flacon/flacon/archive/v3.1.1/flacon-3.1.1.tar.gz"
+MD5SUM="d9918783dc9c8c3efca1382ccd49a5ed"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libuchardet shntool"
+REQUIRES="libuchardet"
MAINTAINER="Edinaldo P. Silva"
EMAIL="edps.mundognu@gmail.com"