0fafbd9
%define alphaversion Beta8
0fafbd9
%define alphatag    .%{alphaversion}
0fafbd9
%define archivename argyllV%{version}%{?alphaversion}_src.zip
0fafbd9
0fafbd9
Name:    argyllcms
0fafbd9
Version: 0.70
a653abe
Release: 0.10%{?alphatag}%{?dist}
0fafbd9
Summary: ICC compatible color management system
0fafbd9
0fafbd9
Group:   User Interface/X
0fafbd9
License: GPLv3 and MIT
0fafbd9
URL:     http://www.%{name}.com/
0fafbd9
0fafbd9
Source0: %{url}%{archivename}
0fafbd9
Source1: %{name}-0.70-19-color.fdi
0fafbd9
Source2: %{name}-0.70-color-device-file.policy
0fafbd9
Patch0:  %{name}-0.70-build.patch
0fafbd9
# Patch by Stefan Brüns, bz421921#c18
0fafbd9
Patch1:  %{name}-0.70-printf.patch
d1d1689
# Patch by Stefan Brüns, bz421921#c24
d1d1689
Patch2:  %{name}-0.70-scanin-doublefree-fix.patch
a653abe
# Patch applied for legal reasons
a653abe
Patch3: %{name}-0.70-legal.patch
0fafbd9
0fafbd9
BuildRoot:     %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
0fafbd9
BuildRequires: jam, libtiff-devel, libusb-devel
0fafbd9
BuildRequires: libX11-devel, libXext-devel, libXxf86vm-devel, libXinerama-devel
0fafbd9
BuildRequires: libXScrnSaver-devel
0fafbd9
0fafbd9
Requires: udev, PolicyKit
0fafbd9
0fafbd9
%description
0fafbd9
The Argyll color management system supports accurate ICC profile creation for
0fafbd9
scanners, CMYK printers, film recorders and calibration and profiling of
0fafbd9
displays.
0fafbd9
0fafbd9
Spectral sample data is supported, allowing a selection of illuminants observer
0fafbd9
types, and paper fluorescent whitener additive compensation. Profiles can also
0fafbd9
incorporate source specific gamut mappings for perceptual and saturation
0fafbd9
intents. Gamut mapping and profile linking uses the CIECAM02 appearance model,
0fafbd9
a unique gamut mapping algorithm, and a wide selection of rendering intents. It
0fafbd9
also includes code for the fastest portable 8 bit raster color conversion
0fafbd9
engine available anywhere, as well as support for fast, fully accurate 16 bit
0fafbd9
conversion. Device color gamuts can also be viewed and compared using a VRML
0fafbd9
viewer.
0fafbd9
0fafbd9
0fafbd9
%package doc
0fafbd9
Summary: Argyll CMS documentation
0fafbd9
Group:   User Interface/X
0fafbd9
# Does not really make sense without Argyll CMS itself
0fafbd9
Requires: %{name} = %{version}-%{release}
0fafbd9
0fafbd9
%description doc
0fafbd9
The Argyll color management system supports accurate ICC profile creation for
0fafbd9
scanners, CMYK printers, film recorders and calibration and profiling of
0fafbd9
displays.
0fafbd9
0fafbd9
This package contains the Argyll color management system documentation.
0fafbd9
0fafbd9
0fafbd9
%prep
0fafbd9
%setup -q -c
0fafbd9
# Remove useless bundled libs to make sure we don't accidentally include them
0fafbd9
rm -fr tiff libusb libusbw
0fafbd9
# Make argyllcms actually build on a modern Linux system
0fafbd9
%patch0 -p1 -b .build
d1d1689
d1d1689
# Code fixes
0fafbd9
%patch1 -p1 -b .printf
d1d1689
%patch2 -p1 -b .scanin
0fafbd9
a653abe
# Legal patch required
a653abe
%patch3 -p1 -b .legal
0fafbd9
0fafbd9
%build
0fafbd9
CCOPTFLAG="%{optflags}"
0fafbd9
PATH=$PATH:.
0fafbd9
export CCOPTFLAG PATH
0fafbd9
0fafbd9
%define jam jam -d x -f../Jambase %{?_smp_mflags}
0fafbd9
0fafbd9
# Patching and running makeall.ksh would be easier, but that would hide build
0fafbd9
# errors from rpm. If the build process was a real DAG a single for loop would
0fafbd9
# be sufficient
0fafbd9
0fafbd9
for dir in numlib plot icc cgats ; do
0fafbd9
   pushd $dir
0fafbd9
      %{jam}
0fafbd9
   popd
0fafbd9
done
0fafbd9
0fafbd9
pushd rspl
0fafbd9
   %{jam} librspl.a
0fafbd9
popd
0fafbd9
0fafbd9
pushd xicc
0fafbd9
   %{jam} libxicc.a libxcolorants.a
0fafbd9
popd
0fafbd9
0fafbd9
pushd gamut
0fafbd9
   %{jam}
0fafbd9
popd
0fafbd9
0fafbd9
pushd spectro
0fafbd9
   %{jam} libinsttypes.a
0fafbd9
popd
0fafbd9
0fafbd9
for dir in xicc imdi target scanin profile link tweak render spectro rspl ; do
0fafbd9
   pushd $dir
0fafbd9
      %{jam}
0fafbd9
   popd
0fafbd9
done
0fafbd9
0fafbd9
0fafbd9
%install
0fafbd9
rm -rf %{buildroot}
0fafbd9
0fafbd9
# Use upstream's install logic targetting a temp dir so files can be re-sorted
0fafbd9
# sanely later
0fafbd9
0fafbd9
PATH=$PATH:.
0fafbd9
DOTDOT=$PWD/tmp
0fafbd9
0fafbd9
export DOTDOT PATH
0fafbd9
0fafbd9
for dir in gamut icc imdi link profile render scanin spectro target tweak xicc
0fafbd9
do
0fafbd9
   pushd $dir
0fafbd9
      %{jam} install
0fafbd9
   popd
0fafbd9
done
0fafbd9
0fafbd9
# No business in bin
0fafbd9
rm $DOTDOT/bin/*.txt
0fafbd9
mv $DOTDOT/bin/*.gam .
0fafbd9
0fafbd9
# Licensing madness
0fafbd9
install -p -m 0644 icc/License.txt License-icc.txt
0fafbd9
install -p -m 0644 cgats/License.txt License-cgats.txt
0fafbd9
0fafbd9
ln -s ArgyllDoc.html doc/index.html
0fafbd9
0fafbd9
# Little CMS conflict
0fafbd9
mv $DOTDOT/bin/icclink $DOTDOT/bin/icclink-%{name}
0fafbd9
0fafbd9
# Actual install phase
0fafbd9
0fafbd9
install -d -m 0755 %{buildroot}%{_bindir}
0fafbd9
install -p -m 0755 tmp/bin/* %{buildroot}%{_bindir}
0fafbd9
0fafbd9
install -d -m 0755 %{buildroot}%{_datadir}/%{name}
0fafbd9
install -p -m 0644 ref/* scanin/QPcard_201.c* *.gam \
0fafbd9
        %{buildroot}%{_datadir}/%{name}
0fafbd9
rm %{buildroot}%{_datadir}/%{name}/afiles
0fafbd9
0fafbd9
# Do some device permission magic
0fafbd9
install -d -m 0755 %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor/
0fafbd9
install -p -m 0644 %{SOURCE1} \
0fafbd9
        %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor/19-color.fdi
0fafbd9
0fafbd9
install -d -m 0755 %{buildroot}%{_datadir}/PolicyKit/policy/
0fafbd9
install -p -m 0644 %{SOURCE2} \
0fafbd9
        %{buildroot}%{_datadir}/PolicyKit/policy/color-device-file.policy
0fafbd9
0fafbd9
0fafbd9
%clean
0fafbd9
rm -rf %{buildroot}
0fafbd9
0fafbd9
0fafbd9
%files
0fafbd9
%defattr(0644,root,root,0755)
0fafbd9
%doc *.txt
0fafbd9
0fafbd9
%attr(0755,root,root) %{_bindir}/*
0fafbd9
%dir %{_datadir}/%{name}
0fafbd9
%{_datadir}/%{name}/*
0fafbd9
%{_datadir}/hal/fdi/policy/10osvendor/19-color.fdi
0fafbd9
%{_datadir}/PolicyKit/policy/color-device-file.policy
0fafbd9
0fafbd9
0fafbd9
%files doc
0fafbd9
%defattr(0644,root,root,0755)
0fafbd9
%doc doc/*.html doc/*.jpg doc/*.txt
0fafbd9
0fafbd9
0fafbd9
%changelog
a653abe
* Wed Mar 26 2008 Tom "spot" Callaway <tcallawa@redhat.com>
a653abe
- patch applied for legal reasons
a653abe
0fafbd9
* Thu Feb 8 2008 Nicolas Mailhot <nicolas.mailhot at laposte.net>
d1d1689
- 0.70-0.8.Beta9
d1d1689
✓ Another code fix (Stefan Brüns)
0fafbd9
- 0.70-0.8.Beta8
0fafbd9
✓ update to Stefan Brüns' latest safe-printf patch (bz421921#c18)
0fafbd9
0fafbd9
* Thu Feb 7 2008 Nicolas Mailhot <nicolas.mailhot at laposte.net>
0fafbd9
- 0.70-0.7.Beta8
0fafbd9
  Finally got around packaging beta8, I suck
0fafbd9
✓ Fedora patches merged upstream, dropped from rpm
0fafbd9
✓ Huey handling seems sanitized (needs testing by Huey users)
0fafbd9
⚖ Upstream relicensed icc and cgats library to plain MIT license (Thanks!)
0fafbd9
0fafbd9
* Thu Dec 14 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
0fafbd9
- 0.70-0.6.Beta7
0fafbd9
☹ fix udev typo
0fafbd9
- 0.70-0.5.Beta7
0fafbd9
⚖ Remove files that may be GPLv2-only according to upstream
0fafbd9
0fafbd9
* Thu Dec 13 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
0fafbd9
- 0.70-0.4.Beta7
0fafbd9
✓ move to modern PolicyKit world (David Zeuthen, Frédéric Crozat, me)
0fafbd9
0fafbd9
* Wed Dec 12 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
0fafbd9
- 0.70-0.3.Beta7
0fafbd9
✓ integrate review feedback
0fafbd9
- 0.70-0.2.Beta7
0fafbd9
✓ fix buffer overflows in dispread and iccdump (credits Daniel Berrangé)
0fafbd9
- 0.70-0.1.Beta7
0fafbd9
✓ 0.70 beta7
0fafbd9
➤ initial laborious packaging
0fafbd9
✌ Build system from hell untangling by Frédéric Crozat (Mandriva), and me
0fafbd9
✌ device permission magic by me
0fafbd9
☣ Massively under-tested package, please report problems