+++ /dev/null
---- gtatool-1.5.2/configure.ac.orig 2013-04-29 20:53:48.413184320 +0200
-+++ gtatool-1.5.2/configure.ac 2013-09-21 12:46:22.572690031 +0200
-@@ -391,11 +391,12 @@
- [if test "$withval" = "yes"; then pcd="yes"; else pcd="no "; fi], [pcd="yes"])
- if test "$pcd" = "yes"; then
- PKG_CHECK_MODULES([libpcl_io], [pcl_io >= 1.6], [],
-+ [PKG_CHECK_MODULES([libpcl_io], [pcl_io-1.7 >= 1.7], [],
- [PKG_CHECK_MODULES([libpcl_io], [pcl_io-1.6 >= 1.6], [],
- [pcd="no "
- AC_MSG_WARN([PCL io library not found:])
- AC_MSG_WARN([$libpcl_io_PKG_ERRORS])
-- AC_MSG_WARN([Disabled the from-pcd and to-pcd commands.])])])
-+ AC_MSG_WARN([Disabled the from-pcd and to-pcd commands.])])])])
- fi
- AC_DEFINE_UNQUOTED([WITH_PCD], [`if test "$pcd" = "yes"; then echo "1"; else echo "0"; fi`], [Use pcd?])
- AM_CONDITIONAL([WITH_PCD], [test "$pcd" = "yes"])
---- gtatool-1.5.2/src/conv-pcd/from-pcd.cpp.orig 2013-04-28 20:24:13.896124699 +0200
-+++ gtatool-1.5.2/src/conv-pcd/from-pcd.cpp 2013-09-21 15:10:38.875660094 +0200
-@@ -46,7 +46,7 @@
- "Currently only combinations of XYZ, normal, intensity, RGB/RGBA are supported.");
- }
-
--bool have_field(const sensor_msgs::PointCloud2& cloud_blob, const char* name)
-+bool have_field(const pcl::PCLPointCloud2& cloud_blob, const char* name)
- {
- for (size_t i = 0; i < cloud_blob.fields.size(); i++)
- if (cloud_blob.fields[i].name == std::string(name))
-@@ -76,7 +76,7 @@
- array_loop_t array_loop;
- array_loop.start(std::vector<std::string>(1, namei), arguments.size() == 2 ? arguments[1] : "");
-
-- sensor_msgs::PointCloud2 cloud_blob;
-+ pcl::PCLPointCloud2 cloud_blob;
- if (pcl::io::loadPCDFile(namei.c_str(), cloud_blob) == -1)
- {
- throw exc(namei + ": cannot read file.");
-@@ -95,7 +95,7 @@
- {
- // pcl::PointXYZ
- pcl::PointCloud<pcl::PointXYZ> cloud;
-- pcl::fromROSMsg(cloud_blob, cloud);
-+ pcl::fromPCLPointCloud2(cloud_blob, cloud);
- hdr.set_dimensions(cloud.points.size());
- hdr.set_components(gta::float32, gta::float32, gta::float32);
- hdr.component_taglist(0).set("INTERPRETATION", "X");
-@@ -117,7 +117,7 @@
- {
- // pcl::PointXYZI
- pcl::PointCloud<pcl::PointXYZI> cloud;
-- pcl::fromROSMsg(cloud_blob, cloud);
-+ pcl::fromPCLPointCloud2(cloud_blob, cloud);
- hdr.set_dimensions(cloud.points.size());
- hdr.set_components(gta::float32, gta::float32, gta::float32, gta::float32);
- hdr.component_taglist(0).set("INTERPRETATION", "X");
-@@ -140,7 +140,7 @@
- {
- // pcl::PointXYZRGB
- pcl::PointCloud<pcl::PointXYZRGB> cloud;
-- pcl::fromROSMsg(cloud_blob, cloud);
-+ pcl::fromPCLPointCloud2(cloud_blob, cloud);
- hdr.set_dimensions(cloud.points.size());
- std::vector<gta::type> types(3, gta::float32);
- types.resize(6, gta::uint8);
-@@ -176,7 +176,7 @@
- {
- // pcl::PointXYZRGBA
- pcl::PointCloud<pcl::PointXYZRGBA> cloud;
-- pcl::fromROSMsg(cloud_blob, cloud);
-+ pcl::fromPCLPointCloud2(cloud_blob, cloud);
- hdr.set_dimensions(cloud.points.size());
- std::vector<gta::type> types(3, gta::float32);
- types.resize(7, gta::uint8);
-@@ -215,7 +215,7 @@
- {
- // pcl::PointNormal
- pcl::PointCloud<pcl::PointNormal> cloud;
-- pcl::fromROSMsg(cloud_blob, cloud);
-+ pcl::fromPCLPointCloud2(cloud_blob, cloud);
- hdr.set_dimensions(cloud.points.size());
- std::vector<gta::type> types(6, gta::float32);
- hdr.set_components(6, &(types[0]));
-@@ -244,7 +244,7 @@
- {
- // pcl::PointXYZINormal
- pcl::PointCloud<pcl::PointXYZINormal> cloud;
-- pcl::fromROSMsg(cloud_blob, cloud);
-+ pcl::fromPCLPointCloud2(cloud_blob, cloud);
- hdr.set_dimensions(cloud.points.size());
- std::vector<gta::type> types(7, gta::float32);
- hdr.set_components(7, &(types[0]));
-@@ -274,7 +274,7 @@
- {
- // pcl::PointXYZRGBNormal
- pcl::PointCloud<pcl::PointXYZRGBNormal> cloud;
-- pcl::fromROSMsg(cloud_blob, cloud);
-+ pcl::fromPCLPointCloud2(cloud_blob, cloud);
- hdr.set_dimensions(cloud.points.size());
- std::vector<gta::type> types(6, gta::float32);
- types.resize(9, gta::uint8);
+# TODO: pmd (BR: proprietary libpmdaccess2)
+# libequalizer (pkgconfig(Equalizer) >= 1.0.0) for multi-display OpenGL support
+# libgls (pkgconfig(gls) >= 1.0.0) for stereoscopic-3D OpenGL support
#
# Conditional build:
%bcond_without apidocs # do not build and package API docs
Source0: http://download.savannah.gnu.org/releases/gta/%{name}-%{version}.tar.xz
# Source0-md5: 1133c5687bd14d321eefffab6b495d74
Patch0: ffmpeg2.patch
-Patch1: %{name}-pcl.patch
-Patch2: %{name}-getopt.patch
+Patch1: %{name}-getopt.patch
+Patch2: %{name}-bashcomp.patch
URL: http://gta.nongnu.org/gtatool.html
%{?with_magick:BuildRequires: ImageMagick-c++-devel}
%{?with_openexr:BuildRequires: OpenEXR-devel}
-%{?with_qt:BuildRequires: QtGui-devel >= 4.6}
+%{?with_qt:BuildRequires: OpenGL-devel}
+%{?with_qt:BuildRequires: QtGui-devel >= 4.8}
+%{?with_qt:BuildRequires: QtOpenGL-devel >= 4.8}
BuildRequires: autoconf >= 2.65
BuildRequires: automake >= 1:1.11.1
%{?with_dcmtk:BuildRequires: dcmtk-devel}
# libavformat >= 52.110.0 libavdevice libswscale
%{?with_ffmpeg:BuildRequires: ffmpeg-devel}
%{?with_gdal:BuildRequires: gdal-devel}
+%{?with_qt:BuildRequires: glew-devel >= 1.6.0}
BuildRequires: libgta-devel >= 0.9.4
%{?with_jpeg:BuildRequires: libjpeg-devel}
%{?with_sndfile:BuildRequires: libsndfile-devel}
BuildRequires: libstdc++-devel
-BuildRequires: libtool
-%{?with_matio:BuildRequires: matio-devel}
+BuildRequires: libtool >= 2:2.2.6
+%{?with_matio:BuildRequires: matio-devel >= 1.5.0}
%{?with_muparser:BuildRequires: muparser-devel}
%{?with_netcdf:BuildRequires: netcdf-devel}
%{?with_netpbm:BuildRequires: netpbm-devel}
%{?with_pcl:BuildRequires: pcl-devel >= 1.7}
-%{?with_pfs:BuildRequires: pfstools-devel}
+%{?with_pfs:BuildRequires: pfstools-devel >= 1.2}
BuildRequires: pkgconfig
-%{?with_qt:BuildRequires: qt4-build >= 4.6}
+%{?with_qt:BuildRequires: qt4-build >= 4.8}
+BuildRequires: rpmbuild(macros) >= 1.673
BuildRequires: tar >= 1:1.22
%{?with_teem:BuildRequires: teem-devel}
BuildRequires: xz
Summary(pl.UTF-8): Moduł gtatool do konwersji z/do formatu MAT
Group: Applications/File
Requires: %{name} = %{version}-%{release}
+Requires: matio >= 1.5.0
%description conv-mat
gtatool module to convert from/to MAT (Matlab) format.
Summary(pl.UTF-8): Moduł graficznego interfejsu użytkownika opartego na Qt dla narzędzia gtatool
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
-Requires: QtGui >= 4.6
+Requires: QtGui >= 4.8
%description gui
Qt-based GUI module for gtatool.
Summary(pl.UTF-8): Bashowe uzupełnianie parametrów programu gtatool
Group: Applications/Shells
Requires: %{name} = %{version}-%{release}
-Requires: bash-completion
+Requires: bash-completion >= 2
%if "%{_rpmversion}" >= "5"
BuildArch: noarch
%endif
%prep
%setup -q
%patch0 -p1
-#%patch1 -p1
+%patch1 -p1
%patch2 -p1
%build
%{__autoheader}
%{__automake}
%configure \
+ BASHCOMPLETIONDIR=%{bash_compdir} \
--disable-silent-rules \
+ --with-bashcompletion \
%{!?with_dcmtk:--without-dcmtk} \
%{!?with_ffmpeg:--without-ffmpeg} \
%{!?with_gdal:--without-gdal} \
%files -n bash-completion-gtatool
%defattr(644,root,root,755)
-%{_datadir}/bash-completion/completions/gta
+%{bash_compdir}/gta