diff --git a/graphics/lux/Makefile b/graphics/lux/Makefile index 2c40f5fac9fc..a3a710a047a9 100644 --- a/graphics/lux/Makefile +++ b/graphics/lux/Makefile @@ -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 # 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 diff --git a/graphics/lux/distinfo b/graphics/lux/distinfo index a7dddb571ff9..c7984ec8661a 100644 --- a/graphics/lux/distinfo +++ b/graphics/lux/distinfo @@ -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 diff --git a/graphics/lux/files/patch-CMakeLists.txt b/graphics/lux/files/patch-CMakeLists.txt index 8fb3a862b519..c94ff78923fa 100644 --- a/graphics/lux/files/patch-CMakeLists.txt +++ b/graphics/lux/files/patch-CMakeLists.txt @@ -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) diff --git a/graphics/lux/files/patch-options.h b/graphics/lux/files/patch-options.h new file mode 100644 index 000000000000..567f5573c2dc --- /dev/null +++ b/graphics/lux/files/patch-options.h @@ -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 ) diff --git a/graphics/lux/pkg-plist b/graphics/lux/pkg-plist new file mode 100644 index 000000000000..c4ddc718b701 --- /dev/null +++ b/graphics/lux/pkg-plist @@ -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