File engauge-digitizer.spec of Package engauge-digitizer

#
# spec file for package engauge-digitizer
#
# Copyright (c) 2016 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:           engauge-digitizer
Version:        9.1
Release:        0
Summary:        Ditigize old graphs into numbers again
License:        GPL-2.0+
Group:          Productivity/Scientific/Other
Url:            http://markummitchell.github.io/engauge-digitizer/
Source0:        https://github.com/markummitchell/%{name}/archive/v%{version}.tar.gz
Source1:        %{name}.desktop
Source2:        %{name}-rpmlintrc
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  hicolor-icon-theme
BuildRequires:  icns-utils
BuildRequires:  libjpeg-devel
BuildRequires:  pkgconfig
BuildRequires:  texlive-epstopdf-bin
BuildRequires:  texlive-latex-bin
BuildRequires:  texlive-makeindex-bin
BuildRequires:  texlive-metafont-bin
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5Gui)
BuildRequires:  pkgconfig(Qt5Help)
BuildRequires:  pkgconfig(Qt5Network)
BuildRequires:  pkgconfig(Qt5PrintSupport)
BuildRequires:  pkgconfig(Qt5Sql)
BuildRequires:  pkgconfig(Qt5UiTools)
BuildRequires:  pkgconfig(Qt5Widgets)
BuildRequires:  pkgconfig(Qt5Xml)
BuildRequires:  pkgconfig(fftw3)
BuildRequires:  pkgconfig(libopenjp2)
BuildRequires:  pkgconfig(libpng12)
BuildRequires:  pkgconfig(log4cpp)
BuildRequires:  pkgconfig(poppler-qt5)
BuildRequires:  tex(8r.enc)
BuildRequires:  tex(adjustbox.sty)
BuildRequires:  tex(caption.sty)
BuildRequires:  tex(colortbl.sty)
BuildRequires:  tex(fancyhdr.sty)
BuildRequires:  tex(float.sty)
BuildRequires:  tex(geometry.sty)
BuildRequires:  tex(helvet.sty)
BuildRequires:  tex(hyperref.sty)
BuildRequires:  tex(multirow.sty)
BuildRequires:  tex(natbib.sty)
BuildRequires:  tex(pcrr8t.tfm)
BuildRequires:  tex(phvr8t.tfm)
BuildRequires:  tex(sectsty.sty)
BuildRequires:  tex(tabu.sty)
BuildRequires:  tex(textcomp.sty)
BuildRequires:  tex(tocloft.sty)
BuildRequires:  tex(wasy7.tfm)
BuildRequires:  tex(wasysym.sty)
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
Recommends:     %{name}-doc
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This open source, digitizing software converts an image
file showing a graph or map, into numbers. The image file can come
from a scanner, digital camera or screenshot. The numbers can be read
on the screen, and written or copied to a spreadsheet.

%package doc
Summary:        Documentation for Engauge Digitizer
Group:          Documentation/HTML
Requires:       %{name} = %{version}
BuildArch:      noarch

%description doc
This package contains the documentation for Engauge Digitizer.

%prep
%setup -q

%build
# ADD JPEG2000 SUPPORT
export JPEG2000_INCLUDE=%{_includedir}/openjpeg-2.1
export JPEG2000_LIB=%{_libdir}
export OPENJPEG_INCLUDE=%{_includedir}/openjpeg-2.1
export OPENJPEG_LIB=%{_libdir}
export POPPLER_INCLUDE=%{_includedir}/poppler/qt5
export POPPLER_LIB=%{_libdir}

qmake-qt5 engauge.pro \
  "DEFINES+=HELPDIR=%{_docdir}/%{name}/help" \
  QMAKE_CFLAGS="%optflags -fno-strict-aliasing" \
  QMAKE_CXXFLAGS="%optflags -fno-strict-aliasing" \
  CONFIG+=pdf
make %{?_smp_mflags}

#HELP files
pushd help
qcollectiongenerator-qt5 engauge.qhcp -o engauge.qhc
mv engauge.qch ../bin/documentation
mv engauge.qhc ../bin/documentation
rm -f build
rm .gitignore
for f in engauge.qhcp dateformats.css
do
  sed -i 's/\r$//' ${f}
done
popd

#HTML/Latex documentation files
pushd src
doxygen
popd

pushd doc/doxygen/latex
make pdf
popd

%install
install -Dm 755 bin/engauge %{buildroot}%{_bindir}/engauge

#INSTALL HI-RES ICONS
pushd src/img
icns2png -x digitizer.icns
for sz in 16 32 128 256 512;
do
  install -Dm 0644 digitizer_${sz}x${sz}x32.png %{buildroot}%{_datadir}/icons/hicolor/${sz}x${sz}/apps/%{name}.png
done
popd

%suse_update_desktop_file -i %{name}

#INSTALL APPDATA
install -Dm 0644 dev/gnome/engauge-digitizer.appdata.xml \
            %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml

#MANUALLY INSTALL DOC FILES TO BE ABLE TO CLEANUP DUPLICATES USING fdupes
mkdir -p %{buildroot}%{_docdir}/%{name}-doc
cp -pr doc/doxygen/html %{buildroot}%{_docdir}/%{name}-doc/
%fdupes %{buildroot}%{_docdir}/%{name}-doc/html/

%post
%icon_theme_cache_post
%desktop_database_post

%postun
%icon_theme_cache_postun
%desktop_database_postun

%files
%defattr(-,root,root)
%doc README.md help bin/documentation/engauge.qhc bin/documentation/engauge.qch
%license LICENSE
%{_bindir}/engauge
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/applications/%{name}.desktop
%dir %{_datadir}/appdata
%{_datadir}/appdata/%{name}.appdata.xml

%files doc
%doc README.md doc/doxygen/latex/refman.pdf
%{_docdir}/%{name}-doc/html

%changelog
openSUSE Build Service is sponsored by