pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/audio/flac flac: update to 1.4.0.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/cc3ad944629e
branches:  trunk
changeset: 385141:cc3ad944629e
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Sun Sep 11 12:29:54 2022 +0000

description:
flac: update to 1.4.0.

## FLAC 1.4.0

As there have been changes to the library interfaces, the libFLAC version number is incremented to 12, the libFLAC++ version number is incremented to 10. As some changes were breaking, the version 
age numbers (see [libtool versioning](https://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning)) have been reset to 0. For more details on the changes to the API, see the [porting 
guide](https://xiph.org/flac/api/group__porting__1__3__4__to__1__4__0.html).

The XMMS plugin and 'common' plugin code (used only by the XMMS plugin) are deprecated, they will be removed in a future release.

* General:
    * It is now possible to limit the minimum bitrate of a FLAC file generated by libFLAC and with the `flac` tool to 1 bit/sample. This function can be used to aid live streaming, for example for 
internet radio
    * Encoding files with sample rates up to 1'048'575Hz is now possible. (Con Kolivas)
    * Compression of preset -3 through -8 was slightly improved at the cost of a small decrease in encoding speed by increasing the precision with which autocorrelation was calculated (Martijn van 
Beurden)
    * Encoding speed of preset -0, -1 and -2 was slightly improved
    * Compression of presets -1 and -4 was slighly improved on certain material by changing the adaptive mid-side heuristics
    * Speedups specifically targeting 64-bit ARMv8 devices using NEON were integrated (Ronen Gvili, Martijn van Beurden)
    * Speedups for x86_64 CPUs having the FMA instruction set extention are added
    * Encoding and decoding of 32-bit PCM is now possible
* (Ogg) FLAC format:
    * The FLAC format document is being rewritten by the IETF CELLAR working group. The latest draft can be found on 
[https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/](https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/)
    * The FLAC format document specifies no bounds for the residual. In other to match current decoder implementations, it is proposed to bound the residual to the range provided by a 32-bit int 
signed two's complement. This limit must be checked by FLAC encoders as to keep FLAC decoders free from the complexity of being to decode a residual exceeding a 32-bit int.
    * There is now a set of files available to test whether a FLAC decoder implements the format correctly. This FLAC decoder testbench can be found at 
[https://github.com/ietf-wg-cellar/flac-test-files](https://github.com/ietf-wg-cellar/flac-test-files). Also, results of testing hard- and software can be found here at 
[https://wiki.hydrogenaud.io/index.php?title=FLAC_decoder_testbench](https://wiki.hydrogenaud.io/index.php?title=FLAC_decoder_testbench).
* flac:
    * The option --limit-min-bitrate was added to aid streaming, see [github #264](https://github.com/xiph/flac/pull/264)
    * The option --keep-foreign-metadata-if-present is added. This option works the same as --keep-foreign-metadata, but does return a warning instead of an error if no foreign metadata was found to 
store or restore
    * The warning returned by the foreign metadata handling is now clearer in case a user tries to restore foreign metadata of the wrong type, for example decoding a FLAC file containing AIFF foreign 
metadata to a WAV file
    * A problem when using the analyse function causing the first frame to have a wrong size and offset was fixed
    * Fix bug where channel mask of a file is unintentionally reused when several files are processed with one command
    * The order of compression-related commands is no longer important, i.e. -8ep gives the same result as -ep8. Previously, a compression level (like -8) would override a more specific setting (like 
-e or -p). This is no longer the case
    * flac now checks the block-align property of WAV files to ensure non-standard WAV files (for which flac has no handling) are not mangled
* metaflac:
    * (none)
* build system:
    * MSVC and Makefile.lite build system files have been removed. Building with MSVC (Visual Studio) can be done by using CMake
    * Various CMake improvements, especially for creating MSVC build files (Martijn van Beurden, martinRenou, CookiePLMonster, David Callu, Tyler Dunn, Cameron Cawley)
    * Various fixes for MinGW (Martijn van Beurden, Cameron Cawley)
    * Removed obsolete autotools macro's to silence warnings
    * Fixes for FreeBSD PowerPC (pkubaj)
    * Fixed some compiler warnings (Martijn van Beurden, Tyler Dunn)
    * Fix building with uclibc (Fabrice Fontaine)
* testing/validation:
    * Addition of new encoder fuzzer, adding fuzzing for 8, 24 and 32-bit inputs
    * Addition of new decoder fuzzer, adding coverage of seeking code
    * Addition of metadata fuzzer, adding coverage of metadata APIs
    * Various improvements to fuzzers to improve code coverage, fuzzing speed and stability
    * Many changes to test suite to improve cross-platform compatibility (Rosen Penev)
    * Windows CI now also builds the whole test suite
    * Clang-format file added (Rosen Penev)
    * Add warning on using v141_xp platform toolset with /MT (Martijn van Beurden, Paul Sanders)
* libraries:
    * Various seeking fixes (Martijn van Beurden, Robert Kausch)
    * Various bugs fixed found by fuzzing
    * On decoding, it is now checked whether residuals can be contained by a 32-bit int, preventing integer overflow
    * Add check that samples supplied to libFLAC actually fall within the bps set
    * Add checks when parsing metadata blocks to not allocate excessive amounts of memory and not overread
    * Undocumented Windows-only utf8 functions are no longer exported to the DLL interface
    * Removed all assembler and intrinsics code from the decoder to improve fuzzing, as they provided only a small speed benefit
    * The bitwriter buffer is limited in size to 2^24 bytes, so it cannot write excessively large files. This is a backup in case another bug in this area creeps (back) in.
    * The metadata iterations should now never return a vorbiscomment entry with NULL as an entry, now always at least an empty string is returned
* documentation:
    * Removed html documentation and generate man pages from markdown
* Interface changes:
    * libFLAC:
        * Addition of FLAC__stream_encoder_set_limit_min_bitrate() and FLAC__stream_encoder_get_limit_min_bitrate(), see [github #264](https://github.com/xiph/flac/pull/264)
        * get_client_data_from_decoder is renamed FLAC__get_decoder_client_data(), see [github #124](https://github.com/xiph/flac/pull/124)
        * All API functions taking a filename as an argument now take UTF-8 filenames on Windows, and no longer accept filenames using the current codepage
        * FLAC__Frame struct has changed: warmup samples are now stored in FLAC__int64 instead of FLAC__int32 types, and verbatim samples can now be stored in either FLAC__int32 or FLAC__int64 
depending on whether samples fix the former or latter
        * The FLAC__StreamMetadata struct now has a tag, so it can be forward declared
    * libFLAC++:
        * Addition of ::set_limit_min_bitrate() and ::get_limit_min_bitrate(), see [github #264](https://github.com/xiph/flac/pull/264)
        * All API functions taking a filename as an argument now take UTF-8 filenames on Windows, and no longer accept filenames using the current codepage
        * The ::FLAC__Frame struct has changed, see the libFLAC interface change.

diffstat:

 audio/flac/Makefile                        |   9 +++------
 audio/flac/PLIST                           |  20 +-------------------
 audio/flac/buildlink3.mk                   |   4 ++--
 audio/flac/distinfo                        |  10 ++++------
 audio/flac/patches/patch-configure.ac      |  16 ----------------
 audio/flac/patches/patch-src_libFLAC_cpu.c |  24 ------------------------
 6 files changed, 10 insertions(+), 73 deletions(-)

diffs (146 lines):

diff -r 90a7a18979ac -r cc3ad944629e audio/flac/Makefile
--- a/audio/flac/Makefile       Sun Sep 11 12:25:32 2022 +0000
+++ b/audio/flac/Makefile       Sun Sep 11 12:29:54 2022 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.57 2022/02/21 08:19:41 adam Exp $
+# $NetBSD: Makefile,v 1.58 2022/09/11 12:29:54 wiz Exp $
 
-DISTNAME=      flac-1.3.4
+DISTNAME=      flac-1.4.0
 CATEGORIES=    audio archivers
 MASTER_SITES=  http://downloads.xiph.org/releases/flac/
 EXTRACT_SUFX=  .tar.xz
@@ -11,7 +11,7 @@
 LICENSE=       modified-bsd AND gnu-gpl-v2 AND gnu-lgpl-v2.1
 
 USE_LIBTOOL=           yes
-USE_TOOLS+=            aclocal autoconf autoheader automake gmake
+USE_TOOLS+=            gmake
 USE_LANGUAGES=         c c++
 GNU_CONFIGURE=         yes
 CONFIGURE_ARGS+=       --disable-doxygen-docs
@@ -54,8 +54,5 @@
 BUILDLINK_TRANSFORM+=  rm:-fgnu89-inline
 .endif
 
-pre-configure:
-       cd ${WRKSRC} && autoreconf
-
 .include "../../multimedia/libogg/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 90a7a18979ac -r cc3ad944629e audio/flac/PLIST
--- a/audio/flac/PLIST  Sun Sep 11 12:25:32 2022 +0000
+++ b/audio/flac/PLIST  Sun Sep 11 12:29:54 2022 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.15 2019/08/05 15:35:12 adam Exp $
+@comment $NetBSD: PLIST,v 1.16 2022/09/11 12:29:54 wiz Exp $
 bin/flac
 bin/metaflac
 include/FLAC++/all.h
@@ -24,23 +24,5 @@
 share/aclocal/libFLAC++.m4
 share/aclocal/libFLAC.m4
 share/doc/flac/FLAC.tag
-share/doc/flac/changelog.html
-share/doc/flac/developers.html
-share/doc/flac/documentation.html
-share/doc/flac/documentation_bugs.html
-share/doc/flac/documentation_example_code.html
-share/doc/flac/documentation_format_overview.html
-share/doc/flac/documentation_tools.html
-share/doc/flac/documentation_tools_flac.html
-share/doc/flac/documentation_tools_metaflac.html
-share/doc/flac/faq.html
-share/doc/flac/favicon.ico
-share/doc/flac/features.html
-share/doc/flac/flac.css
-share/doc/flac/format.html
-share/doc/flac/id.html
 share/doc/flac/images/logo.svg
 share/doc/flac/images/logo130.gif
-share/doc/flac/index.html
-share/doc/flac/license.html
-share/doc/flac/ogg_mapping.html
diff -r 90a7a18979ac -r cc3ad944629e audio/flac/buildlink3.mk
--- a/audio/flac/buildlink3.mk  Sun Sep 11 12:25:32 2022 +0000
+++ b/audio/flac/buildlink3.mk  Sun Sep 11 12:29:54 2022 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.13 2009/03/20 19:23:53 joerg Exp $
+# $NetBSD: buildlink3.mk,v 1.14 2022/09/11 12:29:54 wiz Exp $
 
 BUILDLINK_TREE+=       flac
 
@@ -6,7 +6,7 @@
 FLAC_BUILDLINK3_MK:=
 
 BUILDLINK_API_DEPENDS.flac+=   flac>=1.1.0nb1
-BUILDLINK_ABI_DEPENDS.flac+=   flac>=1.1.3nb1
+BUILDLINK_ABI_DEPENDS.flac+=   flac>=1.4.0
 BUILDLINK_PKGSRCDIR.flac?=     ../../audio/flac
 
 .include "../../multimedia/libogg/buildlink3.mk"
diff -r 90a7a18979ac -r cc3ad944629e audio/flac/distinfo
--- a/audio/flac/distinfo       Sun Sep 11 12:25:32 2022 +0000
+++ b/audio/flac/distinfo       Sun Sep 11 12:29:54 2022 +0000
@@ -1,9 +1,7 @@
-$NetBSD: distinfo,v 1.32 2022/02/21 08:19:41 adam Exp $
+$NetBSD: distinfo,v 1.33 2022/09/11 12:29:54 wiz Exp $
 
-BLAKE2s (flac-1.3.4.tar.xz) = 468b76470ad135725e8effaadcf1de1963863ee5486d5693793f613f93618430
-SHA512 (flac-1.3.4.tar.xz) = 4a626e8a1bd126e234c0e5061e3b46f3a27c2065fdfa228fd8cf00d3c7fa2c05fafb5cec36acce7bfce4914bfd7db0b2a27ee15decf2d8c4caad630f62d44ec9
-Size (flac-1.3.4.tar.xz) = 1038356 bytes
-SHA1 (patch-configure.ac) = 6a6635a37bdbfe7bc2a4e2531f27935f9d545368
+BLAKE2s (flac-1.4.0.tar.xz) = 67c1bca0a723a7ba645ddfdf3b6c73f82ef8c5e81118b49ad3eedde47eab7959
+SHA512 (flac-1.4.0.tar.xz) = b7310de7bcf49584c0a1fdc6d5ee7216a8ab3e2b1af85366fa0905752da13e1cbb9638e0d92f3b756568a69848abf4d5c2fe0d21a86c6fdb4840f2678daf0f8d
+Size (flac-1.4.0.tar.xz) = 783372 bytes
 SHA1 (patch-microbench_util.c) = f03bfbef537d10ceb9742451ec3509be886e15ed
-SHA1 (patch-src_libFLAC_cpu.c) = f1a3021bb93ba1abfd24a84988f627a5817bec5a
 SHA1 (patch-strip_non_asm_libtool_args.sh) = f90f09fbf6a0fa938693a9d52316d3a4105129e5
diff -r 90a7a18979ac -r cc3ad944629e audio/flac/patches/patch-configure.ac
--- a/audio/flac/patches/patch-configure.ac     Sun Sep 11 12:25:32 2022 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-$NetBSD: patch-configure.ac,v 1.1 2019/12/17 13:59:50 nros Exp $
-
-* check for getauxval and sys/auxv.h since it is not available on all systems
-
---- configure.ac.orig  2019-12-16 17:00:33.348861095 +0000
-+++ configure.ac
-@@ -103,7 +103,8 @@ AC_CHECK_TYPES(socklen_t, [], [])
- 
- dnl check for getopt in standard library
- dnl AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] )
--AC_CHECK_FUNCS(getopt_long, [], [])
-+AC_CHECK_FUNCS([getopt_long getauxval], [], [])
-+AC_CHECK_HEADERS([sys/auxv.h])
- 
- AC_CHECK_SIZEOF(void*,1)
- 
diff -r 90a7a18979ac -r cc3ad944629e audio/flac/patches/patch-src_libFLAC_cpu.c
--- a/audio/flac/patches/patch-src_libFLAC_cpu.c        Sun Sep 11 12:25:32 2022 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-$NetBSD: patch-src_libFLAC_cpu.c,v 1.2 2022/02/21 08:19:41 adam Exp $
-
-Check for getauxval and sys/auxv.h since it is not available on all systems
-
---- src/libFLAC/cpu.c.orig     2021-07-09 20:24:42.000000000 +0000
-+++ src/libFLAC/cpu.c
-@@ -53,7 +53,7 @@
- #define dfprintf(file, format, ...)
- #endif
- 
--#if defined FLAC__CPU_PPC
-+#if (defined(FLAC__CPU_PPC) && defined(HAVE_SYS_AUXV_H))
- #if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD__ >= 12))
- #include <sys/auxv.h>
- #endif
-@@ -238,7 +238,7 @@ x86_cpu_info (FLAC__CPUInfo *info)
- static void
- ppc_cpu_info (FLAC__CPUInfo *info)
- {
--#if defined FLAC__CPU_PPC
-+#if (defined(FLAC__CPU_PPC) && defined(HAVE_GETAUXVAL))
- #ifndef PPC_FEATURE2_ARCH_3_00
- #define PPC_FEATURE2_ARCH_3_00                0x00800000
- #endif



Home | Main Index | Thread Index | Old Index