argyllcms/argyllcms.spec
Klaus Kämpf 72b76c2b56 Accepting request 125962 from home:fcrozat:branches:multimedia:color_management
- Release 1.4.0:
  + various bug fixes
  + add support for ICC profiles in embedded JPEG
  + fix CVE-2012-1616 (bnc#768322)
- drop autotools patches, switch back to original Jam based build
- add ajam (argyll patched version of Jam, BSD-license) to source
  package (needed only for build)
- drop shared libraries and corresponding subpackages, not used by
  anything.
- drop cologhug patch, merged upstream.
- Add argyllcms-fixbuild.patch: fix build with system tiff/jpeg
  libraries
- Add ajam-include.patch: add missing headers
- Add argyllcms-1.4.0-warnings.patch: fix gcc warnings
- Add bison as BuildRequires (needed to build ajam)
- Compile with -f-no-strict-aliasing to prevent potential issues
  with gcc 4.7

OBS-URL: https://build.opensuse.org/request/show/125962
OBS-URL: https://build.opensuse.org/package/show/multimedia:color_management/argyllcms?expand=0&rev=11
2012-06-25 11:30:24 +00:00

165 lines
5.0 KiB
RPMSpec

#
# spec file for package argyllcms
#
# Copyright (c) 2012 SUSE LINUX Products 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 archivename Argyll_V%{version}%{?alphaversion}_src.zip
Name: argyllcms
Version: 1.4.0
Release: 0
Summary: ICC compatible color management system
License: AGPL-3.0 and GPL-2.0+ and MIT
Group: System/X11/Utilities
Url: http://www.%{name}.com/
Source0: %{url}%{archivename}
Source1: 19-color.fdi
Source2: color-device-file.policy
Source3: ajam-2.5.2-1.3.3.tgz
# drop udev-acl stuff, handled by udev directly (Mandriva)
Patch5: argyllcms-1.3.0-udev151.patch
# fix build (upstream)
Patch6: argyllcms-fixbuild.patch
Patch7: ajam-include.patch
Patch8: argyllcms-1.4.0-warnings.patch
BuildRequires: libjpeg-devel
BuildRequires: libtiff-devel
BuildRequires: libtool
BuildRequires: unzip
BuildRequires: xorg-x11-devel
#needed for ajam
BuildRequires: bison
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: udev
Requires: udev
%if 0%{?suse_version} < 1120
BuildRequires: hal
Requires: hal
%endif
%description
The Argyll color management system supports accurate ICC profile creation for
scanners, CMYK printers, film recorders and calibration and profiling of
displays.
Spectral sample data is supported, allowing a selection of illuminants observer
types, and paper fluorescent whitener additive compensation. Profiles can also
incorporate source specific gamut mappings for perceptual and saturation
intents. Gamut mapping and profile linking uses the CIECAM02 appearance model,
a unique gamut mapping algorithm, and a wide selection of rendering intents. It
also includes code for the fastest portable 8 bit raster color conversion
engine available anywhere, as well as support for fast, fully accurate 16 bit
conversion. Device color gamuts can also be viewed and compared using a VRML
viewer.
%package doc
Summary: Argyll CMS documentation
Group: System/X11/Utilities
# Does not really make sense without Argyll CMS itself
Requires: %{name} = %{version}
%description doc
The Argyll color management system supports accurate ICC profile creation for
scanners, CMYK printers, film recorders and calibration and profiling of
displays.
This package contains the Argyll color management system documentation.
%prep
%setup -q -n Argyll_V%{version}
%if 0%{?suse_version} >= 1120
%patch5 -p1 -b .udev151
%endif
%patch6 -p1 -b .fixbuild
%patch8 -p1 -b .warnings
tar xvf %{SOURCE3}
cd ajam-2.5.2-1.3.3
%patch7 -p1 -b .include
cd ..
# remove unused source code
rm -fr libusb libusbw
rm -fr libusb1/{*.inf,*.rtf,*.inf,*.cat,*.vcproj,*.sys,*.dsw,*.sln,*.dsp,*template*,WinCo*,winsub*,*kext*,KDRIVER_LICENSE,README_MSVC.txt,msvc,*.cmd}}
%build
cd ajam-2.5.2-1.3.3
make CFLAGS="${RPM_OPT_FLAGS}"
ln -s $PWD/bin.unix/jam ../jam
cd ..
echo "CCFLAGS += ${RPM_OPT_FLAGS} -fno-strict-aliasing ;" >> Jamtop
# Evil hack to get --as-needed working. The build system unfortunately lists all
# the shared libraries by default on the command line _before_ the object to be built...
echo "STDLIBS += -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -ltiff -ljpeg ;" >> Jamtop
./jam -fJambase %{?_smp_mflags}
%install
jam -q -fJambase install
rm bin/License.txt
mkdir -p $RPM_BUILD_ROOT/{%{_bindir},lib/udev/rules.d,%{_datadir}/color/argyll}
install -m 0755 -D bin/* $RPM_BUILD_ROOT/%{_bindir}
install -m 0644 -D ref/* $RPM_BUILD_ROOT/%{_datadir}/color/argyll
rm -f $RPM_BUILD_ROOT/%{_datadir}/color/argyll/License.txt
%if 0%{?suse_version} < 1120
# Do some device permission magic
install -d -m 0755 %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor/
install -p -m 0644 %{SOURCE1} \
%{buildroot}%{_datadir}/hal/fdi/policy/10osvendor/
install -d -m 0755 %{buildroot}%{_datadir}/PolicyKit/policy/
install -p -m 0644 %{SOURCE2} \
%{buildroot}%{_datadir}/PolicyKit/policy/
%else
install -d -m 0755 %{buildroot}/lib/udev/rules.d
install -p -m 0644 libusb1/55-Argyll.rules \
%{buildroot}/lib/udev/rules.d
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc *.txt
%{_bindir}/*
%dir %{_datadir}/color
%{_datadir}/color/argyll
%if 0%{?suse_version} < 1120
%{_datadir}/hal/fdi/policy/10osvendor/19-color.fdi
%{_datadir}/PolicyKit/policy/color-device-file.policy
%else
/lib/udev/rules.d/55-Argyll.rules
%endif
%files doc
%defattr(-,root,root,-)
%doc doc/*.html doc/*.jpg doc/*.txt
%changelog