[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