327 lines
11 KiB
RPMSpec
327 lines
11 KiB
RPMSpec
%if 0%{?fedora} <= 22
|
|
%global _hardened_build 1
|
|
%endif
|
|
|
|
Name: engauge-digitizer
|
|
Summary: Convert graphs or map files into numbers
|
|
Version: 6.0
|
|
Release: 1%{?dist}
|
|
Group: Applications/Engineering
|
|
License: GPLv2+
|
|
URL: http://digitizer.sourceforge.net/
|
|
Source0: https://github.com/markummitchell/engauge6/archive/v%{version}.tar.gz#/engauge6-6.0.tar.gz
|
|
|
|
##Patch the test build script to use qmake-qt5 and default Fedora
|
|
##optimization flags for compilers
|
|
Patch0: %{name}_fix_test_script.patch
|
|
|
|
Epoch: 1
|
|
Provides: %{name} = 1:%{version}-%{release}
|
|
Obsoletes: %{name} < 5.2.11
|
|
Obsoletes: %{name}-transpose < 5.2.11
|
|
|
|
## Proposed in https://bugzilla.redhat.com/show_bug.cgi?id=1182409
|
|
Source1: %{name}.appdata.xml
|
|
Source2: %{name}.svg
|
|
Source3: %{name}-with-name.svg
|
|
|
|
## Main building
|
|
BuildRequires: qt5-qtbase-devel, qt5-qttools-devel
|
|
BuildRequires: fftw-devel, log4cpp-devel, desktop-file-utils
|
|
|
|
##Xvfb is needed to run a virtual X server used by tests
|
|
BuildRequires: xorg-x11-server-Xvfb
|
|
|
|
##Doxygen for documentation
|
|
BuildRequires: doxygen
|
|
|
|
%if 0%{?fedora}
|
|
BuildRequires: libappstream-glib
|
|
BuildRequires: openjpeg2-devel
|
|
%endif
|
|
|
|
%description
|
|
Engauge6 is rewrited with Qt5.
|
|
This digitizing software converts an image file
|
|
showing a graph or map, into numbers.
|
|
The image file can come from a scanner, digital camera
|
|
or screen-shot. The numbers can be read on the screen,
|
|
and written or copied to a spreadsheet.
|
|
The process starts with an image file containing a graph or map.
|
|
The final result is digitized data that can be used by other tools
|
|
such as Gnumeric.
|
|
|
|
New features already added to Engauge6:
|
|
|
|
- Undo/redo of all operations means recovering from mistakes and experimenting
|
|
with options is painless
|
|
- Wizard provides an interactive tutorial to explain the basic steps
|
|
- Wizard creates a checklist guide to interactively leads user through steps
|
|
from file import to file export
|
|
- Cubic spline interpolation between points gives more accurate curves with
|
|
fewer points
|
|
- Axes Checker briefly highlights the axes when they are defined or modified,
|
|
to reveal entry mistakes
|
|
- Graph coordinates can be specified as date and time value, or as degrees,
|
|
minutes and seconds
|
|
- All settings dialogs are resizable so they can be enlarged as necessary to
|
|
display more information
|
|
- Import by drag-and-drop
|
|
- Replacement of Qt3 (which is at its end of life) by Qt5
|
|
- Much better zooming, with a fill mode that automatically zooms in on image
|
|
features, and rezooms when the application window is resized
|
|
- Color picking straight from the original image
|
|
- Uploadable error report generated when a programming error is encountered,
|
|
for identifying problems and improving user support
|
|
- Test suite for regression testing minimizes code breakage
|
|
as new features are added
|
|
|
|
%package samples
|
|
Summary: Sample files for %{name}
|
|
Group: Applications/Engineering
|
|
BuildArch: noarch
|
|
%description samples
|
|
This package contains several sample image files that may be imported into
|
|
Engauge Digitizer (http://digitizer.sourceforge.net).
|
|
|
|
These files are listed below, with comments:
|
|
|
|
- corners.png - Graph that lots of corners that would be painful
|
|
to digitize manually
|
|
- gridlines.gif - Graph with gridlines that are easily removed by Engauge
|
|
- gridlines_log.gif - Another graph with gridlines that are easily
|
|
removed by Engauge
|
|
- gridlines_log.src - Creates gridlines_log.gif in gnuplot using 'load'
|
|
command (not an image!)
|
|
- inverse.jpg - Image of y/x function
|
|
- inverse.png - Same as inverse.jpg but in png format
|
|
- linlog.jpg - Graph with linear/logarithmic coordinates
|
|
- linlog.png - Same as linlog.jpg but in png format
|
|
- loglin.png - Graph with logarithmic/linear coordinates
|
|
- loglog.png - Graph with logarithmic/logarithmic coordinates
|
|
- normdist.jpg - Graph of normal distribution
|
|
- normdist.png - Same as normdist.jpg but in png format
|
|
- pointmatch.jpg - Graph with fuzzy points for playing with Point Match
|
|
feature of Engauge
|
|
- pointplot.bmp - Graph with points that are easily captured by Point Match
|
|
feature of Engauge, if the Discretize settings are set to "Intensity 90 to 99"
|
|
for the triangles, and "Intensity 10 to 50" for the diamonds
|
|
- polarcircles.jpg - Polar plot for experimenting. No coordinates are displayed,
|
|
so not very useful
|
|
- polarplot.jpg - Polar plot with cardioid pattern
|
|
- polarplot.png - Same as polarplot.jpg but in png format
|
|
- testcase.jpg - Simple graph that serves as an excellent starting point for the
|
|
new user
|
|
- testcase.png - Same as testcase.jpg but in png format
|
|
- testcoords.jpg - Advanced graph used by developers to check the affine
|
|
transformations in Engauge
|
|
- testcoords.sxd - Open Office document used to create testcoords.jpg
|
|
(not an image!)
|
|
- usgs.png - Fictional map loosely based on U.S. Geological Survey
|
|
topographic maps
|
|
|
|
%package doc
|
|
Summary: HTML documentation of %{name}
|
|
Group: Applications/Engineering
|
|
BuildArch: noarch
|
|
%description doc
|
|
HTML documentation of %{name}.
|
|
|
|
%prep
|
|
%setup -q -n engauge6-%{version}
|
|
|
|
##Patch the test build script to use qmake-qt5 and default Fedora
|
|
##optimization flags for compilers
|
|
%patch0 -p0
|
|
sed -e 's|RPM_OPT_FLAGS|"%{optflags}"|g' -i src/build_and_run_all_tests
|
|
|
|
##Active support to jpeg2000
|
|
##jpeg2000 libraries not available on EPEL
|
|
%if 0%{?fedora}
|
|
sed -e 's|CONFIG = qt warn_on thread debug|CONFIG = qt warn_on thread jpeg2000 debug|g' -i src/engauge.pro
|
|
%endif
|
|
|
|
##Remove default -O1 optimization
|
|
sed -e 's|-O1||g' -i src/engauge.pro
|
|
|
|
##Remove spurious executable permissions
|
|
for i in `find src -type f \( -name "*.cpp" -o -name "*.h" \)`; do
|
|
chmod a-x $i
|
|
done
|
|
|
|
%build
|
|
pushd src
|
|
%if 0%{?fedora}
|
|
export JPEG2000_INCLUDE=%{_includedir}/openjpeg-2.1
|
|
export JPEG2000_LIB=%{_libdir}
|
|
%endif
|
|
export ENGAUGE_RELEASE=1
|
|
qmake-qt5 -makefile engauge.pro \
|
|
QMAKE_CFLAGS="$RPM_OPT_FLAGS $RPM_LD_FLAGS -Wl,-z,now" \
|
|
QMAKE_CXXFLAGS="$RPM_OPT_FLAGS $RPM_LD_FLAGS -Wl,-z,now"
|
|
make %{?_smp_mflags}
|
|
popd
|
|
|
|
##Build HELP files
|
|
pushd help
|
|
qcollectiongenerator-qt5 engauge.qhcp -o engauge.qhc
|
|
mv engauge.qch ../bin/documentation
|
|
mv engauge.qhc ../bin/documentation
|
|
rm -f build
|
|
popd
|
|
|
|
##Build HTML/Latex documentation files
|
|
pushd src
|
|
doxygen
|
|
popd
|
|
|
|
|
|
%install
|
|
mkdir -p %{buildroot}%{_datadir}/%{name}-%{version}/samples
|
|
mkdir -p %{buildroot}%{_datadir}/%{name}-%{version}/img
|
|
mkdir -p %{buildroot}%{_datadir}/applications
|
|
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
|
mkdir -p %{buildroot}%{_datadir}/appdata
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
|
|
install -p -m 755 bin/engauge %{buildroot}%{_bindir}
|
|
|
|
pushd samples
|
|
install -p -m 644 *.gif *.jp* *.png *.bmp %{buildroot}%{_datadir}/%{name}-%{version}/samples
|
|
popd
|
|
|
|
install -p -m 644 src/img/* %{buildroot}%{_datadir}/%{name}-%{version}/img
|
|
install -p -m 644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps
|
|
install -p -m 644 %{SOURCE3} %{buildroot}%{_datadir}/pixmaps
|
|
%if 0%{?fedora}
|
|
install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/appdata
|
|
%endif
|
|
|
|
##Make a .desktop file
|
|
mkdir -p %{buildroot}%{_datadir}/applications
|
|
cat > %{buildroot}%{_datadir}/applications/%{name}.desktop <<EOF
|
|
[Desktop Entry]
|
|
Name=Engauge Digitizer 6
|
|
Type=Application
|
|
Comment=Extract data from graphs
|
|
TryExec=engauge
|
|
Exec=engauge
|
|
MimeType=text/plain
|
|
Categories=Education;Science;DataVisualization
|
|
Icon=/usr/share/pixmaps/engauge-digitizer.xpm
|
|
Keywords=Analog-Digital Converter;
|
|
EOF
|
|
|
|
%if 0%{?fedora}
|
|
desktop-file-edit \
|
|
--set-icon=%{name}-with-name \
|
|
--set-key=Keywords --set-value="analog;digital;converter;" %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
%else
|
|
|
|
sed -e \
|
|
's|Icon=%{_datadir}/pixmaps/%{name}.xpm|Icon=%{name}-with-name|g' \
|
|
-i %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
|
|
sed -e \
|
|
's|Keywords=Analog-Digital Converter;|Keywords=analog;digital;converter;|g' \
|
|
-i %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
%endif
|
|
|
|
%check
|
|
%if 0%{?fedora}
|
|
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/*.appdata.xml
|
|
%endif
|
|
|
|
##Tests
|
|
pushd src
|
|
xvfb-run -s "-screen 0 640x480x24" -a sh -x ./build_and_run_all_tests
|
|
|
|
%post
|
|
/usr/bin/update-desktop-database &> /dev/null || :
|
|
|
|
%postun
|
|
/usr/bin/update-desktop-database &> /dev/null || :
|
|
|
|
%files
|
|
%{!?_licensedir:%global license %doc}
|
|
%doc README.md help bin/documentation/engauge.qhc bin/documentation/engauge.qch
|
|
%license LICENSE
|
|
%{_bindir}/engauge
|
|
%{_datadir}/pixmaps/%{name}*.svg
|
|
%if 0%{?fedora}
|
|
%{_datadir}/appdata/*.appdata.xml
|
|
%endif
|
|
%{_datadir}/applications/%{name}.desktop
|
|
%{_datadir}/%{name}-%{version}/
|
|
%exclude %{_datadir}/%{name}-%{version}/samples
|
|
|
|
%files samples
|
|
%{!?_licensedir:%global license %doc}
|
|
%doc samples/README
|
|
%license LICENSE
|
|
%dir %{_datadir}/%{name}-%{version}
|
|
%{_datadir}/%{name}-%{version}/samples
|
|
|
|
%files doc
|
|
%{!?_licensedir:%global license %doc}
|
|
%doc README.md doc/doxygen/html
|
|
%license LICENSE
|
|
|
|
%changelog
|
|
* Sat Oct 24 2015 Antonio Trande <sagitter@fedoraproject.org> - 1:6.0-1
|
|
- First release
|
|
- Build release version
|
|
- Activated jpeg200 support
|
|
|
|
* Wed Oct 14 2015 Antonio Trande <sagitter@fedoraproject.org> - 1:6-0.4.20151011git77e64e
|
|
- Commit #77e64e
|
|
- Old Transpose tool obsoleted
|
|
|
|
* Tue Sep 29 2015 Antonio Trande <sagitter@fedoraproject.org> - 1:6-0.3.20150928git4b8703
|
|
- Commit #4b8703
|
|
|
|
* Mon Sep 28 2015 Antonio Trande <sagitter@fedoraproject.org> - 1:6-0.2.20150928gita25102
|
|
- Commit #a25102
|
|
- Built HTML docs
|
|
- Tests performed
|
|
|
|
* Thu Sep 24 2015 Antonio Trande <sagitter@fedoraproject.org> - 1:6-0.1.20150921git4f0c92
|
|
- Bump to the new Engauge6
|
|
|
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.2-10.20150115git28de7d
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 5.2-9.20150115git28de7d
|
|
- Rebuilt for GCC 5 C++11 ABI change
|
|
|
|
* Mon Feb 23 2015 Antonio Trande <sagitter@fedoraproject.org> - 5.2-8.20150115git28de7d
|
|
- Fixed Keywords key in .desktop file
|
|
|
|
* Thu Jan 15 2015 Antonio Trande <sagitter@fedoraproject.org> - 5.2-7.20150115git28de7d
|
|
- Included files proposed in bz#1182409
|
|
|
|
* Thu Jan 15 2015 Antonio Trande <sagitter@fedoraproject.org> - 5.2-6.20150115git28de7d
|
|
- Update to commit 28de7d
|
|
- Package appdata and SVG files
|
|
- data sub-package incorporated in the main one
|
|
- Used the new macro %%license
|
|
|
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.2-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.2-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
* Wed Nov 13 2013 Antonio Trande <sagitter@fedoraproject.org> 5.2-3
|
|
- Data files splitted into a noarch -data subpackage
|
|
- .h/.cpp files not packaged anymore
|
|
|
|
* Tue Nov 12 2013 Antonio Trande <sagitter@fedoraproject.org> 5.2-2
|
|
- Fix 'src/pointset.cpp' compilation error in EPEL
|
|
- Defined Qt3/Qt4 qmake
|
|
- Fix BR Qt4 for EPEL
|
|
- RPM_OPT_FLAGS fixed without patches
|
|
|
|
* Sun Nov 10 2013 Antonio Trande <sagitter@fedoraproject.org> 5.2-1
|
|
- First package
|