mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 14:38:51 +02:00
flif, new recipe (#3684)
This commit is contained in:
committed by
waddlesplash
parent
9c7855826b
commit
725eb648a6
123
media-libs/flif/flif-20181026.recipe
Normal file
123
media-libs/flif/flif-20181026.recipe
Normal file
@@ -0,0 +1,123 @@
|
||||
SUMMARY="Free Lossless Image Format"
|
||||
DESCRIPTION="FLIF is a lossless image format based on MANIAC compression. \
|
||||
MANIAC (Meta-Adaptive Near-zero Integer Arithmetic Coding) is a variant of \
|
||||
CABAC (context-adaptive binary arithmetic coding), where the contexts are \
|
||||
nodes of decision trees which are dynamically learned at encode time.
|
||||
|
||||
FLIF outperforms PNG, FFV1, lossless WebP, lossless BPG and lossless \
|
||||
JPEG2000 in terms of compression ratio.
|
||||
|
||||
Moreover, FLIF supports a form of progressive interlacing (essentially a \
|
||||
generalization/improvement of PNG's Adam7) which means that any prefix \
|
||||
(e.g. partial download) of a compressed file can be used as a reasonable \
|
||||
lossy encoding of the entire image."
|
||||
HOMEPAGE="https://flif.info/"
|
||||
COPYRIGHT="2016 Jon Sneyers
|
||||
Pieter Wuille"
|
||||
LICENSE="Apache v2
|
||||
GNU GPL v3
|
||||
GNU LGPL v3"
|
||||
REVISION="1"
|
||||
srcGitRev="74ea92bf1ab2db18ae6d2a521dff946fcc679618"
|
||||
SOURCE_URI="https://github.com/FLIF-hub/FLIF/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="aeeb4d24f19204f2b0cecc41ee1ebdda1c1ae730f0c6fa4969f67aab7e5eccac"
|
||||
SOURCE_FILENAME="flif-$portVersion-$srcGitRev.tar.gz"
|
||||
SOURCE_DIR="FLIF-$srcGitRev"
|
||||
PATCHES="flif-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
flif$secondaryArchSuffix = $portVersion
|
||||
cmd:apng2flif$secondaryArchSuffix = $portVersion
|
||||
cmd:dflif$secondaryArchSuffix = $portVersion
|
||||
cmd:flif$secondaryArchSuffix = $portVersion
|
||||
cmd:gif2flif$secondaryArchSuffix = $portVersion
|
||||
lib:libflif$secondaryArchSuffix = 0
|
||||
lib:libflif_dec$secondaryArchSuffix = 0
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libltdl$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
flif${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libflif$secondaryArchSuffix = 0
|
||||
devel:libflif_dec$secondaryArchSuffix = 0
|
||||
"
|
||||
REQUIRES_devel="
|
||||
flif$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
PROVIDES_tools="
|
||||
flif${secondaryArchSuffix}_tools
|
||||
cmd:viewflif$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES_tools="
|
||||
flif$secondaryArchSuffix == $portVersion base
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libSDL2_2.0$secondaryArchSuffix
|
||||
lib:libltdl$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libSDL2_2.0$secondaryArchSuffix
|
||||
devel:libltdl$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:convert$secondaryArchSuffix
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cd src
|
||||
cmake . $cmakeDirArgs
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd src
|
||||
make install
|
||||
|
||||
prepareInstalledDevelLibs libflif libflif_dec
|
||||
|
||||
mkdir -p "$developLibDir"/pkgconfig
|
||||
cat > "$developLibDir"/pkgconfig/flif.pc << EOF
|
||||
prefix=${prefix}
|
||||
exec_prefix=${prefix}
|
||||
libdir=${libDir}
|
||||
includedir=${includeDir}
|
||||
|
||||
Name: flif
|
||||
Description: Free Lossless Image Format
|
||||
Version: ${portVersion}
|
||||
Libs: -L${developLibDir} -lflif -lflif_dec
|
||||
Cflags: -I${includeDir}
|
||||
EOF
|
||||
|
||||
packageEntries devel \
|
||||
$developDir
|
||||
packageEntries tools \
|
||||
$binDir/viewflif
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
cd src
|
||||
make test
|
||||
}
|
||||
132
media-libs/flif/patches/flif-20181026.patchset
Normal file
132
media-libs/flif/patches/flif-20181026.patchset
Normal file
@@ -0,0 +1,132 @@
|
||||
From 5254fa8b7ca54fa440ca11ea5b6827edf5876569 Mon Sep 17 00:00:00 2001
|
||||
From: begasus <begasus@gmail.com>
|
||||
Date: Mon, 29 Apr 2019 11:26:31 +0200
|
||||
Subject: Fix install paths, kudos to leorize for the patch
|
||||
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 6d1b8ab..6cd9357 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
project(flif)
|
||||
-
|
||||
+
|
||||
include(GNUInstallDirs)
|
||||
include(FindPkgConfig)
|
||||
find_package(PNG REQUIRED)
|
||||
@@ -67,7 +67,7 @@ set(COMMON_SOURCES
|
||||
)
|
||||
|
||||
set(FLIF_DEC_FILES
|
||||
- ${FLIF_SRC_DIR}/library/flif_dec.h
|
||||
+ ${FLIF_SRC_DIR}/library/flif_dec.h
|
||||
${FLIF_SRC_DIR}/library/flif-interface-private_dec.hpp
|
||||
${FLIF_SRC_DIR}/library/flif-interface_dec.cpp)
|
||||
|
||||
@@ -168,8 +168,8 @@ if(BUILD_SHARED_LIBS)
|
||||
|
||||
set_target_properties(flif_lib PROPERTIES OUTPUT_NAME flif)
|
||||
set_target_properties(flif_lib_dec PROPERTIES OUTPUT_NAME flif_dec)
|
||||
-
|
||||
- set_target_properties(flif_lib PROPERTIES PUBLIC_HEADER "${FLIF_ENC_HEADERS}" SOVERSION ${SOVERSION})
|
||||
+
|
||||
+ set_target_properties(flif_lib PROPERTIES PUBLIC_HEADER "${FLIF_ENC_HEADERS}" SOVERSION ${SOVERSION})
|
||||
set_target_properties(flif_lib_dec PROPERTIES PUBLIC_HEADER "${FLIF_DEC_HEADERS}" SOVERSION ${SOVERSION})
|
||||
|
||||
target_compile_definitions(flif_lib PRIVATE ${DEFINITIONS_FOR_ALL_TARGETS} FLIF_BUILD_DLL )
|
||||
@@ -181,20 +181,20 @@ if(BUILD_SHARED_LIBS)
|
||||
target_link_libraries(flif_exe flif_lib)
|
||||
target_link_libraries(dflif_exe flif_lib_dec)
|
||||
install(TARGETS flif_lib flif_lib_dec
|
||||
- RUNTIME DESTINATION bin
|
||||
- LIBRARY DESTINATION lib
|
||||
- ARCHIVE DESTINATION lib
|
||||
- PUBLIC_HEADER DESTINATION include)
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
endif(BUILD_SHARED_LIBS)
|
||||
|
||||
target_include_directories(flif_exe PRIVATE ${FLIF_SRC_DIR}/../extern)
|
||||
target_include_directories(dflif_exe PRIVATE ${FLIF_SRC_DIR}/../extern)
|
||||
install(TARGETS flif_exe dflif_exe
|
||||
- RUNTIME DESTINATION bin)
|
||||
-install(FILES ${FLIF_SRC_DIR}/../tools/gif2flif
|
||||
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_READ DESTINATION bin)
|
||||
-install(FILES ${FLIF_SRC_DIR}/../tools/apng2flif
|
||||
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_READ DESTINATION bin)
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+install(FILES ${FLIF_SRC_DIR}/../tools/gif2flif
|
||||
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_READ DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+install(FILES ${FLIF_SRC_DIR}/../tools/apng2flif
|
||||
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_READ DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES ${FLIF_SRC_DIR}/../doc/flif.1
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1)
|
||||
|
||||
@@ -209,7 +209,7 @@ if(BUILD_STATIC_LIBS)
|
||||
set_target_properties(flif_lib_static PROPERTIES OUTPUT_NAME flif)
|
||||
set_target_properties(flif_lib_dec_static PROPERTIES OUTPUT_NAME flif_dec)
|
||||
|
||||
- set_target_properties(flif_lib_static PROPERTIES PUBLIC_HEADER "${FLIF_ENC_HEADERS}" SOVERSION ${SOVERSION})
|
||||
+ set_target_properties(flif_lib_static PROPERTIES PUBLIC_HEADER "${FLIF_ENC_HEADERS}" SOVERSION ${SOVERSION})
|
||||
set_target_properties(flif_lib_dec_static PROPERTIES PUBLIC_HEADER "${FLIF_DEC_HEADERS}" SOVERSION ${SOVERSION})
|
||||
|
||||
target_compile_definitions(flif_lib_static PRIVATE ${DEFINITIONS_FOR_ALL_TARGETS})
|
||||
@@ -219,10 +219,10 @@ if(BUILD_STATIC_LIBS)
|
||||
target_include_directories(flif_lib_dec_static PRIVATE ${FLIF_SRC_DIR}/../extern)
|
||||
|
||||
install(TARGETS flif_lib_static flif_lib_dec_static
|
||||
- RUNTIME DESTINATION bin
|
||||
- LIBRARY DESTINATION lib
|
||||
- ARCHIVE DESTINATION lib
|
||||
- PUBLIC_HEADER DESTINATION include)
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
|
||||
if (NOT(BUILD_SHARED_LIBS))
|
||||
target_link_libraries(flif_exe flif_lib_static)
|
||||
@@ -251,7 +251,7 @@ if(GDK_FOUND AND (BUILD_SHARED_LIBS OR BUILD_STATIC_LIBS))
|
||||
set_target_properties(pixbufloader-flif-static PROPERTIES OUTPUT_NAME pixbufloader-flif)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
target_link_libraries(pixbufloader-flif flif_lib)
|
||||
- target_link_libraries(pixbufloader-flif-static flif_lib)
|
||||
+ target_link_libraries(pixbufloader-flif-static flif_lib)
|
||||
else()
|
||||
target_link_libraries(pixbufloader-flif flif_lib_static)
|
||||
target_link_libraries(pixbufloader-flif-static flif_lib_static)
|
||||
@@ -261,15 +261,15 @@ if(GDK_FOUND AND (BUILD_SHARED_LIBS OR BUILD_STATIC_LIBS))
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=gdk_pixbuf_moduledir --dont-define-prefix gdk-pixbuf-2.0
|
||||
OUTPUT_VARIABLE GDK_MODULES_DIR ERROR_VARIABLE GDK_RES_ERROR RESULT_VARIABLE RES_VAR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (("${RES_VAR}" STREQUAL "") OR ("${RES_VAR}" STREQUAL "0"))
|
||||
- message(STATUS "gdk-pixbuf-2.0 module dir ${GDK_MODULES_DIR}")
|
||||
+ message(STATUS "gdk-pixbuf-2.0 module dir ${GDK_MODULES_DIR}")
|
||||
else()
|
||||
message(FATAL_ERROR "Error: ${RES_VAR}")
|
||||
endif(("${RES_VAR}" STREQUAL "") OR ("${RES_VAR}" STREQUAL "0"))
|
||||
if ("${GDK_RES_ERROR}" STREQUAL "")
|
||||
- install(TARGETS pixbufloader-flif pixbufloader-flif-static
|
||||
+ install(TARGETS pixbufloader-flif pixbufloader-flif-static
|
||||
RUNTIME DESTINATION ${GDK_MODULES_DIR}
|
||||
LIBRARY DESTINATION ${GDK_MODULES_DIR}
|
||||
- ARCHIVE DESTINATION ${GDK_MODULES_DIR})
|
||||
+ ARCHIVE DESTINATION ${GDK_MODULES_DIR})
|
||||
else()
|
||||
message(FATAL_ERROR "Error: ${GDK_RES_ERROR}")
|
||||
endif("${GDK_RES_ERROR}" STREQUAL "")
|
||||
@@ -319,7 +319,7 @@ if(${SDL2_FOUND} AND ${BUILD_SHARED_LIBS})
|
||||
target_include_directories(viewflif PRIVATE ${FLIF_SRC_DIR}/library ${SDL2_INCLUDE_DIR})
|
||||
target_compile_definitions(viewflif PRIVATE FLIF_USE_DLL)
|
||||
install(TARGETS viewflif
|
||||
- RUNTIME DESTINATION bin)
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif(${SDL2_FOUND} AND ${BUILD_SHARED_LIBS})
|
||||
|
||||
# test
|
||||
--
|
||||
2.21.0
|
||||
|
||||
Reference in New Issue
Block a user