# # spec file for package lcms2 # # Copyright (c) 2018 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 https://bugs.opensuse.org/ # Name: lcms2 Summary: Little CMS Engine - A color managment library and tools License: MIT Group: Productivity/Graphics/Other Url: http://www.littlecms.com/ Version: 2.9 Release: 2.5 %if 0%{?suse_version} BuildRequires: autoconf BuildRequires: glibc-devel BuildRequires: libjpeg-devel BuildRequires: libtiff-devel BuildRequires: libtool BuildRequires: pkg-config BuildRequires: zlib-devel %endif %if 0%{?fedora_version} BuildRequires: gcc BuildRequires: libjpeg-devel BuildRequires: libtiff-devel BuildRequires: pkgconfig BuildRequires: zlib-devel %endif %if 0%{?mandriva_version} BuildRequires: gcc BuildRequires: libjpeg-devel BuildRequires: libtiff-devel BuildRequires: pkgconfig BuildRequires: zlib-devel %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: http://sourceforge.net/projects/lcms/files/lcms/%{version}/%{name}-%{version}.tar.gz Source1: baselibs.conf Patch1: lcms2-ocloexec.patch Patch2: lcms2-visibility.patch # PATCH-FIX-SECURITY lcms2-cgats-memory-allocation.patch bsc1108813 CVE-2018-16435 sbrabec@suse.cz -- Add check on CGATS memory allocation. Patch3: lcms2-cgats-memory-allocation.patch %description Littlecms is a small speed optimized color management engine. Little CMS intends to be a small-footprint color management engine with a special focus on accuracy and performance. It uses the International Color Consortium standard (ICC), which is the modern standard when regarding to color management. The ICC specification is widely used and is referred to in many International and other de-facto standards. %package -n liblcms2-2 Summary: Libraries for the Little CMS Engine Group: System/Libraries %description -n liblcms2-2 Little CMS Engine - A color managment library and tools. %package -n liblcms2-devel Summary: Include Files and Libraries Mandatory for Development Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: liblcms2-2 = %{version} %description -n liblcms2-devel This package contains all necessary include files and libraries needed to develop applications that require these. %package -n liblcms2-doc Summary: User and developer documentation for lcms2 Group: Documentation/Other %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description -n liblcms2-doc This package contains user and developer documentation for lcms2. %prep %setup -q %patch1 %patch2 %patch3 -p1 chmod a-x doc/* COPYING AUTHORS %build autoreconf -fiv export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" # FIXME --without-threads is a workaround for a linker error %configure --disable-static --without-threads make %{?_smp_flags} %check # FIXME before submitting to factory make %{?_smp_flags} check || true make utils %install make install DESTDIR=%{buildroot} rm %{buildroot}/%{_libdir}/liblcms2.la %post -n liblcms2-2 -p /sbin/ldconfig %postun -n liblcms2-2 -p /sbin/ldconfig %files %defattr(-,root,root) %doc COPYING AUTHORS %{_bindir}/* %{_mandir}/man?/*.* %files -n liblcms2-2 %defattr(-,root,root) %{_libdir}/liblcms2.so.2* %files -n liblcms2-devel %defattr(-,root,root) %{_includedir}/*.h %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %files -n liblcms2-doc %defattr(-,root,root) %doc doc/*.pdf %changelog * Wed Oct 3 2018 sbrabec@suse.com - Add check on CGATS memory allocation (bsc1108813, CVE-2018-16435, lcms2-cgats-memory-allocation.patch). * Tue Nov 28 2017 plinnell@opensuse.org - Update to 2.9 - Drop 0001-Added-an-extra-check-to-MLU-bounds.patch, it is now in the upstream code * Bugfix release + Several fixes related with security, and therefore not detailed here. + C++ compiles now without warnings + Added OSX and clang in travis + Added a travis-ci test matrix for many compilers and OS. Thanks to Thomas Weber (debian) for this great improvement. + testbed can now work with dynamic versions of library + Fixed wrong planar formatters regarding linestride interpretation * Tue Jan 24 2017 plinnell@opensuse.org - Added 0001-Added-an-extra-check-to-MLU-bounds.patch * fixes https://bugzilla.suse.com/show_bug.cgi?id=1021364 * Tue Aug 16 2016 plinnell@opensuse.org - Update to 2.8 * Fixed many typos in comments, thanks to Stefan Weil for doing that. * Fixed localization bug, added a new test case crayons.icc thnaks to Richard Hughes for providing the profile. * Fixed a bug in optimizer that made some formats (i.e, bits planar) unavailable * Fixed misalignment problems on Alpha. The compiler does not align strings, and accessing begin of string as a uint16 makes code to fail. * Added some extra checks to the tools and examples. * Fix a bug that prevented to read luminance tag * BIG amount of functionality contributed/Sponsored by Alien Skin Software: TransformStride, copyAlpha, performance plug-ins. Fixes some warnings as well. * added an extra _ to _stdcall to make it more portable * Fixed a bug in transicc for named color profiles * Fixed several compiler warnings * Added support for Visual Studio 2015 * Fixed for XCODE project * Thu Apr 14 2016 idonmez@suse.com - Update to GNOME 3.20 Fate#318572 * Fri Jun 26 2015 aloisio@gmx.com - Update to version 2.7 * improved multi-threading * added contexts and a new locking plug-in type * bugfixes and other minor features - Dropped lcms-endian.patch that was fixed upstream. * Fri May 16 2014 mailaender@opensuse.org - Fixed missing dependency pthread * Mon Mar 17 2014 adrian@suse.de - update to version 2.6 * Fixed a double free in recovering from a previous error in default intent handler. * Fixed some indexing out of bounds in floating point interpolation * Fixed a bug in PCS/Colorspace order when reading V2 Lab devicelinks * Added a way to retrieve matrix shaper always, no matter LUT is present * Changed endianess detection for PowerPC * Fixed memory leaks on error handling * Big revamp on Contexts, from Artifex * New locking plug-in, from Artifex * Added directories for tiff, jpeg in configure script * Fix for delete tag memory corruption * Added pthread dependency. From now lcms supports multithreading * Mon Jan 6 2014 crrodriguez@opensuse.org - Correct lcms-endian.patch to rely on autoconf only, no extra arch specific preprocessor hackery. * Wed Jul 3 2013 mrdocs@opensuse.org - Update to version 2.5 * Maintenance update + Focused on incorrect path and error handling. It also updates the black point compensation algorithm to match the ICC including the new black point compensation algorithm actually being standarized by TC130, ICC and ISO. * Sun Oct 28 2012 tittiatcoke@gmail.com - Update to version 2.4 * Featured release + Performance and stability fixes + Black point detection from the algorithm disclosed by Adobe + Added support for transforms on planar data with different stride + Added a new plug-in type for optimizing full transforms + Linear (gamma 1.0) profiles can now operate in unbounded mode + Added "half" float support + Please see the ChangeLog file for more details. * Sat Dec 17 2011 adrian@suse.de - update to version 2.3 * Full support for ICC 4.3 * Thu Nov 24 2011 crrodriguez@opensuse.org - Open all fds with O_CLOEXEC - Use gcc visibility, symbol table shrinks around 50%% ... * Sat Jun 11 2011 mrdocs@opensuse.org -update to 2.2 * maintenance update +Version 2.2 adds stability. - fixes all known bugs - adds support for dictionary metatag. Pascal unit now compiles under FPK Pascal as well as Delphi. * Tue Apr 19 2011 ro@suse.de - fix devel package name in baselibs.conf * Sun Dec 26 2010 adrian@suse.de - update to version 2.1 * maintenance release (no further details in changelog) - remove obsolete patches * Wed Nov 10 2010 mrdocs@opensuse.org - build documentation noarch and recompress tar * Fri Oct 8 2010 mrdocs@opensuse.org -more spec file cleanups and prepare for factory submit -test building against it in my home repo * Tue May 18 2010 adrian@suse.de - initial lcms2 package, based on package from version 1 - use OBS source services to download tar ball