diff --git a/devil/FS70085.patch b/devil/FS70085.patch deleted file mode 100644 index 701d6179d8..0000000000 --- a/devil/FS70085.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -ru DevIL/DevIL/src-IL/src/il_jp2.cpp DevILb/DevIL/src-IL/src/il_jp2.cpp ---- DevIL/DevIL/src-IL/src/il_jp2.cpp 2017-01-02 01:03:56.000000000 +0100 -+++ DevILb/DevIL/src-IL/src/il_jp2.cpp 2021-03-20 09:25:11.500686387 +0100 -@@ -314,13 +314,13 @@ - - - --static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, int cnt) -+static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, unsigned int cnt) - { - obj; - return iread(buf, 1, cnt); - } - --static int iJp2_file_write(jas_stream_obj_t *obj, char *buf, int cnt) -+static int iJp2_file_write(jas_stream_obj_t *obj, const char *buf, unsigned int cnt) - { - obj; - return iwrite(buf, 1, cnt); diff --git a/devil/PKGBUILD b/devil/PKGBUILD index 0ca114cb1a..e493104069 100644 --- a/devil/PKGBUILD +++ b/devil/PKGBUILD @@ -1,11 +1,11 @@ # POWER Maintainer: Alexander Baldeck -# Maintainer: Laurent Carlier +# Maintainer: Laurent Carlier # Contributor: damir # Contributor: TheHoff pkgname=devil pkgver=1.8.0 -pkgrel=5 +pkgrel=6 pkgdesc="Library for reading several different image formats" arch=(x86_64 powerpc64le powerpc riscv64) url="https://sourceforge.net/projects/openil/" @@ -15,10 +15,10 @@ options=('!docs' '!emptydirs') license=('GPL') source=(https://downloads.sourceforge.net/openil/DevIL-$pkgver.tar.gz soversion.patch - FS70085.patch) + jasper.patch) sha256sums=('0075973ee7dd89f0507873e2580ac78336452d29d34a07134b208f44e2feb709' 'f6ef4b428fd68f0fb837af548d20ffa5ca96f3e8e4f57faca8f5a90dc48b0377' - '8cc6dedc65d46b2afd6364c55bdb29e259ad6df32529f2cb515998051fd8f35a') + 'a3e1009e70be5a159250e3ea30d39f5aef1fa23eacece79e72deda51d7200159') prepare() { cd "${srcdir}/DevIL" @@ -26,8 +26,8 @@ prepare() { # Add solib version number to CMakeLists.txt # https://github.com/DentonW/DevIL/pull/50 patch -Np1 -i "${srcdir}/soversion.patch" - - patch -Np1 -i "${srcdir}/FS70085.patch" + # https://github.com/DentonW/DevIL/commit/42a62648e727e9a0217280474546de3ac69cbff1 + patch -Np1 -i "${srcdir}/jasper.patch" } build() { diff --git a/devil/jasper.patch b/devil/jasper.patch new file mode 100644 index 0000000000..f1f048a8b2 --- /dev/null +++ b/devil/jasper.patch @@ -0,0 +1,37 @@ +diff -Nru DevIL/DevIL/src-IL/src/il_jp2.cpp DevILb/DevIL/src-IL/src/il_jp2.cpp +--- DevIL/DevIL/src-IL/src/il_jp2.cpp 2017-01-02 01:03:56.000000000 +0100 ++++ DevILb/DevIL/src-IL/src/il_jp2.cpp 2022-05-13 09:10:05.934188618 +0200 +@@ -313,14 +313,32 @@ + } + + +- ++// Hack to compile against different versions of Jasper which expect ++// slightly different function types for their callbacks. The defined() ++// checks are just looking for sybols that happen to have arrived around ++// the same time as the API change, so no reason they won't break in the ++// future :-( Hopefully by the time it does nobody will care about pre-2.0.20 ++// versions of jasper ++// ++// see: https://github.com/OSGeo/gdal/commit/9ef8e16e27c5fc4c491debe50bf2b7f3e94ed334 ++// https://github.com/DentonW/DevIL/issues/90 ++#if defined(PRIjas_seqent) ++static ssize_t iJp2_file_read(jas_stream_obj_t *obj, char *buf, size_t cnt) ++#else + static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, int cnt) ++#endif + { + obj; + return iread(buf, 1, cnt); + } + ++#if defined(JAS_INCLUDE_JP2_CODEC) ++static ssize_t iJp2_file_write(jas_stream_obj_t *obj, const char *buf, size_t cnt) ++#elif defined(PRIjas_seqent) ++static int iJp2_file_write(jas_stream_obj_t *obj, char *buf, unsigned cnt) ++#else + static int iJp2_file_write(jas_stream_obj_t *obj, char *buf, int cnt) ++#endif + { + obj; + return iwrite(buf, 1, cnt);