git: 68ac895fbe4e - main - graphics/lux: make compatible with exiv2 0.28

From: Matthias Andree <mandree_at_FreeBSD.org>
Date: Sun, 09 Jul 2023 22:09:50 UTC
The branch main has been updated by mandree:

URL: https://cgit.FreeBSD.org/ports/commit/?id=68ac895fbe4ea0f7ea13195cbcff7b3117612f41

commit 68ac895fbe4ea0f7ea13195cbcff7b3117612f41
Author:     Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2023-07-02 13:39:42 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2023-07-09 22:08:12 +0000

    graphics/lux: make compatible with exiv2 0.28
    
    PR:             282311
---
 graphics/lux/Makefile                         |   2 +-
 graphics/lux/files/patch-pv__metadata.h       | 141 ++++++++++++++++++++++++++
 graphics/lux/files/patch-pv__no__rendering.cc |  11 ++
 3 files changed, 153 insertions(+), 1 deletion(-)

diff --git a/graphics/lux/Makefile b/graphics/lux/Makefile
index ced6efe19ce9..884cc0591d6c 100644
--- a/graphics/lux/Makefile
+++ b/graphics/lux/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	lux
 PORTVERSION=	1.1.6
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	graphics
 MASTER_SITES=	https://bitbucket.org/kfj/pv/get/
 PKGNAMESUFFIX=	-pv	# distinguish from www/lux
diff --git a/graphics/lux/files/patch-pv__metadata.h b/graphics/lux/files/patch-pv__metadata.h
new file mode 100644
index 000000000000..2ecb3de3a524
--- /dev/null
+++ b/graphics/lux/files/patch-pv__metadata.h
@@ -0,0 +1,141 @@
+--- pv_metadata.h.orig	2023-03-27 07:19:09 UTC
++++ pv_metadata.h
+@@ -234,7 +234,7 @@ struct metadata_type
+       std::cout << result->key() << ": "
+                 << result->value() << std::endl ;
+ 
+-      _result = result->value().toLong() ;
++      _result = result->value().toInt64() ;
+       return true ;
+     }
+     return false ;
+@@ -665,7 +665,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_uncropped_width = result->value().toLong() ;
++              lux_uncropped_width = result->value().toInt64() ;
+             }
+ 
+             lux_uncropped_height = -1 ;
+@@ -673,7 +673,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_uncropped_height = result->value().toLong() ;
++              lux_uncropped_height = result->value().toInt64() ;
+             }
+ 
+             lux_cropping_active = false ;
+@@ -681,7 +681,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_cropping_active = result->value().toLong() ;
++              lux_cropping_active = result->value().toInt64() ;
+             }
+ 
+             lux_cropped_width = -1 ;
+@@ -689,7 +689,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_cropped_width = result->value().toLong() ;
++              lux_cropped_width = result->value().toInt64() ;
+             }
+ 
+             lux_cropped_height = -1 ;
+@@ -697,7 +697,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_cropped_height = result->value().toLong() ;
++              lux_cropped_height = result->value().toInt64() ;
+             }
+ 
+             lux_crop_x0 = -1 ;
+@@ -705,7 +705,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_crop_x0 = result->value().toLong() ;
++              lux_crop_x0 = result->value().toInt64() ;
+             }
+ 
+             lux_crop_y0 = -1 ;
+@@ -713,7 +713,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_crop_y0 = result->value().toLong() ;
++              lux_crop_y0 = result->value().toInt64() ;
+             }
+ 
+             lux_crop_x1 = -1 ;
+@@ -721,7 +721,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_crop_x1 = result->value().toLong() ;
++              lux_crop_x1 = result->value().toInt64() ;
+             }
+ 
+             lux_crop_y1 = -1 ;
+@@ -729,7 +729,7 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              lux_crop_y1 = result->value().toLong() ;
++              lux_crop_y1 = result->value().toInt64() ;
+             }
+ 
+             if ( lux_cropping_active )
+@@ -790,42 +790,42 @@ struct metadata_type
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              FullPanoHeightPixels = result->value().toLong() ;
++              FullPanoHeightPixels = result->value().toInt64() ;
+             }
+ 
+             key = Exiv2::XmpKey ( std::string ( "Xmp.GPano.FullPanoWidthPixels" ) ) ;
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              FullPanoWidthPixels = result->value().toLong() ;
++              FullPanoWidthPixels = result->value().toInt64() ;
+             }
+ 
+             key = Exiv2::XmpKey ( std::string ( "Xmp.GPano.CroppedAreaImageHeightPixels" ) ) ;
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              CroppedAreaImageHeightPixels = result->value().toLong() ;
++              CroppedAreaImageHeightPixels = result->value().toInt64() ;
+             }
+ 
+             key = Exiv2::XmpKey ( std::string ( "Xmp.GPano.CroppedAreaImageWidthPixels" ) ) ;
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              CroppedAreaImageWidthPixels = result->value().toLong() ;
++              CroppedAreaImageWidthPixels = result->value().toInt64() ;
+             }
+ 
+             key = Exiv2::XmpKey ( std::string ( "Xmp.GPano.CroppedAreaLeftPixels" ) ) ;
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              CroppedAreaLeftPixels = result->value().toLong() ;
++              CroppedAreaLeftPixels = result->value().toInt64() ;
+             }
+ 
+             key = Exiv2::XmpKey ( std::string ( "Xmp.GPano.CroppedAreaTopPixels" ) ) ;
+             result = xmpData.findKey ( key ) ;
+             if ( result != xmpData.end() )
+             {
+-              CroppedAreaTopPixels = result->value().toLong() ;
++              CroppedAreaTopPixels = result->value().toInt64() ;
+             }
+ 
+             // currently we only process GPano data if projection is equirectangular
diff --git a/graphics/lux/files/patch-pv__no__rendering.cc b/graphics/lux/files/patch-pv__no__rendering.cc
new file mode 100644
index 000000000000..b372aa3e64fa
--- /dev/null
+++ b/graphics/lux/files/patch-pv__no__rendering.cc
@@ -0,0 +1,11 @@
+--- pv_no_rendering.cc.orig	2023-03-27 07:19:09 UTC
++++ pv_no_rendering.cc
+@@ -8828,7 +8828,7 @@ void store_rendered_image ( const job_type * p_job ,
+  
+       image->writeMetadata();
+     }
+-    catch ( Exiv2::AnyError& e )
++    catch ( Exiv2::Error& e )
+     {
+       std::cerr << "Caught Exiv2 exception '"
+                 << e << "'\n" ;