[packages/flif] - updated to 0.4 - old install patch obsolete, updated to skip static gdk-pixbuf module installation
qboosh
qboosh at pld-linux.org
Sun Dec 5 19:36:49 CET 2021
commit bd445b547dbc883a4932e13deebd5bef24f7df3d
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Dec 5 19:37:18 2021 +0100
- updated to 0.4
- old install patch obsolete, updated to skip static gdk-pixbuf module installation
- added bash-completion- and gdk-pixbuf2-loader- packages
flif-install.patch | 72 ++++++++++++++--------------------
flif.spec | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 137 insertions(+), 46 deletions(-)
---
diff --git a/flif.spec b/flif.spec
index ae481a1..516162f 100644
--- a/flif.spec
+++ b/flif.spec
@@ -1,22 +1,36 @@
+#
+# Conditional build:
+%bcond_without static_libs # static libraries
+
Summary: Free Lossless Image Format library
Summary(pl.UTF-8): Biblioteka do obsługi formatu FLIF (Free Lossless Image Format)
Name: flif
-Version: 0.3
+Version: 0.4
Release: 1
License: LGPL v3+ (libflif and programs), Apache v2.0 (libflif_dec)
Group: Libraries
#Source0Download: https://github.com/FLIF-hub/FLIF/releases
Source0: https://github.com/FLIF-hub/FLIF/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 0bc4d0a71d67b2c6e040e2d5a93dcd2d
+# Source0-md5: c9615a4a525ecd39b27317ceb8365652
Patch0: %{name}-install.patch
URL: http://flif.info/
BuildRequires: SDL2-devel >= 2
BuildRequires: cmake >= 2.8.12
+BuildRequires: gdk-pixbuf2-devel >= 2.10
BuildRequires: libpng-devel
BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: shared-mime-info
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%if "%{_lib}" != "lib"
+%define libext %(lib="%{_lib}"; echo ${lib#lib})
+%define pqext -%{libext}
+%else
+%define pqext %{nil}
+%endif
+
%description
FLIF is a lossless image format based on MANIAC compression. MANIAC
(Meta-Adaptive Near-zero Integer Arithmetic Coding) is a variant of
@@ -57,6 +71,18 @@ Header files for FLIF libraries.
%description devel -l pl.UTF-8
Pliki nagłówkowe bibliotek FLIF.
+%package static
+Summary: Static FLIF library
+Summary(pl.UTF-8): Statyczna biblioteka FLIF
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static FLIF library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka FLIF.
+
%package dec
Summary: FLIF decoder library
Summary(pl.UTF-8): Biblioteka dekodera FLIF
@@ -84,6 +110,18 @@ Development files for FLIF decoder library.
%description dec-devel -l pl.UTF-8
Pliki programistyczne biblioteki dekodera FLIF.
+%package dec-static
+Summary: Static FLIF decoder library
+Summary(pl.UTF-8): Statyczna biblioteka dekodera FLIF
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description dec-static
+Static FLIF decoder library.
+
+%description dec-static -l pl.UTF-8
+Statyczna biblioteka dekodera FLIF.
+
%package tools
Summary: Tools to convert from/to FLIF image format
Summary(pl.UTF-8): Narzędzia do konwersji do/z formatu obrazów FLIF
@@ -111,6 +149,33 @@ SDL2 based FLIF viewer.
%description view -l pl.UTF-8
Przeglądarka plików FLIF oparta na bibliotece SDL2.
+%package -n bash-completion-flif
+Summary: Bash completion for flif command
+Summary(pl.UTF-8): Bashowe dopełnianie parametrów polecenia flif
+Group: Applications/Shells
+Requires: %{name}-tools = %{version}-%{release}
+Requires: bash-completion >= 2.0
+
+%description -n bash-completion-flif
+Bash completion for flif command.
+
+%description -n bash-completion-flif -l pl.UTF-8
+Bashowe dopełnianie parametrów polecenia flif.
+
+%package -n gdk-pixbuf2-loader-flif
+Summary: FLIF loader module for gdk-pixbuf2 library
+Summary(pl.UTF-8): Moduł biblioteki gdk-pixbuf2 wczytujący pliki FLIF
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: gdk-pixbuf2 >= 2.10
+Requires: shared-mime-info
+
+%description -n gdk-pixbuf2-loader-flif
+FLIF loader module for gdk-pixbuf2 library.
+
+%description -n gdk-pixbuf2-loader-flif -l pl.UTF-8
+Moduł biblioteki gdk-pixbuf2 wczytujący pliki FLIF.
+
%prep
%setup -q -n FLIF-%{version}
%patch0 -p1
@@ -118,7 +183,8 @@ Przeglądarka plików FLIF oparta na bibliotece SDL2.
%build
install -d src/build
cd src/build
-%cmake ..
+%cmake .. \
+ %{!?with_static_libs:-DBUILD_STATIC_LIBS=OFF}
%{__make}
%install
@@ -127,7 +193,11 @@ rm -rf $RPM_BUILD_ROOT
%{__make} -C src/build install \
DESTDIR=$RPM_BUILD_ROOT
+# already in file
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/FLIF/flif.magic
+
install -Dp doc/flif.1 $RPM_BUILD_ROOT%{_mandir}/man1/flif.1
+install -Dp doc/flif.bash-completion $RPM_BUILD_ROOT%{bash_compdir}/flif
install tools/{apng2flif,gif2flif} $RPM_BUILD_ROOT%{_bindir}
%clean
@@ -139,6 +209,19 @@ rm -rf $RPM_BUILD_ROOT
%post dec -p /sbin/ldconfig
%postun dec -p /sbin/ldconfig
+%post -n gdk-pixbuf2-loader-flif
+umask 022
+%{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache || :
+%update_mime_database
+
+%postun -n gdk-pixbuf2-loader-flif
+%update_mime_database
+if [ "$1" != "0" ]; then
+ umask 022
+ [ ! -x %{_bindir}/gdk-pixbuf-query-loaders%{pqext} ] || \
+ %{_bindir}/gdk-pixbuf-query-loaders%{pqext} --update-cache || :
+fi
+
%files
%defattr(644,root,root,755)
%doc LICENSE README.md
@@ -150,6 +233,12 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/libflif.so
%{_includedir}/flif*.h
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libflif.a
+%endif
+
%files dec
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libflif_dec.so.0
@@ -158,9 +247,16 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libflif_dec.so
+%if %{with static_libs}
+%files dec-static
+%defattr(644,root,root,755)
+%{_libdir}/libflif_dec.a
+%endif
+
%files tools
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/apng2flif
+%attr(755,root,root) %{_bindir}/dflif
%attr(755,root,root) %{_bindir}/flif
%attr(755,root,root) %{_bindir}/gif2flif
%{_mandir}/man1/flif.1*
@@ -168,3 +264,12 @@ rm -rf $RPM_BUILD_ROOT
%files view
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/viewflif
+
+%files -n bash-completion-flif
+%defattr(644,root,root,755)
+%{bash_compdir}/flif
+
+%files -n gdk-pixbuf2-loader-flif
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-flif.so
+%{_datadir}/mime/packages/flif-mime.xml
diff --git a/flif-install.patch b/flif-install.patch
index 6e4c209..77ff2c4 100644
--- a/flif-install.patch
+++ b/flif-install.patch
@@ -1,44 +1,30 @@
---- FLIF-0.2.2/src/CMakeLists.txt.orig 2016-11-08 12:33:17.000000000 +0100
-+++ FLIF-0.2.2/src/CMakeLists.txt 2016-12-03 22:07:35.902563666 +0100
-@@ -95,6 +95,8 @@
- target_compile_definitions(flif_exe PRIVATE ${DEFINITIONS_FOR_ALL_TARGETS} STATIC_GETOPT ) # prevents dllexporting symbols for getopt
- endif()
+--- FLIF-0.4/src/CMakeLists.txt.orig 2021-11-21 14:31:43.000000000 +0100
++++ FLIF-0.4/src/CMakeLists.txt 2021-12-05 19:12:26.665932118 +0100
+@@ -243,18 +243,10 @@ if(GDK_FOUND AND (BUILD_SHARED_LIBS OR B
+ target_link_libraries(pixbufloader-flif ${GDK_LIBRARIES})
+ set_target_properties(pixbufloader-flif PROPERTIES OUTPUT_NAME pixbufloader-flif)
-+install(TARGETS flif_exe DESTINATION bin)
-+
- # library
-
- add_library(flif_lib SHARED ${COMMON_SOURCES} ${FLIF_SRC_DIR}/flif-enc.cpp ${FLIF_SRC_DIR}/library/flif-interface.cpp)
-@@ -105,8 +105,8 @@
- target_link_libraries(flif_lib ${PNG_LIBRARY} ${STATIC_LINKED_LIBS})
- target_link_libraries(flif_lib_dec ${PNG_LIBRARY} ${STATIC_LINKED_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 OUTPUT_NAME flif SOVERSION 0)
-+set_target_properties(flif_lib_dec PROPERTIES OUTPUT_NAME flif_dec SOVERSION 0)
-
- target_compile_definitions(flif_lib PRIVATE ${DEFINITIONS_FOR_ALL_TARGETS} FLIF_BUILD_DLL )
- target_compile_definitions(flif_lib_dec PRIVATE ${DEFINITIONS_FOR_ALL_TARGETS} FLIF_BUILD_DLL DECODER_ONLY )
-@@ -113,6 +115,13 @@
- target_include_directories(flif_lib PRIVATE ${FLIF_SRC_DIR}/../extern)
- target_include_directories(flif_lib_dec PRIVATE ${FLIF_SRC_DIR}/../extern)
-
-+install(TARGETS flif_lib flif_lib_dec DESTINATION lib${LIB_SUFFIX})
-+install(FILES ${FLIF_SRC_DIR}/library/flif.h
-+ ${FLIF_SRC_DIR}/library/flif_common.h
-+ ${FLIF_SRC_DIR}/library/flif_dec.h
-+ ${FLIF_SRC_DIR}/library/flif_enc.h
-+ DESTINATION include)
-+
- # viewflif
-
- if(${SDL2_FOUND})
-@@ -121,6 +130,7 @@
- target_link_libraries(viewflif flif_lib_dec ${SDL2_LIBRARY} ${SDL2MAIN_LIBRARY})
- target_include_directories(viewflif PRIVATE ${FLIF_SRC_DIR}/library ${SDL2_INCLUDE_DIR})
- target_compile_definitions(viewflif PRIVATE FLIF_USE_DLL)
-+ install(TARGETS viewflif DESTINATION bin)
- endif()
-
- # test
+- add_library(pixbufloader-flif-static STATIC flif-pixbuf-loader.c)
+- target_include_directories(pixbufloader-flif-static PRIVATE ${FLIF_SRC_DIR}/library ${GDK_INCLUDE_DIRS})
+- target_compile_options(pixbufloader-flif-static PRIVATE ${GDK_CFLAGS})
+- target_compile_definitions(pixbufloader-flif-static PRIVATE ${DEFINITIONS_FOR_ALL_TARGETS})
+- target_link_libraries(pixbufloader-flif-static ${GDK_LIBRARIES})
+- 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)
+ else()
+ target_link_libraries(pixbufloader-flif flif_lib_static)
+- target_link_libraries(pixbufloader-flif-static flif_lib_static)
+ endif(BUILD_SHARED_LIBS)
+ #We have to be sure that the "-dont-define-prefix", otherwise, on mingw-w64, a complete path
+ #is given with pkg-config and that's not desirable for some packaging systems.
+@@ -266,7 +258,7 @@ if(GDK_FOUND AND (BUILD_SHARED_LIBS OR B
+ 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
+ RUNTIME DESTINATION ${GDK_MODULES_DIR}
+ LIBRARY DESTINATION ${GDK_MODULES_DIR}
+ ARCHIVE DESTINATION ${GDK_MODULES_DIR})
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/flif.git/commitdiff/bd445b547dbc883a4932e13deebd5bef24f7df3d
More information about the pld-cvs-commit
mailing list