graphics/lux: update to 1.1.4

- unbundle noto fonts
 - only ship one copy of icons
 - replace custom .desktop file with upstream's
 - switch to Google highway throughout
 - add options for the various SIMD flavors
 - supply -march=i686 on i386 for a bare minimum of performance

Upstream changes:

 - fix uninitialized variable related crash in light balance
 - processing of panoramas with stacks
 - support of all PTO include and exclude masks
 - support of PTO lens/source image cropping

Full ChangeLog: https://groups.google.com/g/hugin-ptx/c/bfX6Fu3mwy0

PR:	266075
This commit is contained in:
Robert Clausecker 2022-08-27 04:58:53 +02:00 committed by Neel Chauhan
parent 0dfe44f884
commit 5071268477
5 changed files with 90 additions and 56 deletions

View File

@ -1,5 +1,5 @@
PORTNAME= lux
PORTVERSION= 1.1.1
PORTVERSION= 1.1.4
CATEGORIES= graphics
MASTER_SITES= https://bitbucket.org/kfj/pv/get/
PKGNAMESUFFIX= -pv # distinguish from www/lux
@ -8,49 +8,57 @@ DISTNAME= ${COMMIT}
MAINTAINER= fuz@fuz.su
COMMENT= Panorama and image viewer
LICENSE= GPLv3 SANSATION
LICENSE_COMB= multi
LICENSE_NAME_SANSATION= Sansation freeware font family license
LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE
LICENSE_FILE_SANSATION= ${WRKSRC}/Sansation_1.31_ReadMe.txt
LICENSE_PERMS_SANSATION= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_armv6= address space exhaustion in compiler
BROKEN_armv7= address space exhaustion in compiler
LIB_DEPENDS= libvigraimpex.so:graphics/vigra \
LIB_DEPENDS= libhwy.so:devel/highway \
libsfml-window.so:devel/sfml \
libexiv2.so:graphics/exiv2
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 dos2unix pkgconfig tar:bz2
USES= cmake desktop-file-utils dos2unix pkgconfig tar:bz2
DOS2UNIX_FILES= tinyfiledialogs.c
CMAKE_ON= USE_HWY_LIBRARY
CXXFLAGS+= -Wno-deprecated-declarations
CONFLICTS= lux
DESKTOP_ENTRIES= "Lux Panorama Viewer" \
"panorama and image viewer" "lux-pv" "lux" \
"Graphics;ImageProcessing;Photography;Viewer;" \
false
WRKSRC= ${WRKDIR}/kfj-pv-${COMMIT}
COMMIT= 9ec3fe36f96a
PLIST_FILES= bin/lux \
share/icons/hicolor/512x512/apps/lux-pv.png \
share/lux/fonts/Sansation_1.31_ReadMe.txt \
share/lux/fonts/Sansation_Regular.ttf
COMMIT= 402942545a06
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 <bsd.port.pre.mk>
# cannot use CMAKE_ON after bsd.port.pre.mk
.if ${ARCH} == 'amd64' || ${ARCH} == 'i386'
BUILD_DEPENDS= vc>0:devel/vc
CMAKE_ARGS+= -DFLV_SSSE3=ON -DFLV_SSE42=ON
.else
LIB_DEPENDS+= libhwy.so:devel/highway
CMAKE_ARGS+= -DUSE_HWY_LIBRARY=ON -DFLV_NATIVE=ON
# this disables the flavor dispatch code on non-x86
.if ${ARCH} != amd64 && ${ARCH} != i386
CMAKE_ARGS+= -DFLV_NATIVE=ON
.endif
post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps
${INSTALL_DATA} ${WRKSRC}/scripts/PV_512x512x32.png \
${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps/lux-pv.png
pre-configure:
@${REINPLACE_CMD} -e 's,%%GUIFONT%%,${GUIFONT},' ${WRKSRC}/options.h
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1661221714
SHA256 (9ec3fe36f96a.tar.bz2) = 339351a7cb9783292bdf6692f9bbe13001ce3ac4219c38714995c38d1e9dee7e
SIZE (9ec3fe36f96a.tar.bz2) = 895682
TIMESTAMP = 1661566212
SHA256 (402942545a06.tar.bz2) = d266d5cb1308aa033af619eff4e81d0c9e4fec9f406a29177ee519b5d92f36cc
SIZE (402942545a06.tar.bz2) = 1143378

View File

@ -1,4 +1,4 @@
--- CMakeLists.txt.orig 2022-08-22 09:29:31 UTC
--- CMakeLists.txt.orig 2022-08-26 12:57:31 UTC
+++ CMakeLists.txt
@@ -96,8 +96,8 @@ message(STATUS "***** SYSTEM PROCESSOR ${CMAKE_SYSTEM_
set(i86 FALSE)
@ -11,28 +11,38 @@
set(i86 TRUE)
endif()
elseif(WIN32)
@@ -558,24 +558,6 @@ install(FILES Sansation_Regular.ttf Sansation_1.31_Rea
@@ -268,7 +268,7 @@ set(AVX2_FLAGS "${RENDERING_FLAGS} \
# about it and I don't have an AVX512 machine.
find_program(LUX_GITVERSION git)
set(LUX_PACKAGE_RELEASE "UNDEFINED")
-if(LUX_GITVERSION)
- message(STATUS "${LUX_GITVERSION} describe --match ${pv_major}.${pv_minor}.${pv_patch} --tags")
- message(STATUS "WORKING_DIRECTORY = ${CMAKE_SOURCE_DIR}")
- execute_process(COMMAND ${LUX_GITVERSION} describe --match ${pv_major}.${pv_minor}.${pv_patch} --tags
- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
- RESULT_VARIABLE tmp_GIT_RESULT
- OUTPUT_VARIABLE tmp_LUX_PACKAGE_RELEASE
- ERROR_VARIABLE tmp_GIT_ERROR
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- if (tmp_GIT_RESULT EQUAL 0)
- if (tmp_LUX_PACKAGE_RELEASE MATCHES "^${pv_major}.${pv_minor}.${pv_patch}-\([0-9]+\)")
- set(LUX_PACKAGE_RELEASE ${CMAKE_MATCH_1})
- elseif(tmp_LUX_PACKAGE_RELEASE MATCHES "^${pv_major}.${pv_minor}.${pv_patch}")
- set(LUX_PACKAGE_RELEASE 0)
- endif()
- endif()
- message(STATUS "LUX_PACKAGE_RELEASE = ${LUX_PACKAGE_RELEASE}")
-endif()
set(AVX512f_FLAGS "${RENDERING_FLAGS} \
- -mavx512f -march=skx \
+ -mavx512f -march=skylake-avx512 \
-D hn=hn_avx512 -D PV_ARCH=PV_AVX512f \
-D PV_ARCHNAME=\\\"avx512f\\\" \
-D PV_PRIORITY=0 -D PV_VIABILITY=has_avx512f -D FLV_AVX512f")
@@ -553,9 +553,6 @@ install(TARGETS ${_project_name} DESTINATION bin)
# Copy the NotoSans-Regular font and the readme (as required by the license)
# to the platform-specific font directory
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CMAKE_INSTALL_PREFIX})
set(CPACK_SET_DESTDIR "ON")
-install(FILES NotoSans-Regular.ttf noto_font_license.txt DESTINATION
- "${DataDir}/fonts")
-
# KFJ 2022-08-24 simplified package versioning, only using a.b.c
set(LUX_PACKAGE_RELEASE "${pv_major}.${pv_minor}.${pv_patch}")
@@ -618,15 +615,6 @@ install(FILES scripts/512X512/lux.png
install(FILES scripts/1024X1024/lux.png
DESTINATION share/icons/hicolor/1024x1024/apps)
-
-install(FILES scripts/256X256/lux.png
- DESTINATION share/icons/gnome/256x256/apps)
-
-install(FILES scripts/512X512/lux.png
- DESTINATION share/icons/gnome/512x512/apps)
-
-install(FILES scripts/1024X1024/lux.png
- DESTINATION share/icons/gnome/1024x1024/apps)
install(FILES scripts/lux.desktop
DESTINATION share/applications)

View File

@ -0,0 +1,11 @@
--- options.h.orig 2022-08-27 02:26:10 UTC
+++ options.h
@@ -132,7 +132,7 @@ yes_no ( fullscreen , true )
yes_no ( fully_covered , false )
yes_no ( fuse , false )
yes_no ( grey_edge , true )
-option ( gui_font , "" )
+option ( gui_font , "%%GUIFONT%%" )
integer ( gui_extent , 0 )
real ( gui_scale_factor , 0.0 )
yes_no ( hdr_merge , false )

5
graphics/lux/pkg-plist Normal file
View File

@ -0,0 +1,5 @@
bin/lux
share/applications/lux.desktop
share/icons/hicolor/1024x1024/apps/lux.png
share/icons/hicolor/256x256/apps/lux.png
share/icons/hicolor/512x512/apps/lux.png