File oyranos.spec of Package oyranos

#
# spec file for package oyranos
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2011-2017 Kai-Uwe Behrmann <ku.b@gmx.de>
#
# 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/
#


Version:        0.9.6
Release:        0
Source0:        oyranos_%{version}.orig.tar.bz2
Source1:        oyranos_%{version}-1.debian.tar.gz
%define syscolordir     /usr/share/color
%define usercolordir    ~/.config/color
%define usercolordata   ~/.local/share/color
%define iccdirname      icc
%define cmmsubpath      color/modules
%define metasubpath     oyranos-meta
%define settingsdirname settings
%define targetdirname   target
%define pixmapdir       /usr/share/pixmaps
%define icondir         /usr/share/icons
%define desktopdir      /usr/share/applications

Summary:        Color Management System
License:        BSD-3-Clause and GPL-2.0
Group:          Development/Libraries/Other

Name:           oyranos
Url:            http://www.oyranos.org
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Prefix:         %{_prefix}

Source2:        oyranos-rpmlintrc
BuildRequires:  cairo-devel
BuildRequires:  cmake
BuildRequires:  color-filesystem
BuildRequires:  cups-devel
BuildRequires:  desktop-file-utils
BuildRequires:  doxygen
BuildRequires:  gcc-c++
BuildRequires:  gettext
BuildRequires:  libXcm-devel >= 0.5.4
BuildRequires:  netpbm
BuildRequires:  pkgconfig
BuildRequires:  xdg-utils

Requires:       oyranos-monitor
Requires:       oyranos-profile-graph
%if 0%{?suse_version} > 0
Recommends:     oyranos-qcmsevents
%endif

%if 0%{?suse_version} > 0
BuildRequires:  fltk
BuildRequires:  fltk-devel
BuildRequires:  graphviz
BuildRequires:  libjpeg-devel
BuildRequires:  libltdl-devel
BuildRequires:  libyajl-devel
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(QtGui)
BuildRequires:  pkgconfig(exiv2)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(glu)
BuildRequires:  pkgconfig(lcms)
BuildRequires:  pkgconfig(lcms2)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(libraw)
BuildRequires:  pkgconfig(libtiff-4)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(sane-backends)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xfixes)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xmu)
BuildRequires:  pkgconfig(xp)
BuildRequires:  pkgconfig(xpm)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  pkgconfig(xxf86vm)
%endif

%if 0%{?suse_version} > 1310
BuildRequires:  pkgconfig(Qt5Svg)
BuildRequires:  pkgconfig(Qt5Widgets)
BuildRequires:  pkgconfig(Qt5X11Extras)
BuildRequires:  pkgconfig(Qt5Xml)
%define use_qt5 1
%else
%define use_qt5 0
%endif

%if 0%{?suse_version}
BuildRequires:  pkgconfig(elektra)
%define use_elektra 1
%else
%define use_elektra 0
%endif

%if 0%{?mandriva_version} > 0
BuildRequires:  fltk
BuildRequires:  fltk-devel
BuildRequires:  graphviz
BuildRequires:  libjpeg
BuildRequires:  libjpeg-devel
BuildRequires:  libtool-devel
BuildRequires:  pkgconfig(QtGui)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(glu)
BuildRequires:  pkgconfig(lcms)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(libtiff-4)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xfixes)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xmu)
BuildRequires:  pkgconfig(xrandr)
%endif

%if 0%{?fedora_version} > 0 && 0%{?rhel_version} < 600
BuildRequires:  fltk
BuildRequires:  fltk-devel
BuildRequires:  fltk-fluid
BuildRequires:  graphviz
BuildRequires:  libjpeg
BuildRequires:  libjpeg-devel
BuildRequires:  liblcms-devel
BuildRequires:  libtool
BuildRequires:  libtool-ltdl-devel
BuildRequires:  pkgconfig(QtGui)
BuildRequires:  pkgconfig(exiv2)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(glu)
BuildRequires:  pkgconfig(lcms)
BuildRequires:  pkgconfig(lcms2)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(libraw)
BuildRequires:  pkgconfig(libtiff-4)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(sane-backends)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xfixes)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xmu)
BuildRequires:  pkgconfig(xp)
BuildRequires:  pkgconfig(xpm)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  pkgconfig(xxf86vm)
%if 0%{?fedora_version} < 21
BuildRequires:  yajl >= 2.1.0
BuildRequires:  yajl-devel >= 2.1.0
%endif
%endif

%if 0%{?centos_version} >= 600
BuildRequires:  fltk
BuildRequires:  fltk-devel
BuildRequires:  fltk-fluid
BuildRequires:  graphviz
BuildRequires:  libjpeg
BuildRequires:  libjpeg-devel
BuildRequires:  libtool
BuildRequires:  libtool-ltdl
BuildRequires:  libtool-ltdl-devel
BuildRequires:  yajl-devel
BuildRequires:  pkgconfig(QtGui)
BuildRequires:  pkgconfig(exiv2)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(glu)
BuildRequires:  pkgconfig(lcms2)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(libraw)
BuildRequires:  pkgconfig(libtiff-4)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(sane-backends)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xfixes)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xmu)
BuildRequires:  pkgconfig(xp)
BuildRequires:  pkgconfig(xpm)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  pkgconfig(xxf86vm)
%endif

%if 0%{?rhel_version} >= 600
%define use_fltk 0
BuildRequires:  libjpeg
BuildRequires:  libjpeg-devel
BuildRequires:  libtool
BuildRequires:  pkgconfig(QtGui)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(glu)
BuildRequires:  pkgconfig(lcms2)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(libtiff-4)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(sane-backends)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xfixes)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xmu)
BuildRequires:  pkgconfig(xp)
BuildRequires:  pkgconfig(xpm)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  pkgconfig(xxf86vm)
%else
%define use_fltk 1
%endif

%package      -n lib%{name}0
Summary:        Color Management System Libraries
Group:          Development/Libraries/Other
# assume users want the device modules
Requires:       lib%{name}0-cups = %{version}
%if 0%{?suse_version} > 1130 || 0%{?fedora_version} > 0
Requires:       lib%{name}0-lraw = %{version}
%endif
Requires:       lib%{name}0-monitor = %{version}
# we need rgb, lab, xyz gray and cmyk profiles
# the proper names: sRGB.icc, XYZ.icc, Lab.icc are in the OpenICC-data package
Requires:       icc-profiles
# for mount-openicc we need the cli
Requires(post):       elektra

%package      -n lib%{name}-devel
Summary:        Headers, Configuration and static Libs + Documentation
Group:          Development/Libraries/Other
Requires:       lib%{name}0 = %{version}
Requires:       libxml2-devel
%if 0%{?suse_version} > 1130
Requires:       libyajl-devel
%endif

%package      -n lib%{name}-alpha-devel
Summary:        Alpha and Pre Alpha Headers
Group:          Development/Libraries/Other
Requires:       lib%{name}-devel = %{version}

%package      -n lib%{name}-alpha-devel-doc
Summary:        Alpha and Pre Alpha Documentation
Group:          Development/Libraries/Other
Requires:       lib%{name}-alpha-devel = %{version}

%package      -n lib%{name}0-monitor
Summary:        Oyranos Monitor dependent Libraries
Group:          Development/Libraries/Other
Requires:       libXcm0 >= 0.5.4
Requires:       xcalib

%package      monitor
Summary:        Oyranos Monitor Tools
Group:          Development/Libraries/Other
Requires:       lib%{name}0-monitor >= %{version}

%package      profile-graph
Summary:        Profile 2D graph tool
Group:          Development/Libraries/Other

%package      -n lib%{name}0-cups
Summary:        CUPS device support
Group:          Development/Libraries/Other
Requires:       cups

%if 0%{?suse_version} > 1130 || 0%{?fedora_version} > 0
%package      -n lib%{name}0-lraw
Summary:        LibRaw device support
Group:          Development/Libraries/Other
%endif

%package      -n lib%{name}0-sane
Summary:        SANE device support
Group:          Development/Libraries/Other

%if 0%{?use_fltk} > 0
%package      ui-fltk
Summary:        Example Configuration Panel + Image Viewer
Group:          System/GUI/Other
Requires:       fltk
%endif

%if 0%{?use_qt5} > 0
%package      qcmsevents
Summary:        Xorg Color management Event observer applet
Group:          System/Monitoring
Requires:       oyranos-monitor
%endif

%package      qcmsevents-qt4
Summary:        Xorg Color management Event observer applet
Group:          System/Monitoring
Requires:       oyranos-monitor

%description
Oyranos is a color management system.
Features:
o configuration for cross application color agreement 
o plugable and selectable modules (known as CMM's)
o pixel conversions
o profile handling
o named colors
o device profile assignment

%description -n lib%{name}0
Oyranos is usable to store default profiles and paths and
query for profiles in that paths.
An internal device profile API allowes configuring of a 
profile in X.
The documentation in html format is included.
The object oriented Oyranos API's provide advanced access to
ICC profiles, allow for filtering profile lists and provide
a CMM independent color conversion API. Single color lookups 
are supported.
These API's are to be considered for changing very frequently.

%description -n lib%{name}-devel
Header files, libraries and documentation for development.
Oyranos is usable to store default profiles and paths and
query for profiles in that paths.
The documentation in html format is included.

%description -n lib%{name}-alpha-devel
Header files and libraries for development.
The object oriented Oyranos API's provide advanced access to
ICC profiles, allow for filtering profile lists and provide
a CMM independent color conversion API. Single color lookups 
are supported.
These API's are to be considered for changing very frequently.

%description -n lib%{name}-alpha-devel-doc
Documentation for development.
These API's are to be considered for changing very frequently.

%description  monitor
The monitor profile configuration tool.

%description  -n lib%{name}0-monitor
The monitor support libraries of the
Oyranos color management system.

%description  profile-graph
The grapher renders a simple gamut 
hull of a ICC profile in 2D.

%description  -n lib%{name}0-cups
CUPS device support for the
Oyranos color management system.

%if 0%{?suse_version} > 1130 || 0%{?fedora_version} > 0
%description  -n lib%{name}0-lraw
LibRaw device support for the
Oyranos color management system.
%endif

%description  -n lib%{name}0-sane
SANE device support for the
Oyranos color management system.

%if 0%{?use_fltk} > 0
%description  ui-fltk
A example configuration GUI and a image viewer.
Oyranos is a color management system.
%endif

%if 0%{?use_qt5} > 0
%description  qcmsevents
the applet shows if a color server is running through a icon in 
the system tray.
%endif

%description  qcmsevents-qt4
the applet shows if a color server is running through a icon in 
the system tray.

%prep
%setup -q

%build
%configure --enable-debug
%{__make} VERBOSE=1 %{_smp_mflags} || make

%install
%make_install
rm -fr %{buildroot}/%{_datadir}/doc/%{name}-%{version}
%if 0%{?use_qt5} > 0
cp -av src/tools/qcmsevents/qcmsevents-applet.desktop .
%endif
cp -av src/tools/qcmsevents/qcmsevents-qt4-applet.desktop .
cp -av extras/%{name}-profile-install.desktop .
cp -av src/examples/image_display/%{name}-image-display.desktop .
echo 'X-SuSE-translate=true' >> qcmsevents-applet.desktop
echo 'X-SuSE-translate=true' >> qcmsevents-qt4-applet.desktop
echo 'X-SuSE-translate=true' >> %{name}-profile-install.desktop
echo 'X-SuSE-translate=true' >> %{name}-image-display.desktop
%if 0%{?use_qt5} > 0
desktop-file-install --dir=%{buildroot}/%{desktopdir} qcmsevents-applet.desktop
%endif
desktop-file-install --dir=%{buildroot}/%{desktopdir} qcmsevents-qt4-applet.desktop
desktop-file-install --dir=%{buildroot}/%{desktopdir} %{name}-profile-install.desktop
%if 0%{?use_fltk} > 0
desktop-file-install --dir=%{buildroot}/%{desktopdir} %{name}-image-display.desktop
%endif

#fix rpath issues
#chrpath --delete %{buildroot}/%{_bindir}/oyranos-xforms-modules 

%find_lang %{name}       # generate a special file list
%if 0%{?use_qt5} == 0
rm %{buildroot}/%{_mandir}/man1/qcmsevents.1*
%endif

%post -n lib%{name}0
/sbin/ldconfig
export LD_LIBRARY_PATH=%{_libdir}/elektra4/:$LD_LIBRARY_PATH
%if 0%{?use_elektra} > 0
kdb mount-openicc || :
%endif

%postun -n lib%{name}0 -p /sbin/ldconfig

%files -f %{name}.lang
%defattr(-, root, root)
%doc AUTHORS.md COPYING.md ChangeLog.md README.md
%{_bindir}/%{name}-compat-gnome
%{_bindir}/%{name}-icc
%{_bindir}/%{name}-policy
%{_bindir}/%{name}-profile
%{_bindir}/%{name}-profiles
%{_bindir}/%{name}-profile-install
%{_bindir}/%{name}-xforms
%{_bindir}/%{name}-xforms-modules
%{_mandir}/man1/%{name}-policy*
%{_mandir}/man1/%{name}-profile.1*
%{_mandir}/man1/%{name}-profiles.1*
%{_mandir}/man1/%{name}-profile-install.1*
%{_mandir}/man1/%{name}-xforms.1*
%{_mandir}/man1/%{name}-xforms-modules.1*
%{pixmapdir}/oyranos_logo.*
%{pixmapdir}/lcms_logo2.png
%dir %{syscolordir}/%{settingsdirname}
%{syscolordir}/%{settingsdirname}/*.policy.xml
%{desktopdir}/%{name}-profile-install.desktop

%files -n lib%{name}0
%defattr(-, root, root)
%{_libdir}/libOyranosCore.so.*
%{_libdir}/libOyranosObject.so.*
%{_libdir}/libOyranosModules.so.*
%{_libdir}/libOyranosConfig.so.*
%{_libdir}/libOyranos.so.*
%dir %{_libdir}/color/
%dir %{_libdir}/%{cmmsubpath}/
%dir %{_libdir}/%{metasubpath}/
%{_libdir}/%{cmmsubpath}/lib%{name}_*DB_cmm_module*
%{_libdir}/%{cmmsubpath}/lib%{name}_lcm*
%{_libdir}/%{cmmsubpath}/lib%{name}_oyra_cmm_module*
%{_libdir}/%{cmmsubpath}/lib%{name}_oicc_cmm_module*
%{_libdir}/%{cmmsubpath}/lib%{name}_oPNG_cmm_module*
%{_libdir}/%{cmmsubpath}/lib%{name}_oJPG_cmm_module*
%{_libdir}/%{cmmsubpath}/lib%{name}_trds_cmm_module*
%{_libdir}/%{metasubpath}/lib%{name}_oyIM_cmm_module*

%files -n lib%{name}-devel
%defattr(-, root, root)
%{_bindir}/%{name}-config
%{_libdir}/libOyranosCore.so
%{_libdir}/libOyranosObject.so
%{_libdir}/libOyranosModules.so
%{_libdir}/libOyranosConfig.so
%{_libdir}/libOyranos.so
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/icc34.h
%{_includedir}/%{name}/oy*.h
%{_libdir}/pkgconfig/*
%dir %{_libdir}/cmake/oyranos/
%{_libdir}/cmake/oyranos/*.cmake
%{_libdir}/lib%{name}_core-static.a
%{_libdir}/lib%{name}_object-static.a
%{_libdir}/lib%{name}_modules-static.a
%{_libdir}/lib%{name}_config-static.a
%{_libdir}/lib%{name}-static.a
%{_mandir}/man3/%{name}-config.3*
%{_mandir}/man3/%{name}.*
%doc doc/html

%files -n lib%{name}-alpha-devel
%defattr(-, root, root)
%dir %{_includedir}/%{name}/alpha
%{_includedir}/%{name}/alpha/%{name}_alpha.h

%files -n lib%{name}-alpha-devel-doc
%defattr(-, root, root)
%doc doc/doc_alpha/html

%files monitor
%defattr(-, root, root)
%{_bindir}/%{name}-monitor
%{_bindir}/%{name}-monitor-daemon
%{_mandir}/man1/%{name}-monitor.1*
%{_mandir}/man1/%{name}-monitor-daemon.1*
/etc/xdg/autostart/%{name}-monitor-setup.desktop

%files -n lib%{name}0-monitor
%defattr(-, root, root)
%dir %{_libdir}/color/
%dir %{_libdir}/%{cmmsubpath}/
%{_libdir}/%{cmmsubpath}/lib%{name}_oyX1_cmm_module*
%{_libdir}/%{cmmsubpath}/lib%{name}_oydi_cmm_module*
%dir %{syscolordir}/rank-map
%{syscolordir}/rank-map/config.icc_profile.monitor.*.json

%files -n lib%{name}0-cups
%defattr(-, root, root)
%dir %{_libdir}/color/
%dir %{_libdir}/%{cmmsubpath}/
%{_libdir}/%{cmmsubpath}/lib%{name}_CUPS_cmm_module*
%dir %{syscolordir}/rank-map
%{syscolordir}/rank-map/config.icc_profile.printer.*.json

%if 0%{?suse_version} > 1130 || 0%{?fedora_version} > 0
%files -n lib%{name}0-lraw
%defattr(-, root, root)
%dir %{_libdir}/color/
%dir %{_libdir}/%{cmmsubpath}/
%{_libdir}/%{cmmsubpath}/lib%{name}_lraw_cmm_module*
%{_libdir}/%{cmmsubpath}/lib%{name}_oyRE_cmm_module*
%dir %{syscolordir}/rank-map
%{syscolordir}/rank-map/config.icc_profile.raw-image.*.json
%endif

%files -n lib%{name}0-sane
%defattr(-, root, root)
%dir %{_libdir}/color/
%dir %{_libdir}/%{cmmsubpath}/
%{_libdir}/%{cmmsubpath}/lib%{name}_SANE_cmm_module*
%dir %{syscolordir}/rank-map
%{syscolordir}/rank-map/config.icc_profile.scanner.*.json

%if 0%{?use_fltk} > 0
%files ui-fltk
%defattr(-, root, root)
%{_bindir}/%{name}-config-fl*
%{_bindir}/%{name}-image-display
%{_bindir}/%{name}-xforms-fltk
%{_mandir}/man1/%{name}-config-fltk.1*
%{_mandir}/man1/%{name}-image-display.1*
%{_mandir}/man1/%{name}-xforms-fltk.1*
%{desktopdir}/%{name}-image-display.desktop
%endif

%if 0%{?use_qt5} > 0
%files qcmsevents
%defattr(-, root, root)
%{_bindir}/qcmsevents
%{_mandir}/man1/qcmsevents.1*
%{pixmapdir}/qcmsevents.*
%{desktopdir}/qcmsevents-applet.desktop
%endif

%files qcmsevents-qt4
%defattr(-, root, root)
%{_bindir}/qcmsevents-qt4
%{_mandir}/man1/qcmsevents-qt4.1*
%{desktopdir}/qcmsevents-qt4-applet.desktop
%{pixmapdir}/qcmsevents-qt4.*

%files profile-graph
%defattr(-, root, root)
%{_bindir}/%{name}-profile-graph
%{_mandir}/man1/%{name}-profile-graph.1*

%changelog
openSUSE Build Service is sponsored by