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