File hugin.spec of Package hugin

#
# spec file for package hugin
#
# 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 http://bugs.opensuse.org/
#


Name:           hugin
BuildRequires:  Mesa-devel
BuildRequires:  OpenEXR-devel
BuildRequires:  SDL-devel
%if 0%{?suse_version} > 1325
BuildRequires:  libboost_filesystem-devel
%else
BuildRequires:  boost-devel
%endif
BuildRequires:  cmake >= 2.8.12
BuildRequires:  desktop-file-utils
BuildRequires:  exiftool
BuildRequires:  fdupes
BuildRequires:  fftw3-devel
BuildRequires:  freeglut-devel
BuildRequires:  gcc-c++
BuildRequires:  glew-devel
BuildRequires:  lapack
BuildRequires:  libXi-devel
BuildRequires:  libXmu-devel
BuildRequires:  libexiv2-devel
BuildRequires:  libjpeg-devel
BuildRequires:  liblapack3
BuildRequires:  liblcms2-devel
BuildRequires:  libpano-devel >= 2.9.19
BuildRequires:  libtiff-devel
BuildRequires:  libxml2
BuildRequires:  python-wxWidgets >= 3
BuildRequires:  sqlite3-devel
BuildRequires:  swig
BuildRequires:  update-desktop-files
BuildRequires:  vigra-devel
BuildRequires:  wxWidgets-devel >= 3
BuildRequires:  zip
%define mversion 2018.0
Version:        2018.0.0
Release:        0
Summary:        Toolchain for Stitching of Images and Creating Panoramas
License:        GPL-2.0+
Group:          Productivity/Graphics/Other
Url:            http://hugin.sourceforge.net/
Source:         http://downloads.sourceforge.net/project/%{name}/%{name}/%{name}-%{mversion}/%{name}-%{version}.tar.bz2
# For SVN snapshot:
# svn co https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk hugin
#Source:         %%{name}-svn2008xxxx.tar.bz2
Source1:        %{name}-svn-dummy
# This script is a combined appdata.prov and desktop-file.prov to enable hugin to provide appdata.xml and desktop files see boo#952324
Source2:        find-hugin-provides.prov
Patch0:         hugin.appdata.patch
Requires:       enblend-enfuse >= 3.2
# needed for photo stiching (bnc#822775)
Requires:       make
Recommends:     autopano-sift
Recommends:     exiftool
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%define __find_provides %{SOURCE2}
#%%debug_package

%description
Hugin can be used to stitch multiple images together. The resulting
image can span 360 degrees. Another common use is the creation of very
high resolution pictures by combining multiple images.

Other tools in this package can correct lens distortion, vignetting and
chromatic abberation, create HDR images, provide automatic feature
detection and extraction of key points.

%prep
%setup -q
%patch0

# For SVN snapshot:
#setup -q -n %%{name}
# Rename Catalan in Spain to Catalan (translation removed in version 2014.0.0).
#mv src/translations/ca_ES.po src/translations/ca.po
# Rename Czech in Czech Republic to Czech.
mv src/translations/cs_CZ.po src/translations/cs.po
#sed -i "s/ca_ES/ca/;s/cs_CZ/cs/" src/hugin/po/LINGUAS
# For SVN snapshot:
#mkdir bin
#cp %%{SOURCE1} bin/svn
#chmod +x bin/svn
chmod 0755 %{SOURCE2}

%build
echo -n be8da0221960 > rev.txt
export PATH=$PWD/bin:$PATH
export CFLAGS="%{optflags}"
export CXXFLAGS="$CFLAGS"
# FIXME: This is an ugly hack. Build system should be fixed instead! Remove as soon as upstream fixes it (bnc#846944).
export LDFLAGS="-Wl,-rpath -Wl,%{_libdir}/hugin"
LIB_SUFFIX=%{_lib}
LIB_SUFFIX=${LIB_SUFFIX#lib}
mkdir build && cd build
cmake \
	-DCMAKE_SKIP_RPATH=ON \
	-DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_SUFFIX=$LIB_SUFFIX \
	-DENABLE_LAPACK=ON BUILD_HSI=ON \
	..
# parallel make kills our workers
make VERBOSE=1 %{?_smp_mflags} -j1

%install
cd build
%make_install
cd ..
%suse_update_desktop_file hugin 2DGraphics
%suse_update_desktop_file PTBatcherGUI 2DGraphics
%suse_update_desktop_file calibrate_lens_gui 2DGraphics
# locales
%{find_lang} %{name}
# Use better place for MIME icons.
mv -f %{buildroot}%{_datadir}/icons/gnome %{buildroot}%{_datadir}/icons/hicolor
mkdir -p %{buildroot}%{_docdir}/%{name}
cp -a AUTHORS authors.txt COPYING.txt Changes.txt README TODO %{buildroot}%{_docdir}/%{name}/
chmod -x %{buildroot}%{_docdir}/%{name}/*
%fdupes %{buildroot}

%post
%icon_theme_cache_post
%mime_database_post
%desktop_database_post

%postun
%icon_theme_cache_postun
%mime_database_postun
%desktop_database_postun

%files -f %{name}.lang
%defattr(-,root,root)
%doc %{_docdir}/%{name}
%{_bindir}/*
%{_datadir}/hugin
%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/48x48/mimetypes/*.png
%{_datadir}/mime/packages/*.xml
%{_datadir}/pixmaps/*.png
%dir %{_datadir}/appdata
%{_datadir}/appdata/*xml
%dir %{_libdir}/hugin
%{_libdir}/hugin/*.so.*
%doc %{_mandir}/man?/*.*

%changelog
openSUSE Build Service is sponsored by