[arch-commits] Commit in (6 files)

Daniel Bermond dbermond at archlinux.org
Tue Oct 1 18:10:50 UTC 2019


    Date: Tuesday, October 1, 2019 @ 18:10:50
  Author: dbermond
Revision: 512373

Initial commit of hm

Added:
  hm/
  hm/repos/
  hm/trunk/
  hm/trunk/010-hm-use-arch-flags.patch
  hm/trunk/020-hm-fix-build-with-gcc8.patch
  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(+)

Added: hm/trunk/010-hm-use-arch-flags.patch
===================================================================
--- hm/trunk/010-hm-use-arch-flags.patch	                        (rev 0)
+++ hm/trunk/010-hm-use-arch-flags.patch	2019-10-01 18:10:50 UTC (rev 512373)
@@ -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 (kamp at 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; \

Added: hm/trunk/020-hm-fix-build-with-gcc8.patch
===================================================================
--- hm/trunk/020-hm-fix-build-with-gcc8.patch	                        (rev 0)
+++ hm/trunk/020-hm-fix-build-with-gcc8.patch	2019-10-01 18:10:50 UTC (rev 512373)
@@ -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
+ };
+ 
+ //! \}
+

Added: hm/trunk/PKGBUILD
===================================================================
--- hm/trunk/PKGBUILD	                        (rev 0)
+++ hm/trunk/PKGBUILD	2019-10-01 18:10:50 UTC (rev 512373)
@@ -0,0 +1,40 @@
+# Maintainer: Daniel Bermond <dbermond at 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"
+}



More information about the arch-commits mailing list