svn commit: r448724 - in head/audio/flacon: . files
Alexey Dokuchaev
danfe at FreeBSD.org
Fri Aug 25 18:14:02 UTC 2017
Author: danfe
Date: Fri Aug 25 18:14:00 2017
New Revision: 448724
URL: https://svnweb.freebsd.org/changeset/ports/448724
Log:
- Update `audio/flacon' to version 3.1.1
- Add upstream patch to fix sporadic crash on program's start-up
due to notorious C++ "static initialization order fiasco" [*]
Because GitHub releases (tarballs) are not fetched with correct modification
time, set TIMESTAMP to 1502219275 which corresponds to commit 8f81f61 tagged
as this release.
[*] https://isocpp.org/wiki/faq/ctors#static-init-order
Added:
head/audio/flacon/files/patch-49e72de (contents, props changed)
Modified:
head/audio/flacon/Makefile
head/audio/flacon/distinfo
Modified: head/audio/flacon/Makefile
==============================================================================
--- head/audio/flacon/Makefile Fri Aug 25 17:56:42 2017 (r448723)
+++ head/audio/flacon/Makefile Fri Aug 25 18:14:00 2017 (r448724)
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= flacon
-PORTVERSION= 3.0.0
+PORTVERSION= 3.1.1
DISTVERSIONPREFIX= v
CATEGORIES= audio
Modified: head/audio/flacon/distinfo
==============================================================================
--- head/audio/flacon/distinfo Fri Aug 25 17:56:42 2017 (r448723)
+++ head/audio/flacon/distinfo Fri Aug 25 18:14:00 2017 (r448724)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1497981519
-SHA256 (flacon-flacon-v3.0.0_GH0.tar.gz) = 5349fdc29c6cb173e7d40260e7ea4ba13ae39f4a144c22028fbfa132ceef5bb3
-SIZE (flacon-flacon-v3.0.0_GH0.tar.gz) = 430724
+TIMESTAMP = 1502219275
+SHA256 (flacon-flacon-v3.1.1_GH0.tar.gz) = ca5bd24ba61fc06a39e95b4b7fda188af437ad3eff666b55071895bde11bd15a
+SIZE (flacon-flacon-v3.1.1_GH0.tar.gz) = 431743
Added: head/audio/flacon/files/patch-49e72de
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/audio/flacon/files/patch-49e72de Fri Aug 25 18:14:00 2017 (r448724)
@@ -0,0 +1,62 @@
+diff --git a/formats/format.cpp b/formats/format.cpp
+index 53f7ed0..89abaf9 100644
+--- formats/format.cpp.orig
++++ 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
+--- formats/format.h.orig
++++ 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
More information about the svn-ports-all
mailing list