diff --git a/.gitignore b/.gitignore index e69de29..b2d262e 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libdmtx-0.7.2.tar.bz2 diff --git a/libdmtx.spec b/libdmtx.spec new file mode 100644 index 0000000..7c569c9 --- /dev/null +++ b/libdmtx.spec @@ -0,0 +1,219 @@ +%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')} + + +Name: libdmtx +Version: 0.7.2 +Release: 3%{?dist} +Summary: Library for working with Data Matrix 2D bar-codes + +Group: System Environment/Libraries +License: LGPLv2+ +URL: http://www.libdmtx.org/ +Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: ImageMagick-devel +# required for tests +BuildRequires: SDL_image-devel +BuildRequires: libGLU-devel +BuildRequires: libpng-devel +# language bindings +BuildRequires: php-devel +BuildRequires: python-devel +BuildRequires: ruby +BuildRequires: ruby-devel +#BuildRequires: java-1.6.0-devel + + +%description +libdmtx is open source software for reading and writing Data Matrix 2D +bar-codes on Linux, Unix, OS X, Windows, and mobile devices. At its core +libdmtx is a shared library, allowing C/C++ programs to use its capabilities +without restrictions or overhead. + +The included utility programs, dmtxread and dmtxwrite, provide the official +interface to libdmtx from the command line, and also serve as a good reference +for programmers who wish to write their own programs that interact with +libdmtx. All of the software in the libdmtx package is distributed under +the LGPLv2 and can be used freely under these terms. + + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%package utils +Summary: Utilities for %{name} +Group: Applications/System +Requires: %{name} = %{version}-%{release} + +%description utils +The %{name}-utils package contains utilities that use %{name}. + +# language bindings +%package -n php-libdmtx +Summary: PHP bindings for %{name} +Group: System Environment/Libraries +License: GPLv2+ +Requires: %{name} = %{version}-%{release} +Requires: php-common + +%description -n php-libdmtx +The php-%{name} package contains bindings for using %{name} from PHP. + +%package -n python-libdmtx +Summary: Python bindings for %{name} +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n python-libdmtx +The python-%{name} package contains bindings for using %{name} from Python. + +%package -n ruby-libdmtx +Summary: Ruby bindings for %{name} +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +Provides: ruby(%{name}) = %{version} + +%description -n ruby-libdmtx +The ruby-%{name} package contains bindings for using %{name} from Ruby. + + +%prep +%setup -q + +# fix permissions +chmod a-x wrapper/{php,python}/README + + +%build +%configure --disable-static +make %{?_smp_mflags} + +# temporary installation required by the language wrappers +make install DESTDIR=/tmp + +# language wrappers must be built separately +pushd wrapper +pushd php +phpize +%configure --disable-static + +# Don't use rpath! +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +make EXTRA_CFLAGS="-I/tmp%{_includedir}" DMTX_SHARED_LIBADD="-L/tmp%{_libdir} -ldmtx" +popd + +pushd python +# fix paths +sed -i.orig -e "s|/usr/local/include|/tmp%{_includedir}|" -e "s|/usr/local/lib|/tmp%{_libdir}|" setup.py +python setup.py build +chmod 0755 build/lib.*/*.so +popd + +pushd ruby +ruby extconf.rb +make CPPFLAGS="-I/tmp%{_includedir}" LIBPATH="-L/tmp%{_libdir} -ldmtx" +popd + +#pushd java +#make LIBDMTX_LA="/tmp%{_libdir}/libdmtx.so" +#popd +popd + + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' + +pushd wrapper +pushd php +make install INSTALL_ROOT=$RPM_BUILD_ROOT +popd + +pushd python +python setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT +popd + +pushd ruby +make install DESTDIR=$RPM_BUILD_ROOT +popd + +#pushd java +#popd +popd + + +%check +make check +pushd test +for t in simple unit +do + ./${t}_test/${t}_test +done +popd + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING.LESSER ChangeLog KNOWNBUG NEWS README README.linux TODO +%{_libdir}/%{name}.so.* + +%files devel +%defattr(-,root,root,-) +%doc +%{_includedir}/* +%{_libdir}/%{name}.so +%{_libdir}/pkgconfig/%{name}.pc +%{_mandir}/man3/%{name}.3* + +%files utils +%defattr(-,root,root,-) +%{_bindir}/dmtx* +%{_mandir}/man1/dmtx*.1* + +%files -n php-libdmtx +%defattr(-,root,root,-) +%doc COPYING wrapper/php/README +%{_libdir}/php/modules/*.so + +%files -n python-libdmtx +%defattr(-,root,root,-) +%doc wrapper/python/README +%{python_sitearch}/* + +%files -n ruby-libdmtx +%defattr(-,root,root,-) +%doc wrapper/ruby/README +%{ruby_sitearch}/*.so + + +%changelog +* Wed Nov 17 2010 Dan Horák 0.7.2-3 +- updated license for the php subpackage +- run few tests + +* Sat May 29 2010 Dan Horák 0.7.2-2 +- added language bindigs + +* Wed Feb 3 2010 Dan Horák 0.7.2-1 +- initial Fedora version diff --git a/sources b/sources index e69de29..0815286 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +0684cf3857591e777b57248d652444ae libdmtx-0.7.2.tar.bz2