From 03bf19b20ee2523c82acfb62915c3848c2a7fc9f Mon Sep 17 00:00:00 2001 From: liulihong Date: Tue, 27 Jun 2023 18:02:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0giflib=E6=B5=8B=E8=AF=95patch?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liulihong --- thirdparty/giflib/HPKBUILD | 14 +++++++++++++- thirdparty/giflib/SHA512SUM | 1 + thirdparty/giflib/giflib_oh_test.patch | 16 ++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 thirdparty/giflib/giflib_oh_test.patch diff --git a/thirdparty/giflib/HPKBUILD b/thirdparty/giflib/HPKBUILD index facf2ad6..0543d533 100644 --- a/thirdparty/giflib/HPKBUILD +++ b/thirdparty/giflib/HPKBUILD @@ -18,11 +18,23 @@ buildtools="make" builddir=$pkgname-$pkgver packagename=$builddir.tar.gz +patchflag=true cc= ar= # giflib 采用makefile编译构建,为了保留构建环境(方便测试)。因此同一份源码在解压后分为两份,各自编译互不干扰 prepare() { + # patch说明: + # 原库测试使用head命令,在linux上head支持--bytes参数,但是oh上的head不支持该参数,这里使用等效的参数 -c 来替代 + # oh上面的head -c 命令不支持 例如-20(除了尾部20字节),这里使用busybox中的head命令来替代oh自带的head命令 + if $patchflag + then + cd $builddir + patch -p1 < `pwd`/../giflib_oh_test.patch + # patch只需要打一次,关闭打patch + patchflag=false + cd $OLDPWD + fi cp -rf $builddir $builddir-$ARCH-build cd $builddir-$ARCH-build if [ $ARCH == "armeabi-v7a" ] @@ -60,6 +72,6 @@ check() { } # 清理环境 -cleanbuild(){ +cleanbuild() { rm -rf ${PWD}/$builddir $builddir-armeabi-v7a-build $builddir-arm64-v8a-build #${PWD}/$packagename } diff --git a/thirdparty/giflib/SHA512SUM b/thirdparty/giflib/SHA512SUM index b13c20ac..9e4fd72f 100644 --- a/thirdparty/giflib/SHA512SUM +++ b/thirdparty/giflib/SHA512SUM @@ -1 +1,2 @@ 4550e53c21cb1191a4581e363fc9d0610da53f7898ca8320f0d3ef6711e76bdda2609c2df15dc94c45e28bff8de441f1227ec2da7ea827cb3c0405af4faa4736 giflib-5.2.1.tar.gz +e6ed38e3ece2b4ff0d12e46fc5cd1040a0449053f10d872e8e1fb131f990924912dd00f43e0d67f58bce468b3201c103ea04030475b8635090dfdbf2ca82bc49 giflib_oh_test.patch diff --git a/thirdparty/giflib/giflib_oh_test.patch b/thirdparty/giflib/giflib_oh_test.patch new file mode 100644 index 00000000..3c71a036 --- /dev/null +++ b/thirdparty/giflib/giflib_oh_test.patch @@ -0,0 +1,16 @@ +diff -Naur giflib-5.2.1/tests/makefile giflib-5.2.1_patch/tests/makefile +--- giflib-5.2.1/tests/makefile 2023-06-27 15:35:51.760833048 +0800 ++++ giflib-5.2.1_patch/tests/makefile 2023-06-27 15:37:02.353759342 +0800 +@@ -104,10 +104,10 @@ + + giffix-rebuild: + @echo "Rebuilding giffix test." +- @head --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d >giffixed.ico ++ @busybox head -c -20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d >giffixed.ico + giffix-regress: + @echo "giffix: Testing giffix behavior" +- @head --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d | diff -u giffixed.ico - ++ @busybox head -c -20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d | diff -u giffixed.ico - + + gifinto-regress: + @echo "gifinto: Checking behavior on short files." -- Gitee