[packages/ResIL] - initial, broken on Linux

qboosh qboosh at pld-linux.org
Sat May 21 21:14:28 CEST 2016


commit d063c0e2c25ba6ddbad1240d0e788feb8481e56c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat May 21 21:14:43 2016 +0200

    - initial, broken on Linux

 ResIL-am.patch       |  24 +++++
 ResIL-restrict.patch |  43 +++++++++
 ResIL.spec           | 264 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 331 insertions(+)
---
diff --git a/ResIL.spec b/ResIL.spec
new file mode 100644
index 0000000..d6295cf
--- /dev/null
+++ b/ResIL.spec
@@ -0,0 +1,264 @@
+# Note: ResIL is meant to be "maintained DevIL replacement", but Linux build
+# is heavily broken and all non-Windows ILUT backends are outdated
+#
+# Conditional build:
+%bcond_with	sse	# use SSE extension
+%bcond_with	sse2	# use SSE2 extension
+%bcond_with	sse3	# use SSE3 extension
+#
+%ifarch pentium3 pentium4 %{x8664}
+%define	with_sse	1
+%endif
+%ifarch pentium4 %{x8664}
+%define	with_sse2	1
+%endif
+Summary:	Full featured image library
+Summary(pl.UTF-8):	Biblioteka obsługi obrazów z mnóstwem funkcji
+Name:		ResIL
+Version:	1.8.3
+Release:	0.1
+License:	LGPL v2.1
+Group:		Libraries
+Source0:	http://downloads.sourceforge.net/resil/%{name}-%{version}.zip
+# Source0-md5:	8863fcf78985ca532a202b66b1f9636a
+Patch0:		%{name}-restrict.patch
+Patch1:		%{name}-am.patch
+URL:		http://resil.sourceforge.net/
+BuildRequires:	OpenEXR-devel
+BuildRequires:	OpenGL-GLU-devel
+BuildRequires:	SDL-devel >= 1.2.5
+BuildRequires:	allegro-devel >= 4.1.16
+BuildRequires:	autoconf >= 2.52
+BuildRequires:	automake
+BuildRequires:	jasper-devel
+#BuildRequires:	jxrlib-devel
+BuildRequires:	lcms-devel
+BuildRequires:	libjpeg-devel
+BuildRequires:	libmng-devel
+BuildRequires:	libpng-devel
+BuildRequires:	libtiff-devel
+BuildRequires:	libtool >= 2:1.5
+BuildRequires:	pkgconfig
+BuildRequires:	rpmbuild(macros) >= 1.533
+BuildRequires:	squish-devel
+BuildRequires:	sed >= 4.0
+BuildRequires:	unzip
+BuildRequires:	xorg-lib-libXext-devel
+BuildRequires:	zlib-devel
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Developer's Image Library (ResIL) is a programmer's library to develop
+applications with very powerful image loading capabilities, yet is
+easy for a developer to learn and use. Ultimate control of images is
+left to the developer, so unnecessary conversions, etc. are not
+performed. ResIL utilizes a simple, yet powerful, syntax. ResIL can
+load, save, convert, manipulate, filter and display a wide variety of
+image formats.
+
+Currently, ResIL can load .bmp, .cut, .dds, .doom, .gif, .ico, .icns,
+.jp2, .jpg, .lbm, .mdl, .mng, .pal, .pbm, .pcd, .pcx, .pgm, .pic,
+.png, .ppm, .psd, .psp, .raw, .sgi, .tga and .tif files.
+
+Formats supported for saving include .bmp, .dds, .h, .jpg, .pal, .pbm,
+.pcx, .pgm, .png, .ppm, .raw, .sgi, .tga and .tif.
+
+%description -l pl.UTF-8
+Developer's Image Library (ResIL) jest biblioteką programisty
+pozwalającą tworzyć aplikacje z potężnymi możliwościami ładowania
+obrazów. Pozostaje przy tym łatwa w użyciu i prosta do nauczenia się.
+Ostateczna kontrola nad obrazami jest zostawiona programiście, nie
+wprowadza się niepotrzebnych konwersji, itp. ResIL używa prostej, lecz
+potężnej składni poleceń, wzorowanej na OpenGL-u. ResIL potrafi
+ładować, zapisywać, konwertować, manipulować, filtrować szeroki
+wachlarz formatów plików graficznych.
+
+W chwili obecnej ResIL odczytuje pliki z rozszerzeniami bmp, cut, dds,
+doom, gif, icns, ico, jp2, jpg, lbm, mdl, mng, pal, pbm, pcd, pcx,
+pgm, pic, png, ppm, psd, psp, raw, sgi, tga i tif.
+
+Obsługiwane jest zapisywanie do plików bmp, dds, h, jpg, pal, pbm,
+pcx, pgm, png, ppm, raw, sgi, tga i tif.
+
+%package devel
+Summary:	ResIL development files
+Summary(pl.UTF-8):	Pliki nagłówkowe bibliotek ResIL
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	OpenEXR-devel
+Requires:	jasper-devel
+Requires:	lcms-devel
+Requires:	libjpeg-devel
+Requires:	libmng-devel
+Requires:	libpng-devel
+Requires:	libtiff-devel
+Requires:	squish-devel
+
+%description devel
+ResIL development files (for IL and ILU libraries).
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek ResIL (IL i ILU).
+
+%package static
+Summary:	Static ResIL libraries
+Summary(pl.UTF-8):	Statyczne biblioteki ResIL
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static ResIL libraries (IL and ILU).
+
+%description static -l pl.UTF-8
+Statyczne biblioteki ResIL (IL i ILU).
+
+%package ILUT
+Summary:	ResIL ILUT library
+Summary(pl.UTF-8):	Biblioteka ResIL ILUT
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	SDL >= 1.2.5
+Requires:	allegro >= 4.1.16
+
+%description ILUT
+ResIL ILUT library - connection to higher level libraries.
+
+%description ILUT -l pl.UTF-8
+Biblioteka ResIL ILUT - łącznik z bibliotekami wyższego poziomu.
+
+%package ILUT-devel
+Summary:	Development files for ResIL ILUT library
+Summary(pl.UTF-8):	Pliki programistyczne biblioteki ResIL ILUT
+Group:		Development/Libraries
+Requires:	%{name}-ILUT = %{version}-%{release}
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	OpenGL-GLU-devel
+Requires:	SDL-devel >= 1.2.5
+Requires:	allegro-devel >= 4.1.16
+Requires:	xorg-lib-libXext-devel
+
+%description ILUT-devel
+Development files for ResIL ILUT library.
+
+%description ILUT-devel -l pl.UTF-8
+Pliki programistyczne biblioteki ResIL ILUT.
+
+%package ILUT-static
+Summary:	Static ResIL ILUT library
+Summary(pl.UTF-8):	Statyczna biblioteka ResIL ILUT
+Group:		Development/Libraries
+Requires:	%{name}-ILUT-devel = %{version}-%{release}
+
+%description ILUT-static
+Static ResIL ILUT library.
+
+%description ILUT-static -l pl.UTF-8
+Statyczna biblioteka ResIL ILUT.
+
+%package doc
+Summary:	ResIL documentation
+Summary(pl.UTF-8):	Dokumentacja ResIL
+Group:		Documentation
+
+%description doc
+ResIL documentation.
+
+%description doc -l pl.UTF-8
+Dokumentacja ResIL.
+
+%prep
+%setup -q
+
+%undos configure.ac Makefile.am lib/Makefile.am
+%{__rm} configure
+%patch0 -p1
+%patch1 -p1
+
+%{__sed} -e 's,\$(il_src),../src-IL/src,g' \
+	-e 's,\$(ilu_src),../src-ILU/src,g' \
+	-e 's,\$(ilut_src),../src-ILUT/src,g' -i lib/Makefile.am
+%{__sed} -e '/_SOURCES/s,\$(example_srcdir)/,../examples/,g' -i bin/Makefile.am
+
+%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+CXXFLAGS="%{rpmcxxflags} -std=c++0x"
+%configure \
+	--enable-ILU \
+	--enable-ILUT \
+	%{?debug:--disable-release} \
+	%{!?with_sse:--disable-sse} \
+	%{!?with_sse2:--disable-sse2} \
+	%{!?with_sse3:--disable-sse3} \
+	--disable-allegro --disable-opengl --disable-sdl --disable-x11 # broken
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post   -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%post	devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun	devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS CREDITS ChangeLog README.unix
+%attr(755,root,root) %{_bindir}/ilur
+%attr(755,root,root) %{_libdir}/libIL.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libIL.so.1
+%attr(755,root,root) %{_libdir}/libILU.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libILU.so.1
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libIL.so
+%attr(755,root,root) %{_libdir}/libILU.so
+%{_libdir}/libIL.la
+%{_libdir}/libILU.la
+%dir %{_includedir}/IL
+%{_includedir}/IL/il.h
+%{_includedir}/IL/ilu.h
+%{_includedir}/IL/ilu_region.h
+%{_pkgconfigdir}/IL.pc
+%{_pkgconfigdir}/ILU.pc
+%{_infodir}/ResIL_manual.info*
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libIL.a
+%{_libdir}/libILU.a
+
+%files ILUT
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libILUT.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libILUT.so.1
+
+%files ILUT-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libILUT.so
+%{_includedir}/IL/devil_cpp_wrapper.hpp
+%{_includedir}/IL/ilut.h
+%{_libdir}/libILUT.la
+%{_pkgconfigdir}/ILUT.pc
+
+%files ILUT-static
+%defattr(644,root,root,755)
+%{_libdir}/libILUT.a
+
+%files doc
+%defattr(644,root,root,755)
+%doc ResIL*.pdf
diff --git a/ResIL-am.patch b/ResIL-am.patch
new file mode 100644
index 0000000..d78fefb
--- /dev/null
+++ b/ResIL-am.patch
@@ -0,0 +1,24 @@
+--- ResIL-1.8.3/lib/Makefile.am.orig	2016-05-21 18:34:56.031037924 +0200
++++ ResIL-1.8.3/lib/Makefile.am	2016-05-21 18:35:27.107703286 +0200
+@@ -45,18 +45,18 @@
+ libIL_la_CFLAGS = $(AM_CFLAGS) @IL_CFLAGS@
+ libIL_la_CXXFLAGS = $(AM_CFLAGS) @IL_CFLAGS@
+ 
+-libIL_la_SOURCES = $(il_src)/il_alloc.cpp $(il_src)/il_doom.cpp $(il_src)/il_stack.cpp $(il_src)/il_pcx.cpp $(il_src)/il_rle.cpp $(il_src)/il_bits.cpp $(il_src)/il_endian.cpp $(il_src)/il_exr.cpp $(il_src)/il_jpeg.cpp $(il_src)/il_pic.cpp $(il_src)/il_sgi.cpp $(il_src)/il_bmp.cpp $(il_src)/il_error.cpp $(il_src)/il_lif.cpp $(il_src)/il_png.cpp $(il_src)/il_states.cpp $(il_src)/il_convbuff.cpp $(il_src)/il_files.cpp $(il_src)/il_main.cpp $(il_src)/il_pnm.cpp $(il_src)/il_targa.cpp $(il_src)/il_wdp.cpp $(il_src)/il_convert.cpp $(il_src)/il_gif.cpp $(il_src)/il_manip.cpp $(il_src)/il_profiles.cpp $(il_src)/il_tiff.cpp $(il_src)/il_cut.cpp $(il_src)/il_header.cpp $(il_src)/il_mdl.cpp $(il_src)/il_quantizer.cpp $(il_src)/il_utility.cpp $(il_src)/il_dcx.cpp $(il_src)/il_icon.cpp $(il_src)/il_mng.cpp $(il_src)/il_raw.cpp $(il_src)/il_wal.cpp $(il_src)/il_dds.cpp $(il_src)/il_internal.cpp $(il_src)/il_pal.cpp $(il_src)/il_rawdata.cpp $(il_src)/il_devil.cpp $(il_src)/il_io.cpp $(il_src)/il_pcd.cpp $(il_src)/il_register.cpp $(il_src)/il_psd.cpp $(il_src)/il_fastconv.cpp $(il_src)/il_neuquant.cpp $(il_src)/il_dds-save.cpp $(il_src)/il_psp.cpp $(il_src)/il_pix.cpp $(il_src)/il_pxr.cpp $(il_src)/il_vtf.cpp $(il_src)/il_xpm.cpp $(il_src)/il_hdr.cpp $(il_src)/il_icns.cpp $(il_src)/il_jp2.cpp $(il_src)/altivec_common.c $(il_src)/altivec_typeconversion.c $(il_src)/il_sun.cpp $(il_src)/il_nvidia.cpp $(il_src)/il_wbmp.cpp $(il_src)/il_squish.cpp $(il_src)/il_iff.cpp $(il_src)/il_ilbm.cpp $(il_src)/il_size.cpp $(il_src)/il_tpl.cpp $(il_src)/il_fits.cpp $(il_src)/il_iwi.cpp $(il_src)/il_blp.cpp $(il_src)/il_ftx.cpp $(il_src)/il_dicom.cpp $(il_src)/il_rot.cpp $(il_src)/il_texture.cpp $(il_src)/il_dpx.cpp $(il_src)/il_utx.cpp $(il_src)/il_mp3.cpp
++libIL_la_SOURCES = $(il_src)/il_alloc.cpp $(il_src)/il_doom.cpp $(il_src)/il_stack.cpp $(il_src)/il_pcx.cpp $(il_src)/il_rle.cpp $(il_src)/il_bits.cpp $(il_src)/il_endian.cpp $(il_src)/il_exr.cpp $(il_src)/il_jpeg.cpp $(il_src)/il_pic.cpp $(il_src)/il_sgi.cpp $(il_src)/il_bmp.cpp $(il_src)/il_error.cpp $(il_src)/il_lif.cpp $(il_src)/il_png.cpp $(il_src)/il_states.cpp $(il_src)/il_convbuff.cpp $(il_src)/il_files.cpp $(il_src)/il_main.cpp $(il_src)/il_pnm.cpp $(il_src)/il_targa.cpp $(il_src)/il_wdp.cpp $(il_src)/il_convert.cpp $(il_src)/il_gif.cpp $(il_src)/il_manip.cpp $(il_src)/il_profiles.cpp $(il_src)/il_tiff.cpp $(il_src)/il_cut.cpp $(il_src)/il_header.cpp $(il_src)/il_mdl.cpp $(il_src)/il_quantizer.cpp $(il_src)/il_utility.cpp $(il_src)/il_dcx.cpp $(il_src)/il_icon.cpp $(il_src)/il_mng.cpp $(il_src)/il_raw.cpp $(il_src)/il_wal.cpp $(il_src)/il_dds.cpp $(il_src)/il_internal.cpp $(il_src)/il_palette.cpp $(il_src)/il_rawdata.cpp $(il_src)/il_devil.cpp $(il_src)/il_io.cpp $(il_src)/il_pcd.cpp $(il_src)/il_register.cpp $(il_src)/il_psd.cpp $(il_src)/il_fastconv.cpp $(il_src)/il_neuquant.cpp $(il_src)/il_dds-save.cpp $(il_src)/il_psp.cpp $(il_src)/il_pix.cpp $(il_src)/il_pxr.cpp $(il_src)/il_vtf.cpp $(il_src)/il_xpm.cpp $(il_src)/il_hdr.cpp $(il_src)/il_icns.cpp $(il_src)/il_jp2.cpp $(il_src)/altivec_common.c $(il_src)/altivec_typeconversion.c $(il_src)/il_sun.cpp $(il_src)/il_nvidia.cpp $(il_src)/il_wbmp.cpp $(il_src)/il_squish.cpp $(il_src)/il_iff.cpp $(il_src)/il_ilbm.cpp $(il_src)/il_size.cpp $(il_src)/il_tpl.cpp $(il_src)/il_fits.cpp $(il_src)/il_iwi.cpp $(il_src)/il_blp.cpp $(il_src)/il_ftx.cpp $(il_src)/il_dicom.cpp $(il_src)/il_rot.cpp $(il_src)/il_texture.cpp $(il_src)/il_dpx.cpp $(il_src)/il_utx.cpp $(il_src)/il_mp3.cpp
+ 
+ libIL_la_LDFLAGS = @IL_LIBS@ $(AM_LDFLAGS)
+ 
+-libILU_la_CPPFLAGS = -I $(ilu_include) -I $(all_include)
++libILU_la_CPPFLAGS = -I $(ilu_include) -I $(il_include) -I $(all_include)
+ libILU_la_CFLAGS = $(AM_CFLAGS) @ILU_CFLAGS@
+ libILU_la_SOURCES = $(ilu_src)/ilu_alloc.cpp $(ilu_src)/ilu_internal.cpp $(ilu_src)/ilu_noise.cpp $(ilu_src)/ilu_scale.cpp $(ilu_src)/ilu_error.cpp $(ilu_src)/ilu_main.cpp $(ilu_src)/ilu_rotate.cpp $(ilu_src)/ilu_scaling.cpp $(ilu_src)/ilu_filter.cpp $(ilu_src)/ilu_manip.cpp $(ilu_src)/ilu_scale2d.cpp $(ilu_src)/ilu_states.cpp $(ilu_src)/ilu_filter_rcg.cpp $(ilu_src)/ilu_mipmap.cpp $(ilu_src)/ilu_scale3d.cpp $(ilu_src)/ilu_utilities.cpp $(ilu_src)/ilu_region.cpp
+ 
+ libILU_la_LDFLAGS = @ILU_LIBS@ $(AM_LDFLAGS)
+ libILU_la_LIBADD = libIL.la
+ 
+-libILUT_la_CPPFLAGS = -I $(ilut_include) -I $(all_include) @SDL_CFLAGS@
++libILUT_la_CPPFLAGS = -I $(ilut_include) -I $(il_include) -I $(all_include) @SDL_CFLAGS@
+ libILUT_la_CFLAGS = $(AM_CFLAGS) @ILUT_CFLAGS@ @SDL_CFLAGS@
+ libILUT_la_SOURCES = $(ilut_src)/ilut_main.cpp $(ilut_src)/ilut_states.cpp $(ilut_src)/ilut_internal.cpp  
+ libILUT_la_LDFLAGS = @ILUT_LIBS@ $(AM_LDFLAGS)
diff --git a/ResIL-restrict.patch b/ResIL-restrict.patch
new file mode 100644
index 0000000..6da5445
--- /dev/null
+++ b/ResIL-restrict.patch
@@ -0,0 +1,43 @@
+--- ResIL-1.8.3/m4/devil-definitions.m4.orig	2014-08-21 18:35:48.000000000 +0200
++++ ResIL-1.8.3/m4/devil-definitions.m4	2016-05-20 18:58:27.951271202 +0200
+@@ -273,6 +273,16 @@
+ 			[enable_$1="yes"]) ])
+ 
+ dnl Test for restrict c/c++ keyword
++AC_DEFUN([DEVIL_CHECK___RESTRICT],
++         [AC_MSG_CHECKING([__restrict keyword])
++	  AC_COMPILE_IFELSE(AC_LANG_SOURCE([void foo(void * __restrict test){}]),
++	            	    [AC_DEFINE([__RESTRICT_KEYWORD],
++				       [],
++				       [__restrict keyword available])
++                             restrict_keyword="found"
++	                     AC_MSG_RESULT([yes]) ],
++			    [AC_MSG_RESULT([no]) ]) ])
++
+ AC_DEFUN([DEVIL_CHECK_RESTRICT],
+          [AC_MSG_CHECKING([restrict keyword])
+ 	  AC_COMPILE_IFELSE(AC_LANG_SOURCE([void foo(void * restrict test){}]),
+--- ResIL-1.8.3/include/IL/il_constants.h.orig	2014-11-15 16:01:26.000000000 +0100
++++ ResIL-1.8.3/include/IL/il_constants.h	2016-05-20 19:01:19.014597356 +0200
+@@ -74,8 +74,8 @@
+ #endif
+ 
+ #ifdef RESTRICT_KEYWORD
+-#define RESTRICT restrict
+-#define CONST_RESTRICT const restrict
++#define RESTRICT __restrict
++#define CONST_RESTRICT const __restrict
+ #else
+ #define RESTRICT
+ #define CONST_RESTRICT const
+--- ResIL-1.8.3/configure.ac.orig	2016-05-20 16:32:31.754971998 +0200
++++ ResIL-1.8.3/configure.ac	2016-05-20 19:02:14.314595036 +0200
+@@ -151,6 +151,8 @@
+ 
+ dnl Test for restrict c/c++ keyword
+ DEVIL_CHECK_RESTRICT
++AS_IF([test  "x$restrict_keyword" = "xfound"], [],
++      [DEVIL_CHECK___RESTRICT])
+ 
+ dnl checking if the -std=gnu99 flag is required
+ AS_IF([test  "x$restrict_keyword" = "xfound"], [],
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ResIL.git/commitdiff/d063c0e2c25ba6ddbad1240d0e788feb8481e56c



More information about the pld-cvs-commit mailing list