From 1440bb9cc7bb0a3337984ea1e372689d75fb9ba4 Mon Sep 17 00:00:00 2001
From: Andreas Wacknitz <A.Wacknitz@gmx.de>
Date: Tue, 07 Nov 2023 18:03:58 +0100
Subject: [PATCH] jasper: update to 4.1.0 & switch to libjpeg8-turbo

---
 components/multimedia/jasper/pkg5                                          |    3 
 components/multimedia/jasper/jasper.p5m                                    |   57 +++++++++---------
 components/multimedia/jasper/manifests/sample-manifest.p5m                 |   54 +++++++++---------
 components/multimedia/jasper/Makefile                                      |   23 +++++--
 components/multimedia/jasper/patches/02-fix-filename-buffer-overflow.patch |   18 +++---
 components/multimedia/jasper/test/results-all.master                       |   19 ++----
 6 files changed, 86 insertions(+), 88 deletions(-)

diff --git a/components/multimedia/jasper/Makefile b/components/multimedia/jasper/Makefile
index 432e144..e5c7401 100644
--- a/components/multimedia/jasper/Makefile
+++ b/components/multimedia/jasper/Makefile
@@ -14,15 +14,16 @@
 # Copyright 2023 Niklas Poslovski
 #
 
-BUILD_STYLE = cmake
+BUILD_STYLE= cmake
+USE_DEFAULT_TEST_TRANSFORMS= yes
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME= jasper
-COMPONENT_VERSION= 4.0.0
+COMPONENT_VERSION= 4.1.0
 COMPONENT_SUMMARY= A free software-based reference implementation of the JPEG-2000 Part-1 CODEC
 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=  sha256:39514e1b53a5333fcff817e19565371f016ea536c36fd2d13a9c4d8da8f0be0c
+COMPONENT_ARCHIVE_HASH=  sha256:ffe1543d87f7ffc5039d2415afd48c314a7cc0b0c750b4982cd881d6ed4b5743
 COMPONENT_PROJECT_URL=	https://www.ece.uvic.ca/~frodo/jasper
 COMPONENT_ARCHIVE_URL=	https://github.com/jasper-software/$(COMPONENT_NAME)/releases/download/version-$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
 COMPONENT_FMRI= codec/jasper
@@ -32,14 +33,20 @@
 
 include $(WS_MAKE_RULES)/common.mk
 
-COMPONENT_TEST_TRANSFORMS += '-e "s/ [0-9].[0-9][0-9] sec//" '
-COMPONENT_TEST_TRANSFORMS += '-e "s/ [0-9][0-9].[0-9][0-9] sec//" '
-COMPONENT_TEST_TRANSFORMS += '-e "s/ [0-9][0-9][0-9].[0-9][0-9] sec//" '
+# build with the distribution preferred libjpeg implementation
+CFLAGS   += $(JPEG_CPPFLAGS) $(JPEG_CFLAGS)
+CXXFLAGS += $(JPEG_CPPFLAGS) $(JPEG_CXXFLAGS)
+LDFLAGS  += $(JPEG_LDFLAGS)
+
+# jpeg-turbo is not detected without this.
+CMAKE_OPTIONS += -DJPEG_LIBRARY=$(JPEG_LIBDIR)/libjpeg.so
+
 unexport SHELLOPTS
 
+COMPONENT_TEST_TRANSFORMS += '-e "/Output/p" '
+
 # Auto-generated dependencies
-REQUIRED_PACKAGES += image/library/libjpeg6
-REQUIRED_PACKAGES += image/library/libjpeg6-ijg
+REQUIRED_PACKAGES += $(JPEG_IMPLEM_PKG)
 REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/math
 REQUIRED_PACKAGES += x11/library/freeglut
diff --git a/components/multimedia/jasper/jasper.p5m b/components/multimedia/jasper/jasper.p5m
index 0f1f904..e040c42 100644
--- a/components/multimedia/jasper/jasper.p5m
+++ b/components/multimedia/jasper/jasper.p5m
@@ -10,8 +10,7 @@
 #
 
 #
-# Copyright 2022 Andreas Wacknitz
-# Copyright 2023 Niklas Poslovski
+# Copyright 2023 Andreas Wacknitz
 #
 
 set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
@@ -78,37 +77,37 @@
 file path=usr/share/doc/JasPer/html/codecs.html
 file path=usr/share/doc/JasPer/html/comp.png
 file path=usr/share/doc/JasPer/html/deprecated.html
-file path=usr/share/doc/JasPer/html/dir_038edec2bb9b81aab197b4bdfc6cc03f.html
-file path=usr/share/doc/JasPer/html/dir_038edec2bb9b81aab197b4bdfc6cc03f.js
-file path=usr/share/doc/JasPer/html/dir_03adf8d2d4e99c60c69bfb7e3599f661.html
-file path=usr/share/doc/JasPer/html/dir_03adf8d2d4e99c60c69bfb7e3599f661.js
-file path=usr/share/doc/JasPer/html/dir_1147524d86ce33670e8f5381499f7fc8.html
-file path=usr/share/doc/JasPer/html/dir_1a8f714735c95229ba4697ce826d60ab.html
-file path=usr/share/doc/JasPer/html/dir_1a8f714735c95229ba4697ce826d60ab.js
-file path=usr/share/doc/JasPer/html/dir_284c14e95f5a3eb9a9c9fc338f3a12a5.html
-file path=usr/share/doc/JasPer/html/dir_284c14e95f5a3eb9a9c9fc338f3a12a5.js
-file path=usr/share/doc/JasPer/html/dir_3e8250277e215eecf7c0d2f4e6c651a6.html
-file path=usr/share/doc/JasPer/html/dir_3e8250277e215eecf7c0d2f4e6c651a6.js
+file path=usr/share/doc/JasPer/html/dir_115acbdfd6b9cdcf033e9509250afc3c.html
+file path=usr/share/doc/JasPer/html/dir_115acbdfd6b9cdcf033e9509250afc3c.js
+file path=usr/share/doc/JasPer/html/dir_41f5b8a5c79af37d586d9bc79c9cd0df.html
+file path=usr/share/doc/JasPer/html/dir_41f5b8a5c79af37d586d9bc79c9cd0df.js
 file path=usr/share/doc/JasPer/html/dir_4fef79e7177ba769987a8da36c892c5f.html
-file path=usr/share/doc/JasPer/html/dir_69e68ba3be9d573248a88d667e233729.html
+file path=usr/share/doc/JasPer/html/dir_607ab2d1771b02a1d041438be8765d65.html
+file path=usr/share/doc/JasPer/html/dir_607ab2d1771b02a1d041438be8765d65.js
 file path=usr/share/doc/JasPer/html/dir_6a12105eecb15b0b2b31ba0fad96c427.html
 file path=usr/share/doc/JasPer/html/dir_7bf3880f9d86dc277e5b6247504c3cda.html
-file path=usr/share/doc/JasPer/html/dir_7c08f9ddcf9e07728caf490751b420d9.html
-file path=usr/share/doc/JasPer/html/dir_a790a732db741afa89e80a4e636d6bd3.html
-file path=usr/share/doc/JasPer/html/dir_a790a732db741afa89e80a4e636d6bd3.js
-file path=usr/share/doc/JasPer/html/dir_a8498edcc47f308ec529df7a8f9e970c.html
-file path=usr/share/doc/JasPer/html/dir_a8498edcc47f308ec529df7a8f9e970c.js
-file path=usr/share/doc/JasPer/html/dir_cf54ba38c58a99a54af79c75e9e6c034.html
-file path=usr/share/doc/JasPer/html/dir_e1123984d0ce8f1c96efddea6a3f1f67.html
-file path=usr/share/doc/JasPer/html/dir_e198c2738ce7372970869542ed545892.html
-file path=usr/share/doc/JasPer/html/dir_e198c2738ce7372970869542ed545892.js
-file path=usr/share/doc/JasPer/html/dir_e7d0b93f029da0df9d242f7ec62078b3.html
-file path=usr/share/doc/JasPer/html/dir_e7d0b93f029da0df9d242f7ec62078b3.js
+file path=usr/share/doc/JasPer/html/dir_7f74e9f07fad2eb9def631f0c9529966.html
+file path=usr/share/doc/JasPer/html/dir_7fc22a0ccbbce8630ad5115378ba6c1a.html
+file path=usr/share/doc/JasPer/html/dir_88c3806482c0c03a9558f6323e058dbf.html
+file path=usr/share/doc/JasPer/html/dir_88c3806482c0c03a9558f6323e058dbf.js
+file path=usr/share/doc/JasPer/html/dir_8ada027b9412aec0e842d18ae3a39eb5.html
+file path=usr/share/doc/JasPer/html/dir_8ada027b9412aec0e842d18ae3a39eb5.js
+file path=usr/share/doc/JasPer/html/dir_90fc93f4891157bbc739d2e05a22bc3e.html
+file path=usr/share/doc/JasPer/html/dir_aaf77c6f611e8b08aee33388cfa52876.html
+file path=usr/share/doc/JasPer/html/dir_aaf77c6f611e8b08aee33388cfa52876.js
+file path=usr/share/doc/JasPer/html/dir_adffbdb49eae57e455be48c86e32a89d.html
+file path=usr/share/doc/JasPer/html/dir_adffbdb49eae57e455be48c86e32a89d.js
+file path=usr/share/doc/JasPer/html/dir_bde357a9998451cbe254b789912aa29e.html
+file path=usr/share/doc/JasPer/html/dir_bde357a9998451cbe254b789912aa29e.js
+file path=usr/share/doc/JasPer/html/dir_c6d6954701a1e789bbffd78cb7e34a87.html
+file path=usr/share/doc/JasPer/html/dir_d9941e98d964e880ad19e7025efb7cf6.html
+file path=usr/share/doc/JasPer/html/dir_d9941e98d964e880ad19e7025efb7cf6.js
+file path=usr/share/doc/JasPer/html/dir_e5343c90db4c6cb9c25e5589df95b774.html
+file path=usr/share/doc/JasPer/html/dir_e5343c90db4c6cb9c25e5589df95b774.js
 file path=usr/share/doc/JasPer/html/dir_e982c19275fbf0991a0c54f0bc5dbc8e.html
-file path=usr/share/doc/JasPer/html/dir_ea7e3dc0dc60fee8a722e5517e0ccb9c.html
-file path=usr/share/doc/JasPer/html/dir_ea7e3dc0dc60fee8a722e5517e0ccb9c.js
-file path=usr/share/doc/JasPer/html/dir_ee4a4fa2ee4134a3087d447cfb2f733b.html
-file path=usr/share/doc/JasPer/html/dir_ee4a4fa2ee4134a3087d447cfb2f733b.js
+file path=usr/share/doc/JasPer/html/dir_ee2de83a7e2ab6e1950606d41bb96475.html
+file path=usr/share/doc/JasPer/html/dir_ee2de83a7e2ab6e1950606d41bb96475.js
+file path=usr/share/doc/JasPer/html/dir_f5b6a56fa30832fb3ff03d79f98e714b.html
 file path=usr/share/doc/JasPer/html/doc.svg
 file path=usr/share/doc/JasPer/html/docd.svg
 file path=usr/share/doc/JasPer/html/doxygen.css
diff --git a/components/multimedia/jasper/manifests/sample-manifest.p5m b/components/multimedia/jasper/manifests/sample-manifest.p5m
index 475dc75..70c2537 100644
--- a/components/multimedia/jasper/manifests/sample-manifest.p5m
+++ b/components/multimedia/jasper/manifests/sample-manifest.p5m
@@ -75,37 +75,37 @@
 file path=usr/share/doc/JasPer/html/codecs.html
 file path=usr/share/doc/JasPer/html/comp.png
 file path=usr/share/doc/JasPer/html/deprecated.html
-file path=usr/share/doc/JasPer/html/dir_038edec2bb9b81aab197b4bdfc6cc03f.html
-file path=usr/share/doc/JasPer/html/dir_038edec2bb9b81aab197b4bdfc6cc03f.js
-file path=usr/share/doc/JasPer/html/dir_03adf8d2d4e99c60c69bfb7e3599f661.html
-file path=usr/share/doc/JasPer/html/dir_03adf8d2d4e99c60c69bfb7e3599f661.js
-file path=usr/share/doc/JasPer/html/dir_1147524d86ce33670e8f5381499f7fc8.html
-file path=usr/share/doc/JasPer/html/dir_1a8f714735c95229ba4697ce826d60ab.html
-file path=usr/share/doc/JasPer/html/dir_1a8f714735c95229ba4697ce826d60ab.js
-file path=usr/share/doc/JasPer/html/dir_284c14e95f5a3eb9a9c9fc338f3a12a5.html
-file path=usr/share/doc/JasPer/html/dir_284c14e95f5a3eb9a9c9fc338f3a12a5.js
-file path=usr/share/doc/JasPer/html/dir_3e8250277e215eecf7c0d2f4e6c651a6.html
-file path=usr/share/doc/JasPer/html/dir_3e8250277e215eecf7c0d2f4e6c651a6.js
+file path=usr/share/doc/JasPer/html/dir_115acbdfd6b9cdcf033e9509250afc3c.html
+file path=usr/share/doc/JasPer/html/dir_115acbdfd6b9cdcf033e9509250afc3c.js
+file path=usr/share/doc/JasPer/html/dir_41f5b8a5c79af37d586d9bc79c9cd0df.html
+file path=usr/share/doc/JasPer/html/dir_41f5b8a5c79af37d586d9bc79c9cd0df.js
 file path=usr/share/doc/JasPer/html/dir_4fef79e7177ba769987a8da36c892c5f.html
-file path=usr/share/doc/JasPer/html/dir_69e68ba3be9d573248a88d667e233729.html
+file path=usr/share/doc/JasPer/html/dir_607ab2d1771b02a1d041438be8765d65.html
+file path=usr/share/doc/JasPer/html/dir_607ab2d1771b02a1d041438be8765d65.js
 file path=usr/share/doc/JasPer/html/dir_6a12105eecb15b0b2b31ba0fad96c427.html
 file path=usr/share/doc/JasPer/html/dir_7bf3880f9d86dc277e5b6247504c3cda.html
-file path=usr/share/doc/JasPer/html/dir_7c08f9ddcf9e07728caf490751b420d9.html
-file path=usr/share/doc/JasPer/html/dir_a790a732db741afa89e80a4e636d6bd3.html
-file path=usr/share/doc/JasPer/html/dir_a790a732db741afa89e80a4e636d6bd3.js
-file path=usr/share/doc/JasPer/html/dir_a8498edcc47f308ec529df7a8f9e970c.html
-file path=usr/share/doc/JasPer/html/dir_a8498edcc47f308ec529df7a8f9e970c.js
-file path=usr/share/doc/JasPer/html/dir_cf54ba38c58a99a54af79c75e9e6c034.html
-file path=usr/share/doc/JasPer/html/dir_e1123984d0ce8f1c96efddea6a3f1f67.html
-file path=usr/share/doc/JasPer/html/dir_e198c2738ce7372970869542ed545892.html
-file path=usr/share/doc/JasPer/html/dir_e198c2738ce7372970869542ed545892.js
-file path=usr/share/doc/JasPer/html/dir_e7d0b93f029da0df9d242f7ec62078b3.html
-file path=usr/share/doc/JasPer/html/dir_e7d0b93f029da0df9d242f7ec62078b3.js
+file path=usr/share/doc/JasPer/html/dir_7f74e9f07fad2eb9def631f0c9529966.html
+file path=usr/share/doc/JasPer/html/dir_7fc22a0ccbbce8630ad5115378ba6c1a.html
+file path=usr/share/doc/JasPer/html/dir_88c3806482c0c03a9558f6323e058dbf.html
+file path=usr/share/doc/JasPer/html/dir_88c3806482c0c03a9558f6323e058dbf.js
+file path=usr/share/doc/JasPer/html/dir_8ada027b9412aec0e842d18ae3a39eb5.html
+file path=usr/share/doc/JasPer/html/dir_8ada027b9412aec0e842d18ae3a39eb5.js
+file path=usr/share/doc/JasPer/html/dir_90fc93f4891157bbc739d2e05a22bc3e.html
+file path=usr/share/doc/JasPer/html/dir_aaf77c6f611e8b08aee33388cfa52876.html
+file path=usr/share/doc/JasPer/html/dir_aaf77c6f611e8b08aee33388cfa52876.js
+file path=usr/share/doc/JasPer/html/dir_adffbdb49eae57e455be48c86e32a89d.html
+file path=usr/share/doc/JasPer/html/dir_adffbdb49eae57e455be48c86e32a89d.js
+file path=usr/share/doc/JasPer/html/dir_bde357a9998451cbe254b789912aa29e.html
+file path=usr/share/doc/JasPer/html/dir_bde357a9998451cbe254b789912aa29e.js
+file path=usr/share/doc/JasPer/html/dir_c6d6954701a1e789bbffd78cb7e34a87.html
+file path=usr/share/doc/JasPer/html/dir_d9941e98d964e880ad19e7025efb7cf6.html
+file path=usr/share/doc/JasPer/html/dir_d9941e98d964e880ad19e7025efb7cf6.js
+file path=usr/share/doc/JasPer/html/dir_e5343c90db4c6cb9c25e5589df95b774.html
+file path=usr/share/doc/JasPer/html/dir_e5343c90db4c6cb9c25e5589df95b774.js
 file path=usr/share/doc/JasPer/html/dir_e982c19275fbf0991a0c54f0bc5dbc8e.html
-file path=usr/share/doc/JasPer/html/dir_ea7e3dc0dc60fee8a722e5517e0ccb9c.html
-file path=usr/share/doc/JasPer/html/dir_ea7e3dc0dc60fee8a722e5517e0ccb9c.js
-file path=usr/share/doc/JasPer/html/dir_ee4a4fa2ee4134a3087d447cfb2f733b.html
-file path=usr/share/doc/JasPer/html/dir_ee4a4fa2ee4134a3087d447cfb2f733b.js
+file path=usr/share/doc/JasPer/html/dir_ee2de83a7e2ab6e1950606d41bb96475.html
+file path=usr/share/doc/JasPer/html/dir_ee2de83a7e2ab6e1950606d41bb96475.js
+file path=usr/share/doc/JasPer/html/dir_f5b6a56fa30832fb3ff03d79f98e714b.html
 file path=usr/share/doc/JasPer/html/doc.svg
 file path=usr/share/doc/JasPer/html/docd.svg
 file path=usr/share/doc/JasPer/html/doxygen.css
diff --git a/components/multimedia/jasper/patches/02-fix-filename-buffer-overflow.patch b/components/multimedia/jasper/patches/02-fix-filename-buffer-overflow.patch
index e95ed9c..0ccfe26 100644
--- a/components/multimedia/jasper/patches/02-fix-filename-buffer-overflow.patch
+++ b/components/multimedia/jasper/patches/02-fix-filename-buffer-overflow.patch
@@ -3,17 +3,17 @@
 Author: Roland Stigge <stigge@antcom.de>
 Bug-Debian: http://bugs.debian.org/645118
 
---- a/src/libjasper/include/jasper/jas_stream.h
-+++ b/src/libjasper/include/jasper/jas_stream.h
+--- jasper-4.1.0/src/libjasper/include/jasper/jas_stream.h.orig	2023-11-05 07:24:51.000000000 +0100
++++ jasper-4.1.0/src/libjasper/include/jasper/jas_stream.h	2023-11-07 07:25:12.340731017 +0100
 @@ -77,6 +77,7 @@
- #include <jasper/jas_config.h>
+ #include <jasper/jas_config.h> /* IWYU pragma: export */
  
  #include <stdio.h>
 +#include <limits.h>
  #if defined(JAS_HAVE_FCNTL_H)
  #include <fcntl.h>
  #endif
-@@ -99,6 +100,12 @@ extern "C" {
+@@ -100,6 +101,12 @@
  #define O_BINARY	0
  #endif
  
@@ -26,12 +26,12 @@
  /*
   * Stream open flags.
   */
-@@ -251,7 +258,7 @@ typedef struct {
- typedef struct {
- 	int fd;
- 	int flags;
+@@ -261,7 +268,7 @@
+ #if defined(JAS_WASI_LIBC)
+ #define L_tmpnam 4096
+ #endif
 -	char pathname[L_tmpnam + 1];
 +	char pathname[JAS_PATH_MAX + 1];
  } jas_stream_fileobj_t;
  
- #define	JAS_STREAM_FILEOBJ_DELONCLOSE	0x01
+ /* Delete underlying file object upon stream close. */
diff --git a/components/multimedia/jasper/pkg5 b/components/multimedia/jasper/pkg5
index 6eb5b9a..27c8e4b 100644
--- a/components/multimedia/jasper/pkg5
+++ b/components/multimedia/jasper/pkg5
@@ -1,7 +1,6 @@
 {
     "dependencies": [
-        "image/library/libjpeg6",
-        "image/library/libjpeg6-ijg",
+        "image/library/libjpeg8-turbo",
         "system/library",
         "system/library/math",
         "x11/library/freeglut",
diff --git a/components/multimedia/jasper/test/results-all.master b/components/multimedia/jasper/test/results-all.master
index 4412611..631dec6 100644
--- a/components/multimedia/jasper/test/results-all.master
+++ b/components/multimedia/jasper/test/results-all.master
@@ -1,23 +1,16 @@
-Test project $(@D)
     Start 1: run_test_imginfo
-1/6 Test #1: run_test_imginfo .................   Passed   
+1/6 Test #1: run_test_imginfo .................   Passed    
     Start 2: run_test_imgcmp
-2/6 Test #2: run_test_imgcmp ..................   Passed   
+2/6 Test #2: run_test_imgcmp ..................   Passed    
     Start 3: run_test_1
-3/6 Test #3: run_test_1 .......................   Passed   
+3/6 Test #3: run_test_1 .......................   Passed    
     Start 4: run_test_2
-4/6 Test #4: run_test_2 .......................   Passed   
+4/6 Test #4: run_test_2 .......................   Passed    
     Start 5: run_test_3
-5/6 Test #5: run_test_3 .......................***Failed  
+5/6 Test #5: run_test_3 .......................***Failed   
     Start 6: run_test_5
-6/6 Test #6: run_test_5 .......................   Passed  
-
+6/6 Test #6: run_test_5 .......................   Passed   
 83% tests passed, 1 tests failed out of 6
-
-Total Test time (real) = 
-
-The following tests FAILED:
 	  5 - run_test_3 (Failed)
-Errors while running CTest
 Output from these tests are in: $(@D)/Testing/Temporary/LastTest.log
 Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.

--
Gitblit v1.9.3