Blob Blame History Raw
%global completion_path %(pkg-config --variable=completionsdir bash-completion)

Name:      gtatool
Version:   2.2.0
Release:   1%{?dist}
Summary:   Commandline tool to manipulate GTAs
Group:     Applications/Engineering
License:   GPLv3+
URL:       http://gta.nongnu.org/gtatool.html
Source0:   http://download.savannah.nongnu.org/releases/gta/%{name}-%{version}.tar.xz
Patch0:    %{name}-2.2.0-pcl18.patch

BuildRequires: gettext-devel
BuildRequires: bash-completion
BuildRequires: dcmtk-devel
BuildRequires: desktop-file-utils
BuildRequires: gdal-devel
BuildRequires: glew-devel
BuildRequires: ImageMagick-c++-devel
BuildRequires: libgta-devel
BuildRequires: libsndfile-devel
BuildRequires: matio-devel
BuildRequires: muParser-devel
BuildRequires: netcdf-devel
BuildRequires: netpbm-devel
BuildRequires: OpenEXR-devel
BuildRequires: openjpeg-devel
BuildRequires: pcl-devel
BuildRequires: pkgconfig
BuildRequires: pfstools-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: libtool automake autoconf

# Optional new BRs, when available in Fedora: libgls, libequalizer, libteem
# http://teem.sourceforge.net/
# http://libgls.sourceforge.net/
# https://github.com/Eyescale/Equalizer
# https://bugzilla.redhat.com/show_bug.cgi?id=758472

Requires(post): info
Requires(preun): info

%description
Gtatool is a command line tool to manipulate GTAs.

It provides a set of commands that manipulate GTAs on various levels:
array element components, array dimensions, whole arrays, and streams of arrays.
For example, you can add components to array elements, merge separate arrays
into combined arrays in different ways, apply global transformations to array
data, reorder the array data, and much more.

Additionally, gtatool can import from and export to many other file formats, see
the sub-packages!


%package gui
Summary:        Graphical interface of %{name}
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description gui
This sub-package contains the graphical interface of %{name}.


%package dcmtk
Summary:        Module to import/export via dcmtk
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description dcmtk
This sub-package contains the necessary module to import and export
medical image data in DICOM format via dcmtk.


%package gdal
Summary:        Module to import/export via gdal
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description gdal
This sub-package contains the necessary module to import and export
remote sensing data via the gdal library.


%package hdr
Summary:        Module to import/export high dynamic range data
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description hdr
This sub-package contains the necessary module to import and export
high dynamic range images or data via OpenEXR and pfstools.


%package imagemagick
Summary:        Module to import/export traditional image formats
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description imagemagick
This sub-package contains the necessary module to import and export
traditional image formats via imagemagick.


%package matlab
Summary:        Module to import/export matlab files
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description matlab
This sub-package contains the necessary module to import and export
matlab files via matio.


%package netcdf
Summary:        Module to import/export traditional netcdf files
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description netcdf
This sub-package contains the necessary module to import and export
netcdf files, including HDF4 and 5.


%package pcd
Summary:        Module to import/export point cloud data
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description pcd
This sub-package contains the necessary module to import and export
point cloud data via pcl.


%package sndfile
Summary:        Module to import/export sound data
Group:          Applications/Engineering
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description sndfile
This sub-package contains the necessary module to import and export
sound data via libsndfile.


%prep
%setup -q
%patch0 -p1


%build
# Stupid way to avoid overwriting the original LDFLAGS.
# __global_ldflags might do instead
export CFLAGS="%{optflags} -I%{_includedir}/netpbm"
export CXXFLAGS="%{optflags} -I%{_includedir}/netpbm"
export BASHCOMPLETIONDIR="%{completion_path}"

autoreconf -fi

# 1994 ply files are bundled; rply could take over, but the API is different
# pvm uses files from vvv; No package is currently available in Fedora
#TODO: Consider to switch to GraphicsMagick, as that's the default or even supply both
%configure LDFLAGS="$LDFLAGS" \
    --with-magick-flavor=ImageMagick \
    --without-ffmpeg \
    --without-ply \
    --without-pvm

make V=1 LDFLAGS="$LDFLAGS $LDFLAGS_ADD" %{?_smp_mflags}


%install
make install DESTDIR=%{buildroot}

desktop-file-validate %{buildroot}/%{_datadir}/applications/gta_gui.desktop

# Remove info directory, created by make install
rm -rf %{buildroot}%{_infodir}/dir

# Completion scripts are loaded on demand from bash-completion 1.99 on


%check
# Imagemagick test fails randomly in F16 and 17, but succeeds in F18
# It's connected to ImageMagick only, as it succeeds with a rebuild
# of F18's ImageMagick in F16.
# Reported on the gta mailing list on Feb 3 2013

# On arm this check succeeds but two other fail:
# FAIL: conv-csv.sh
# FAIL: conv-datraw.sh
# E-mailed the author on Sep 15 2013

# Make them informational for the time being
make check || exit 0


%post
/sbin/install-info %{_infodir}/gta.info* %{_infodir}/dir || :

%post gui
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%preun
if [ $1 = 0 ] ; then
  /sbin/install-info --delete %{_infodir}/gta.info* %{_infodir}/dir || :
fi

%postun gui
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :


%files 
%doc COPYING AUTHORS README
%{_bindir}/gta
%dir %{_libdir}/%{name}/
%{_libdir}/%{name}/component-compute.so
%{_libdir}/%{name}/conv-csv.so
%{_libdir}/%{name}/conv-datraw.so
%{_libdir}/%{name}/conv-jpeg.so
%{_libdir}/%{name}/conv-netpbm.so
%{_libdir}/%{name}/conv-png.so
%{_libdir}/%{name}/conv-rat.so
%{_libdir}/%{name}/conv-raw.so
%{_infodir}/gta.info*
%{_mandir}/man1/gta.1*

%dir %{completion_path}
%{completion_path}/gta

%files gui
%{_libdir}/%{name}/gui.so
%{_datadir}/applications/gta_gui.desktop
%{_datadir}/icons/hicolor/*/*

%files dcmtk
%{_libdir}/%{name}/conv-dcmtk.so

%files gdal
%{_libdir}/%{name}/conv-gdal.so

%files hdr
%{_libdir}/%{name}/conv-pfs.so
%{_libdir}/%{name}/conv-exr.so

%files imagemagick
%{_libdir}/%{name}/conv-magick.so

%files matlab
%{_libdir}/%{name}/conv-mat.so

%files netcdf
%{_libdir}/%{name}/conv-netcdf.so

%files pcd
%{_libdir}/%{name}/conv-pcd.so

%files sndfile
%{_libdir}/%{name}/conv-sndfile.so


%changelog
* Tue Feb 09 2016 Volker Froehlich <volker27@gmx.at> - 2.2.0-1
- New upstream release

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Sun Jan 24 2016 Volker Froehlich <volker27@gmx.at> - 2.1.0-11
- Rebuild for netcdf

* Sun Jan 17 2016 Volker Froehlich <volker27@gmx.at> - 2.1.0-10
- Rebuild for libGLEWmx

* Sun Aug 30 2015 Volker Froehlich <volker27@gmx.at> - 2.1.0-9
- Version bump required for F23

* Fri Jul 24 2015 Volker Froehlich <volker27@gmx.at> - 2.1.0-8
- Modified to build with pfstools 2.0
- Apply an upstream patch that applies to 64 bit builds

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun May 17 2015 Orion Poplawski <orion@cora.nwra.com> - 2.1.0-6
- Rebuild for hdf5 1.8.15

* Sun Apr 19 2015 Volker Fröhlich <volker27@gmx.at> - 2.1.0-5
- Re-enable the dcmtk sub-package

* Sat Mar 07 2015 Volker Fröhlich <volker27@gmx.at> - 2.1.0-4
- Rebuild for imagemagick 6.9

* Wed Jan 07 2015 Orion Poplawski <orion@cora.nwra.com> - 2.1.0-3
- Rebuild for hdf5 1.8.14

* Sun Jan 04 2015 Volker Fröhlich <volker27@gmx.at> - 2.1.0-2
- Re-enable the pcd sub-package

* Thu Dec 18 2014 Volker Fröhlich <volker27@gmx.at> - 2.1.0-1
- New upstream release
- Remove F17 conditionals
- Don't require bash-completion
- Let the build system install the BASH completion file
- Temporarily disable the dcmtk sub-package, due to BZ #922937
- Temporarily disable the pcd sub-package, due to BZ #1177244

* Wed Nov 26 2014 Rex Dieter <rdieter@fedoraproject.org> 1.5.2-14
- rebuild (openexr)

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Tue Apr 01 2014 Volker Fröhlich <volker27@gmx.at> - 1.5.2-11
- Rebuild for imagemagick ABI 16

* Wed Nov 27 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.5.2-10
- rebuild (openexr)

* Thu Oct 10 2013 Volker Fröhlich <volker27@gmx.at> - 1.5.2-9
- Rebuild for new Imagemagick++ ABI

* Wed Sep 11 2013 Volker Fröhlich <volker27@gmx.at> - 1.5.2-8
- Patch to allow for pcl 1.7

* Wed Sep 11 2013 Volker Fröhlich <volker27@gmx.at> - 1.5.2-7
- Re-enable pcd sub-package

* Tue Sep 10 2013 Volker Fröhlich <volker27@gmx.at> - 1.5.2-6
- Rebuild for ilmbase 2.0.1

* Tue Aug 27 2013 Orion Poplawski <orion@cora.nwra.com> - 1.5.2-5
- Rebuild for gdal 1.10.0

* Fri Aug 16 2013 Volker Fröhlich <volker27@gmx.at> - 1.5.2-4
- Temporarily disable pcd sub-package, due to broken pcl in Rawhide

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu May 16 2013 Orion Poplawski <orion@cora.nwra.com> - 1.5.2-2
- Rebuild for hdf5 1.8.11

* Tue Apr 30 2013 Volker Fröhlich <volker27@gmx.at> 1.5.2-1
- New upstream release

* Sat Mar 30 2013 Volker Fröhlich <volker27@gmx.at> 1.5.1-3
- Remove gcc-c++ as BR
- Disable pvm and ply, due to bundle issues
- Put the bash completion script in the proper place for dynamical loading

* Wed Feb 13 2013 Volker Fröhlich <volker27@gmx.at> 1.5.1-2
- pcd sub-package conditional for F17, due to version constraint in pcl

* Sun Feb 10 2013 Volker Fröhlich <volker27@gmx.at> 1.5.1-1
- New upstream release
- Remove now included tex info patch
- Remove now included changes of pcl_config and desktop file
- Own bash_completion.d for the newly introduced completion file

* Fri Feb  1 2013 Volker Fröhlich <volker27@gmx.at> 1.5.0-1
- Initial package for Fedora