Date: Tuesday, October 1, 2019 @ 18:26:02 Author: dbermond Revision: 512377
archrelease: copy trunk to community-x86_64 Added: hm/repos/community-x86_64/ hm/repos/community-x86_64/010-hm-use-arch-flags.patch (from rev 512376, hm/trunk/010-hm-use-arch-flags.patch) hm/repos/community-x86_64/020-hm-fix-build-with-gcc8.patch (from rev 512376, hm/trunk/020-hm-fix-build-with-gcc8.patch) hm/repos/community-x86_64/PKGBUILD (from rev 512376, hm/trunk/PKGBUILD) ----------------------------------+ 010-hm-use-arch-flags.patch | 100 +++++++++++++++++++++++++++++++++++++ 020-hm-fix-build-with-gcc8.patch | 46 +++++++++++++++++ PKGBUILD | 40 ++++++++++++++ 3 files changed, 186 insertions(+) Copied: hm/repos/community-x86_64/010-hm-use-arch-flags.patch (from rev 512376, hm/trunk/010-hm-use-arch-flags.patch) =================================================================== --- community-x86_64/010-hm-use-arch-flags.patch (rev 0) +++ community-x86_64/010-hm-use-arch-flags.patch 2019-10-01 18:26:02 UTC (rev 512377) @@ -0,0 +1,100 @@ +diff -Naurp a/build/linux/common/makefile.base b/build/linux/common/makefile.base +--- a/build/linux/common/makefile.base 2019-06-09 14:04:51.000000000 +0000 ++++ b/build/linux/common/makefile.base 2019-06-09 14:06:58.251352310 +0000 +@@ -46,36 +46,36 @@ endif + ######################################################### + + # default cpp flags for all configurations +-#CPPFLAGS = -Wall $(DEFS) -I$(CURDIR)/$(INC_DIR) $(USER_INC_DIRS) +-CPPFLAGS = $(DEFS) -I$(CURDIR)/$(INC_DIR) $(USER_INC_DIRS) -Wall -Wshadow -Wno-sign-compare -Werror -std=c++11 +-CFLAGS = $(DEFS) -I$(CURDIR)/$(INC_DIR) $(USER_INC_DIRS) -Wall -Wshadow -Wno-sign-compare -Werror ++#CXXFLAGS = -Wall $(DEFS) -I$(CURDIR)/$(INC_DIR) $(USER_INC_DIRS) ++CXXFLAGS += $(DEFS) -I$(CURDIR)/$(INC_DIR) $(USER_INC_DIRS) -Wall -Wshadow -Wno-sign-compare -Werror -std=c++11 ++CFLAGS += $(DEFS) -I$(CURDIR)/$(INC_DIR) $(USER_INC_DIRS) -Wall -Wshadow -Wno-sign-compare -Werror + + ########## + # enforce 32-bit build : 1=yes, 0=no + ########## + M32?= 0 + ifeq ($(M32),1) +-CPPFLAGS+=-m32 ++CXXFLAGS+=-m32 + endif + ########## + + ifeq ($(HIGHBITDEPTH), 1) +-CPPFLAGS+="-DRExt__HIGH_BIT_DEPTH_SUPPORT=1" ++CXXFLAGS+="-DRExt__HIGH_BIT_DEPTH_SUPPORT=1" + endif + + ifeq ($(EXTENSION_360_VIDEO), 1) +- CPPFLAGS+=-DEXTENSION_360_VIDEO=1 ++ CXXFLAGS+=-DEXTENSION_360_VIDEO=1 + else +- CPPFLAGS+=-DEXTENSION_360_VIDEO=0 ++ CXXFLAGS+=-DEXTENSION_360_VIDEO=0 + endif + + # + # debug cpp flags +-DEBUG_CPPFLAGS = -g -D_DEBUG ++DEBUG_CXXFLAGS = -g -D_DEBUG + DEBUG_CFLAGS = -g -D_DEBUG + # + # release cpp +-RELEASE_CPPFLAGS = -O3 -Wuninitialized ++RELEASE_CXXFLAGS = -O3 -Wuninitialized + RELEASE_CFLAGS = -O3 -Wuninitialized + + +@@ -113,7 +113,7 @@ endif + ifeq ($(CONFIG), LIBRARY) + # linker flags for library + # LDFLAGS = $(ALL_LDFLAGS) -shared -Wl,-Bsymbolic +-LDFLAGS = $(ALL_LDFLAGS) -shared ++LDFLAGS += $(ALL_LDFLAGS) -shared + # + # debug linker flags for library + DEBUG_LDFLAGS = -Wl,-soname,lib$(PRJ_NAME)d.so.$(VER) +@@ -124,7 +124,7 @@ RELEASE_LDFLAGS = -Wl,-soname,lib$(PRJ + else + ifeq ($(CONFIG), CONSOLE) + # linker flags for console +-LDFLAGS = $(ALL_LDFLAGS) ++LDFLAGS += $(ALL_LDFLAGS) + # + # debug linker flags for console + DEBUG_LDFLAGS = +@@ -208,28 +208,28 @@ $(OBJ_DIR)/%.d.o: $(SRC_DIR4)/%.asm + # see also: http://make.paulandlesley.org/autodep.html + # 2005-01-25 Steffen Kamp (k...@ient.rwth-aachen.de), RWTH Aachen + define COMPILE_AND_DEPEND_RELEASE +- $(CPP) -c -MMD -MF $(OBJ_DIR)/$*.r.d -MT $(OBJ_DIR)/$*.r.o $(CPPFLAGS) $(RELEASE_CPPFLAGS) -o $@ $(CURDIR)/$< ++ $(CPP) -c -MMD -MF $(OBJ_DIR)/$*.r.d -MT $(OBJ_DIR)/$*.r.o $(CXXFLAGS) $(RELEASE_CXXFLAGS) $(CPPFLAGS) -o $@ $(CURDIR)/$< + @cp $(OBJ_DIR)/$*.r.d $(OBJ_DIR)/$*.r.P; \ + sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ + -e '/^$$/ d' -e 's/$$/ :/' < $(OBJ_DIR)/$*.r.d >> $(OBJ_DIR)/$*.r.P; \ + rm -f $(OBJ_DIR)/$*.r.d + endef + define COMPILE_AND_DEPEND_DEBUG +- $(CPP) -c -MMD -MF $(OBJ_DIR)/$*.d.d -MT $(OBJ_DIR)/$*.d.o $(CPPFLAGS) $(DEBUG_CPPFLAGS) -o $@ $(CURDIR)/$< ++ $(CPP) -c -MMD -MF $(OBJ_DIR)/$*.d.d -MT $(OBJ_DIR)/$*.d.o $(CXXFLAGS) $(DEBUG_CXXFLAGS) $(CPPFLAGS) -o $@ $(CURDIR)/$< + @cp $(OBJ_DIR)/$*.d.d $(OBJ_DIR)/$*.d.P; \ + sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ + -e '/^$$/ d' -e 's/$$/ :/' < $(OBJ_DIR)/$*.d.d >> $(OBJ_DIR)/$*.d.P; \ + rm -f $(OBJ_DIR)/$*.d.d + endef + define COMPILE_AND_DEPEND_RELEASE_C +- $(CC) -c -MMD -MF $(OBJ_DIR)/$*.r.d -MT $(OBJ_DIR)/$*.r.o $(CFLAGS) $(RELEASE_CFLAGS) -o $@ $(CURDIR)/$< ++ $(CC) -c -MMD -MF $(OBJ_DIR)/$*.r.d -MT $(OBJ_DIR)/$*.r.o $(CFLAGS) $(RELEASE_CFLAGS) $(CPPFLAGS) -o $@ $(CURDIR)/$< + @cp $(OBJ_DIR)/$*.r.d $(OBJ_DIR)/$*.r.P; \ + sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ + -e '/^$$/ d' -e 's/$$/ :/' < $(OBJ_DIR)/$*.r.d >> $(OBJ_DIR)/$*.r.P; \ + rm -f $(OBJ_DIR)/$*.r.d + endef + define COMPILE_AND_DEPEND_DEBUG_C +- $(CC) -c -MMD -MF $(OBJ_DIR)/$*.d.d -MT $(OBJ_DIR)/$*.d.o $(CFLAGS) $(DEBUG_CFLAGS) -o $@ $(CURDIR)/$< ++ $(CC) -c -MMD -MF $(OBJ_DIR)/$*.d.d -MT $(OBJ_DIR)/$*.d.o $(CFLAGS) $(DEBUG_CFLAGS) $(CPPFLAGS) -o $@ $(CURDIR)/$< + @cp $(OBJ_DIR)/$*.d.d $(OBJ_DIR)/$*.d.P; \ + sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ + -e '/^$$/ d' -e 's/$$/ :/' < $(OBJ_DIR)/$*.d.d >> $(OBJ_DIR)/$*.d.P; \ Copied: hm/repos/community-x86_64/020-hm-fix-build-with-gcc8.patch (from rev 512376, hm/trunk/020-hm-fix-build-with-gcc8.patch) =================================================================== --- community-x86_64/020-hm-fix-build-with-gcc8.patch (rev 0) +++ community-x86_64/020-hm-fix-build-with-gcc8.patch 2019-10-01 18:26:02 UTC (rev 512377) @@ -0,0 +1,46 @@ +diff --git a/source/Lib/TLibCommon/ContextModel.h b/source/Lib/TLibCommon/ContextModel.h +index 5b9d7629..1ed41c55 100644 +--- a/source/Lib/TLibCommon/ContextModel.h ++++ b/source/Lib/TLibCommon/ContextModel.h +@@ -53,12 +53,16 @@ + // Class definition + // ==================================================================================================================== + ++#define GCC_9_1_0_WARNING_FIX 1 ++ + /// context model class + class ContextModel + { + public: ++#if !GCC_9_1_0_WARNING_FIX + ContextModel () { m_ucState = 0; m_binsCoded = 0; } + ~ContextModel () {} ++#endif + + UChar getState () { return ( m_ucState >> 1 ); } ///< get current state + UChar getMps () { return ( m_ucState & 1 ); } ///< get curret MPS +@@ -90,7 +94,11 @@ public: + UInt getBinsCoded() { return m_binsCoded; } + + private: ++#if GCC_9_1_0_WARNING_FIX ++ UChar m_ucState = 0; ///< internal state variable ++#else + UChar m_ucState; ///< internal state variable ++#endif + + static const UInt m_totalStates = (1 << CONTEXT_STATE_BITS) * 2; //*2 for MPS = [0|1] + static const UChar m_aucNextStateMPS[m_totalStates]; +@@ -99,7 +107,11 @@ private: + #if FAST_BIT_EST + static UChar m_nextState[m_totalStates][2 /*MPS = [0|1]*/]; + #endif ++#if GCC_9_1_0_WARNING_FIX ++ UInt m_binsCoded = 0; ++#else + UInt m_binsCoded; ++#endif + }; + + //! \} + Copied: hm/repos/community-x86_64/PKGBUILD (from rev 512376, hm/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2019-10-01 18:26:02 UTC (rev 512377) @@ -0,0 +1,40 @@ +# Maintainer: Daniel Bermond <dberm...@archlinux.org> + +pkgname=hm +pkgver=16.20 +_rev=4994 +pkgrel=1 +pkgdesc='HEVC Test Model - the reference software for HEVC' +arch=('x86_64') +url='https://hevc.hhi.fraunhofer.de/' +license=('BSD') +depends=('gcc-libs') +makedepends=('nasm') +source=("${pkgname}-${pkgver}.zip"::"https://hevc.hhi.fraunhofer.de/trac/hevc/browser/tags/HM-${pkgver}?rev=${_rev}&format=zip" + '010-hm-use-arch-flags.patch' + '020-hm-fix-build-with-gcc8.patch') +sha256sums=('021ac73a08c23c4053f08636d3a435a1da02a56066f9f6e4710a7afadc154a9e' + '3b95cbc9ed5f29fc2cae75493b438aa0de8eae5a20934d8bba3cff1c5215e2c4' + 'ac9cb3cd816a44f570cbfd16be3d1f8ef1d60694daeabc341acc105fe06aa66f') + +prepare() { + # use Arch Linux build flags + patch -d "HM-${pkgver}" -Np1 -i "${srcdir}/010-hm-use-arch-flags.patch" + + # fix build with gcc8 and later + patch -d "HM-${pkgver}" -Np1 --binary -i "${srcdir}/020-hm-fix-build-with-gcc8.patch" +} + +build() { + # may randomly fail with multiple jobs + make -C "HM-${pkgver}/build/linux" -j1 -f makefile release{,_highbitdepth} +} + +package() { + cd "HM-${pkgver}" + + install -D -m755 bin/* -t "${pkgdir}/usr/bin" + install -D -m644 README -t "${pkgdir}/usr/share/doc/${pkgname}" + install -D -m644 doc/*.pdf -t "${pkgdir}/usr/share/doc/${pkgname}" + install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +}