From owner-svn-ports-all@freebsd.org Fri Aug 25 18:14:02 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3EB30DDE22C; Fri, 25 Aug 2017 18:14:02 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18DB26A6EC; Fri, 25 Aug 2017 18:14:02 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7PIE12a004728; Fri, 25 Aug 2017 18:14:01 GMT (envelope-from danfe@FreeBSD.org) Received: (from danfe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7PIE1lS004725; Fri, 25 Aug 2017 18:14:01 GMT (envelope-from danfe@FreeBSD.org) Message-Id: <201708251814.v7PIE1lS004725@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: danfe set sender to danfe@FreeBSD.org using -f From: Alexey Dokuchaev Date: Fri, 25 Aug 2017 18:14:01 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r448724 - in head/audio/flacon: . files X-SVN-Group: ports-head X-SVN-Commit-Author: danfe X-SVN-Commit-Paths: in head/audio/flacon: . files X-SVN-Commit-Revision: 448724 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Aug 2017 18:14:02 -0000 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 + #include + +-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 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