summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/lux/Makefile66
-rw-r--r--graphics/lux/distinfo6
-rw-r--r--graphics/lux/files/patch-CMakeLists.txt58
-rw-r--r--graphics/lux/files/patch-options.h11
-rw-r--r--graphics/lux/pkg-plist5
5 files changed, 90 insertions, 56 deletions
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 <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>
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