diff --git a/graphics/lux/Makefile b/graphics/lux/Makefile index ced6efe19ce9..884cc0591d6c 100644 --- a/graphics/lux/Makefile +++ b/graphics/lux/Makefile @@ -1,65 +1,65 @@ 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 DISTNAME= ${COMMIT} MAINTAINER= fuz@FreeBSD.org COMMENT= Panorama and image viewer WWW= https://bitbucket.org/kfj/pv LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_armv6= address space exhaustion in compiler BROKEN_armv7= address space exhaustion in compiler LIB_DEPENDS= libhwy.so:devel/highway \ libsfml-window.so:devel/sfml \ libexiv2.so:graphics/exiv2 \ libvigraimpex.so:graphics/vigra RUN_DEPENDS= ${GUIFONT}:x11-fonts/noto-basic GUIFONT= ${LOCALBASE}/share/fonts/noto/NotoSans-Regular.ttf USES= cmake desktop-file-utils dos2unix pkgconfig tar:bz2 DOS2UNIX_FILES= tinyfiledialogs.c CMAKE_ON= USE_HWY_LIBRARY CXXFLAGS+= -Wno-deprecated-declarations CONFLICTS= lux WRKSRC= ${WRKDIR}/kfj-pv-${COMMIT} COMMIT= f49809a01243 OPTIONS_DEFINE_amd64= SSSE3 SSE42 AVX AVX2 AVX512 OPTIONS_DEFINE_i386= SSE2 SSSE3 SSE42 AVX AVX2 AVX512 OPTIONS_DEFAULT_amd64= SSSE3 SSE42 AVX AVX2 AVX512 OPTIONS_DEFAULT_i386= SSSE3 SSE42 AVX AVX2 AVX512 SSE2_DESC= build port for Pentium 4 or newer SSSE3_DESC= support SSSE3 flavor SSE42_DESC= support SSE4.2 flavor AVX_DESC= support AVX flavor AVX2_DESC= support AVX2 flavor AVX512_DESC= support AVX-512F flavor SSE2_CXXFLAGS_OFF= ${${OSVERSION}>=1300000:?-march=i686:} SSE2_CXXFLAGS= -march=pentium4 SSSE3_CMAKE_BOOL= FLV_SSSE3 SSE42_CMAKE_BOOL= FLV_SSE42 AVX_CMAKE_BOOL= FLV_AVX AVX2_CMAKE_BOOL= FLV_AVX2 AVX512_CMAKE_BOOL= FLV_AVX512f .include # cannot use CMAKE_ON after bsd.port.pre.mk # this disables the flavor dispatch code on non-x86 .if ${ARCH} != amd64 && ${ARCH} != i386 CMAKE_ARGS+= -DFLV_NATIVE=ON .endif pre-configure: @${REINPLACE_CMD} -e 's,%%GUIFONT%%,${GUIFONT},' ${WRKSRC}/options.h .include 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" ;