Petr Gajdos
32b40ffb9f
Added a png_image_write_to_memory() API and a number of assist macros to allow an application that uses the simplified API write to bypass stdio and write directly to memory. Relaxed limit checks on gamma values in pngrtran.c. As suggested in the comments gamma values outside the range currently permitted by png_set_alpha_mode are useful for HDR data encoding. These values are already permitted by png_set_gamma so it is reasonable caution to extend the png_set_alpha_mode range as HDR imaging systems are starting to emerge. Restored "& 0xff" in png_save_uint_16() and png_save_uint_32() that were accidentally removed from libpng-1.6.17. Changed PNG_INFO_cHNK and PNG_FREE_cHNK from 0xnnnn to 0xnnnnU in png.h (Robert C. Seacord). Added INTEL-SSE2 support (Mike Klein and Matt Sarett, Google, Inc.). SSE filter speed improvements for bpp=3: memcpy-free implementations of load3() / store3(). Added PNG_FAST_FILTERS macro (defined as PNG_FILTER_NONE|PNG_FILTER_SUB|PNG_FILTER_UP). OBS-URL: https://build.opensuse.org/package/show/graphics/libpng16?expand=0&rev=79
165 lines
4.9 KiB
RPMSpec
165 lines
4.9 KiB
RPMSpec
#
|
|
# spec file for package libpng16
|
|
#
|
|
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
#
|
|
%define major 1
|
|
%define minor 6
|
|
%define micro 22
|
|
%define branch %{major}%{minor}
|
|
%define libname libpng%{branch}-%{branch}
|
|
|
|
Name: libpng16
|
|
Url: http://www.libpng.org/pub/png/libpng.html
|
|
Version: %{major}.%{minor}.%{micro}
|
|
Release: 0
|
|
Summary: Library for the Portable Network Graphics Format (PNG)
|
|
License: Zlib
|
|
Group: System/Libraries
|
|
Source0: ftp://ftp.simplesystems.org/pub/png/src/libpng16/libpng-%{version}.tar.xz
|
|
Source1: ftp://ftp.simplesystems.org/pub/png/src/libpng16/libpng-%{version}.tar.xz.asc
|
|
Source2: libpng16.keyring
|
|
Source3: rpm-macros.libpng-tools
|
|
Source4: baselibs.conf
|
|
#BuildRequires: gpg-offline
|
|
BuildRequires: libtool
|
|
BuildRequires: pkg-config
|
|
BuildRequires: zlib-devel
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%define debug_package_requires %{libname} = %{version}-%{release}
|
|
|
|
%package -n %{libname}
|
|
Summary: Library for the Portable Network Graphics Format (PNG)
|
|
Group: System/Libraries
|
|
# bug437293
|
|
%ifarch ppc64
|
|
Obsoletes: libpng-64bit
|
|
%endif
|
|
#
|
|
Obsoletes: libpng < %{version}
|
|
Provides: libpng = %{version}-%{release}
|
|
|
|
%package devel
|
|
Summary: Development Tools for applications which will use the Libpng
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %{libname} = %{version}
|
|
Requires: glibc-devel
|
|
Requires: pkg-config
|
|
Requires: zlib-devel
|
|
Recommends: libpng%{branch}-compat-devel
|
|
# bug437293
|
|
%ifarch ppc64
|
|
Obsoletes: libpng-devel-64bit
|
|
%endif
|
|
#
|
|
|
|
%package compat-devel
|
|
Summary: Development Tools for applications which will use the Libpng
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libpng%{branch}-devel = %{version}
|
|
Provides: libpng-devel = %{version}
|
|
Obsoletes: libpng-devel < 1.2.44
|
|
Conflicts: otherproviders(libpng-devel)
|
|
|
|
%package tools
|
|
Summary: Tools for Manipulating PNG Images
|
|
Group: Productivity/Graphics/Other
|
|
Provides: libpng-tools = %{version}
|
|
Conflicts: otherproviders(libpng-tools)
|
|
|
|
%description
|
|
libpng is the official reference library for the Portable Network
|
|
Graphics format (PNG).
|
|
|
|
%description -n %{libname}
|
|
libpng is the official reference library for the Portable Network
|
|
Graphics format (PNG).
|
|
|
|
%description devel
|
|
The libpng%{branch}-devel package includes the header files, libraries,
|
|
configuration files and development tools necessary for compiling and
|
|
linking programs which will manipulate PNG files using libpng%{branch}.
|
|
|
|
libpng is the official reference library for the Portable Network
|
|
Graphics (PNG) format.
|
|
|
|
%description compat-devel
|
|
The libpng%{branch}-compat-devel package contains unversioned symlinks
|
|
to the header files, libraries, configuration files and development
|
|
tools necessary for compiling and linking programs that don't care
|
|
about libpng version.
|
|
|
|
%description tools
|
|
Package consists of low level tools for manipulating and fixing particular
|
|
PNG files.
|
|
|
|
%prep
|
|
%setup -n libpng-%{version}
|
|
|
|
%build
|
|
# PNG_SAFE_LIMITS_SUPPORTED: http://www.openwall.com/lists/oss-security/2015/01/10/1
|
|
export CFLAGS="%optflags -O3 -DPNG_SAFE_LIMITS_SUPPORTED -DPNG_SKIP_SETJMP_CHECK $(getconf LFS_CFLAGS)"
|
|
export LDFLAGS="-Wl,-z,relro,-z,now"
|
|
|
|
%configure \
|
|
--disable-static
|
|
make %{?_smp_mflags}
|
|
|
|
%check
|
|
make check
|
|
|
|
%install
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
|
rm $RPM_BUILD_ROOT/%{_libdir}/libpng*.la
|
|
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
|
cp -a %{SOURCE3} \
|
|
%{buildroot}%{_sysconfdir}/rpm/macros.libpng-tools
|
|
|
|
%post -n %{libname} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libname} -p /sbin/ldconfig
|
|
|
|
%files -n %{libname}
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libpng%{branch}.so.*
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_bindir}/libpng%{branch}-config
|
|
%{_includedir}/libpng%{branch}
|
|
%{_libdir}/libpng%{branch}.so
|
|
%{_libdir}/pkgconfig/libpng%{branch}.pc
|
|
%doc CHANGES README TODO ANNOUNCE LICENSE libpng-*.txt
|
|
|
|
%files compat-devel
|
|
%defattr(-,root,root)
|
|
%{_bindir}/libpng-config
|
|
%{_includedir}/*.h
|
|
%{_libdir}/libpng.so
|
|
%{_libdir}/pkgconfig/libpng.pc
|
|
%doc %{_mandir}/man3/libpng.3.gz
|
|
%doc %{_mandir}/man3/libpngpf.3.gz
|
|
%doc %{_mandir}/man5/png.5.gz
|
|
|
|
%files tools
|
|
%defattr(-,root,root)
|
|
%{_bindir}/png-fix-itxt
|
|
%{_bindir}/pngfix
|
|
%{_sysconfdir}/rpm/macros.libpng-tools
|
|
|
|
%changelog
|