summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Bermond2018-11-21 16:30:49 +0000
committerDaniel Bermond2018-11-21 16:30:49 +0000
commitf6bd5f58d1151c2dd48dd58ae2270668f55a93a9 (patch)
tree3cd97b363bdc5ce74f07638c2e4df7e29ba1417c
parent1d4ff0908bad6e4e2cfdd637bf347019289da99a (diff)
downloadaur-f6bd5f58d1151c2dd48dd58ae2270668f55a93a9.tar.gz
Use gcc current to build (fixed upstream)
Build was failing when using gcc8. This problem was fixed upstream. References ---------- https://github.com/pkuvcl/davs2/issues/9 https://github.com/pkuvcl/davs2/commit/00ef2c8062a7f7d7265d933676fb5cc60f1ea659
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD11
-rw-r--r--davs2-1.6-gcc8-fix.patch180
3 files changed, 189 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c62b49ad9edb..86fa59b5b4b5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = davs2
pkgdesc = Open-Source encoder of AVS2-P2/IEEE1857.4 video coding standard
pkgver = 1.6
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/pkuvcl/davs2/
arch = i686
arch = x86_64
@@ -13,7 +13,9 @@ pkgbase = davs2
conflicts = libdavs2
replaces = libdavs2
source = davs2-1.6.tar.gz::https://github.com/pkuvcl/davs2/archive/1.6.tar.gz
+ source = davs2-1.6-gcc8-fix.patch
sha256sums = de93800f016cbaf08cb40184a8069050dc625da5240a528155137052d1cf81c8
+ sha256sums = 4bea78a55bf6a34591ae016cee800aa75c3c5b1706724534095cf2a0e9fc6e71
pkgname = davs2
diff --git a/PKGBUILD b/PKGBUILD
index 5823b1763a8b..176c7f884a70 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=davs2
pkgver=1.6
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64')
pkgdesc='Open-Source encoder of AVS2-P2/IEEE1857.4 video coding standard'
url='https://github.com/pkuvcl/davs2/'
@@ -16,14 +16,15 @@ makedepends=('gcc7' 'yasm')
provides=('libdavs2')
conflicts=('libdavs2')
replaces=('libdavs2')
-source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/pkuvcl/${pkgname}/archive/${pkgver}.tar.gz")
-sha256sums=('de93800f016cbaf08cb40184a8069050dc625da5240a528155137052d1cf81c8')
+source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/pkuvcl/${pkgname}/archive/${pkgver}.tar.gz"
+ 'davs2-1.6-gcc8-fix.patch')
+sha256sums=('de93800f016cbaf08cb40184a8069050dc625da5240a528155137052d1cf81c8'
+ '4bea78a55bf6a34591ae016cee800aa75c3c5b1706724534095cf2a0e9fc6e71')
prepare() {
cd "${pkgname}-${pkgver}"
- # use gcc7 (it does not build with gcc8)
- sed -i 's/g++/g++-7/' build/linux/configure
+ patch --binary -Np1 -i "${srcdir}/davs2-1.6-gcc8-fix.patch"
}
build() {
diff --git a/davs2-1.6-gcc8-fix.patch b/davs2-1.6-gcc8-fix.patch
new file mode 100644
index 000000000000..592a8cd3adef
--- /dev/null
+++ b/davs2-1.6-gcc8-fix.patch
@@ -0,0 +1,180 @@
+From 00ef2c8062a7f7d7265d933676fb5cc60f1ea659 Mon Sep 17 00:00:00 2001
+From: Daniel Bermond <danielbermond@yahoo.com>
+Date: Tue, 20 Nov 2018 16:54:25 +0000
+Subject: [PATCH] Make AVX symbols to be strictly visible (fix build with gcc8)
+
+_mm256_insertf128_si256 and _mm256_castsi128_si256 are undeclared
+in the scope of source/common/vec/intrinsic.h, which seems to be
+strictly not permitted by gcc8.
+
+Fixes #9
+---
+ source/common/vec/intrinsic_deblock_avx2.cc | 5 ++---
+ source/common/vec/intrinsic_idct_avx2.cc | 6 +++---
+ source/common/vec/intrinsic_inter_pred.cc | 6 +++---
+ source/common/vec/intrinsic_inter_pred_avx2.cc | 7 ++++---
+ source/common/vec/intrinsic_intra-pred_avx2.cc | 6 +++---
+ source/common/vec/intrinsic_pixel_avx.cc | 6 +++---
+ source/common/vec/intrinsic_sao_avx2.cc | 6 +++---
+ 7 files changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/source/common/vec/intrinsic_deblock_avx2.cc b/source/common/vec/intrinsic_deblock_avx2.cc
+index b87e472..ca9534e 100644
+--- a/source/common/vec/intrinsic_deblock_avx2.cc
++++ b/source/common/vec/intrinsic_deblock_avx2.cc
+@@ -30,15 +30,14 @@
+ * For more information, contact us at sswang @ pku.edu.cn.
+ */
+
+-#include "../common.h"
+-#include "intrinsic.h"
+-
+ #include <mmintrin.h>
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+ #include <smmintrin.h>
+ #include <immintrin.h>
+
++#include "../common.h"
++#include "intrinsic.h"
+
+ #if !HIGH_BIT_DEPTH
+ __m128i c_0_128;
+diff --git a/source/common/vec/intrinsic_idct_avx2.cc b/source/common/vec/intrinsic_idct_avx2.cc
+index 0b40fde..ee5384d 100644
+--- a/source/common/vec/intrinsic_idct_avx2.cc
++++ b/source/common/vec/intrinsic_idct_avx2.cc
+@@ -30,15 +30,15 @@
+ * For more information, contact us at sswang @ pku.edu.cn.
+ */
+
+-#include "../common.h"
+-#include "intrinsic.h"
+-
+ #include <mmintrin.h>
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+ #include <smmintrin.h>
+ #include <immintrin.h>
+
++#include "../common.h"
++#include "intrinsic.h"
++
+ /* disable warnings */
+ #pragma warning(disable:4127) // warning C4127: 条件表达式是常量
+
+diff --git a/source/common/vec/intrinsic_inter_pred.cc b/source/common/vec/intrinsic_inter_pred.cc
+index 46c0da8..55ff6a0 100644
+--- a/source/common/vec/intrinsic_inter_pred.cc
++++ b/source/common/vec/intrinsic_inter_pred.cc
+@@ -30,15 +30,15 @@
+ * For more information, contact us at sswang @ pku.edu.cn.
+ */
+
+-#include "../common.h"
+-#include "intrinsic.h"
+-
+ #include <mmintrin.h>
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+ #include <smmintrin.h>
+ #include <immintrin.h>
+
++#include "../common.h"
++#include "intrinsic.h"
++
+ #if !HIGH_BIT_DEPTH
+ /* ---------------------------------------------------------------------------
+ */
+diff --git a/source/common/vec/intrinsic_inter_pred_avx2.cc b/source/common/vec/intrinsic_inter_pred_avx2.cc
+index 6f35771..05f6957 100644
+--- a/source/common/vec/intrinsic_inter_pred_avx2.cc
++++ b/source/common/vec/intrinsic_inter_pred_avx2.cc
+@@ -30,14 +30,15 @@
+ * For more information, contact us at sswang @ pku.edu.cn.
+ */
+
+-#include "../common.h"
+-#include "intrinsic.h"
+-
+ #include <mmintrin.h>
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+ #include <smmintrin.h>
+ #include <immintrin.h>
++
++#include "../common.h"
++#include "intrinsic.h"
++
+ #pragma warning(disable:4127) // warning C4127: 条件表达式是常量
+
+ #if !HIGH_BIT_DEPTH
+diff --git a/source/common/vec/intrinsic_intra-pred_avx2.cc b/source/common/vec/intrinsic_intra-pred_avx2.cc
+index 6440929..1357bdb 100644
+--- a/source/common/vec/intrinsic_intra-pred_avx2.cc
++++ b/source/common/vec/intrinsic_intra-pred_avx2.cc
+@@ -30,15 +30,15 @@
+ * For more information, contact us at sswang @ pku.edu.cn.
+ */
+
+-#include "../common.h"
+-#include "intrinsic.h"
+-
+ #include <mmintrin.h>
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+ #include <smmintrin.h>
+ #include <immintrin.h>
+
++#include "../common.h"
++#include "intrinsic.h"
++
+ #if !HIGH_BIT_DEPTH
+
+ void intra_pred_ver_avx(pel_t *src, pel_t *dst, int i_dst, int dir_mode, int bsx, int bsy)
+diff --git a/source/common/vec/intrinsic_pixel_avx.cc b/source/common/vec/intrinsic_pixel_avx.cc
+index 813a36f..fba7e46 100644
+--- a/source/common/vec/intrinsic_pixel_avx.cc
++++ b/source/common/vec/intrinsic_pixel_avx.cc
+@@ -30,15 +30,15 @@
+ * For more information, contact us at sswang @ pku.edu.cn.
+ */
+
+-#include "../common.h"
+-#include "intrinsic.h"
+-
+ #include <mmintrin.h>
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+ #include <smmintrin.h>
+ #include <immintrin.h>
+
++#include "../common.h"
++#include "intrinsic.h"
++
+ /* ---------------------------------------------------------------------------
+ */
+ void *davs2_memzero_aligned_c_avx(void *dst, size_t n)
+diff --git a/source/common/vec/intrinsic_sao_avx2.cc b/source/common/vec/intrinsic_sao_avx2.cc
+index 11be4d3..bb0c4aa 100644
+--- a/source/common/vec/intrinsic_sao_avx2.cc
++++ b/source/common/vec/intrinsic_sao_avx2.cc
+@@ -30,15 +30,15 @@
+ * For more information, contact us at sswang @ pku.edu.cn.
+ */
+
+-#include "../common.h"
+-#include "intrinsic.h"
+-
+ #include <mmintrin.h>
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+ #include <smmintrin.h>
+ #include <immintrin.h>
+
++#include "../common.h"
++#include "intrinsic.h"
++
+ #if !HIGH_BIT_DEPTH
+ #ifdef _MSC_VER
+ #pragma warning(disable:4244) // TODO: 修正编译warning