[magics] 15/23: cmake-build from 2.22.7

Alastair McKinstry mckinstry at moszumanska.debian.org
Wed Jun 24 09:33:11 UTC 2015


This is an automated email from the git hooks/post-receive script.

mckinstry pushed a commit to branch master
in repository magics.

commit 770fd70a414d61b713ad79e5536c91d1f440371a
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Tue Jun 16 15:49:23 2015 +0100

    cmake-build from 2.22.7
---
 debian/rules | 143 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 103 insertions(+), 40 deletions(-)

diff --git a/debian/rules b/debian/rules
index c31bb1d..cba7e21 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,38 +1,85 @@
 #!/usr/bin/make -f
 
-DEB_BUILD_MAINT_OPTIONS:= hardening=+all,-pie
-DEB_CFLAGS_MAINT_APPEND:= -Wall -pedantic
-export DEB_BUILD_MAINT_OPTIONS
-export DEB_CFLAGS_MAINT_APPEND
+BUILDDIR = $(CURDIR)/debian/build
 
+# To enable all, uncomment following line
+# DEB_BUILD_MAINT_OPTIONS:= hardening=+all,-pie
+CXXFLAGS:= -fPIC $(shell dpkg-buildflags --get CXXFLAGS)
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 # Uncomment this to turn on verbose mode.
-export DH_VERBOSE=1
+# export DH_VERBOSE=1
+export QT_SELECT=4
 
-CMAKE_ARGS:= \
-	-DCMAKE_BUILD_TYPE=Release \
-	-DENABLE_METVIEW=ON \
-	-DENABLE_CAIRO=ON -DENABLE_GEOTIFF=ON \
-	-DENABLE_BUFR=ON \
-	-DMAGICS_SITE=debian \
-	-DENABLE_PYTHON=ON  \
-	-DMAGICS_EXTRA_INCLUDE_DIRS=/usr/include/terralib/kernel  \
-	-DMAGICS_EXTRA_LIBRARIES=terralib
-
-# FIXME: Temporarily disable static libs
-#	-DENABLE_STATIC_LIBRARY=ON \
-# CFLAGS += -fPIC
-# LDFLAGS="$(LDFLAGS) -L$(shell pwd)/src/.libs -Wl,--as-needed"  LIBS=" -lX11 -lpng12 -lz" \
-#		MAGPLUS_HOME=$(shell pwd)
+#QI=/usr/include/$(DEB_HOST_MULTIARCH)/qt5
+#QTINCS=-I$(QI) -I$(QI)/QtCore -I$(QI)/QtWidgets -I$(QI)/QtGui -I$(QI)/QtX11Extras -I$(QI)/QtXml -I$(QI)/QtXmlPatterns
 
 %:
-	dh $@  --with python2,python3 --buildsystem=cmake
+	dh $@  --with python2 --with-buildsystem=cmake --builddirectory=$(BUILDDIR)
+
+export extra_flags += \
+	-DBUILD_SITE=debian \
+	-DHAVE_LIBGD=1 \
+	-DHAVE_BOOST=1 \
+	-DHAVE_DLFCN_H=1 \
+	-DHAVE_INTTYPES_H=1 \
+	-DHAVE_LIBEXPAT=1 \
+	-DHAVE_LIBGRIB_API=1 \
+	-DHAVE_LIBPROJ=1 \
+	-DHAVE_LIBPTHREAD=1 \
+	-DHAVE_LIBZ=1 \
+	-DHAVE_MEMORY_H=1 \
+	-DHAVE_STDINT_H=1 \
+	-DHAVE_STDLIB_H=1 \
+	-DHAVE_STRINGS_H=1 \
+	-DHAVE_STRING_H=1 \
+	-DHAVE_SYS_STAT_H=1 \
+	-DHAVE_STS_TYPES_H=1 \
+	-DHAVE_UNISTD_H=1 \
+	-DMAGICS_ALLHEADERS=1 \
+	-DMAGICS_GRIB=1 \
+	-DMAGICS_JSON=1 \
+	-DMAGICS_METVIEW=1 \
+	-DMAGICS_GIF=1 \
+	-DMAGICS_QT=1 \
+	-DMAGICS_GIF_ANIMATED=1 \
+	-DMAGICS_TIFF=1 \
+	-DMAGICS_TTF=1 \
+	-DMAGICS_TTF_PATH="share/magics/ttf/" \
+	-DMAGICS_SITE="debian" \
+	-DMAGICS_PYTHON=1 \
+	-DMAGICS_THREADS=1 \
+	-DDISABLE_OS_CHECK=ON \
+	-DCMAKE_INSTALL_PREFIX=/usr \
+	-DCMAKE_VERBOSE_MAKEFILE=ON \
+	-DBUILD_DOCUMENTATION=ON \
+	-DENABLE_FORTRAN=ON \
+	-DENABLE_LARGE_FILE_SUPPORT=ON \
+	-DENABLE_PYTHON=ON \
+	-DBUILD_EXAMPLES=ON \
+    -DBUILD_SHARED_LIBS=ON \
+	-DENABLE_TESTS=OFF \
+	-DENABLE_RPATHS=OFF \
+	-DENABLE_CAIRO=ON \
+	-DENABLE_BUFR=ON \
+	-DENABLE_GRIB=ON \
+	-DENABLE_METVIEW=ON \
+	-DENABLE_NETCDF=ON \
+	-DENABLE_STATIC_LIBRARY=ON \
+	-DCMAKE_CXX_FLAGS='$(CXXFLAGS) -I/usr/include/terralib -I/usr/include/terralib/kernel $(QTINCS)' \
+	-DMAGICS_EXTRA_LIBRARIES='-lterralib -lgd'
+
+export LD_LIBRARY_PATH:=$(CURDIR)/debian/tmp/usr/lib:$(LD_LIBRARY_PATH)
 
 override_dh_auto_clean:
 	find . -type l -exec rm {} \;
-	rm -rf share/magics/ttf src/terralib
-	dh_auto_clean
+	find . \( -name '*.pyc' -o -name '*.o' -o -name '*.a' \)  -exec rm {} \;
+	find . -name '.libs' -exec rm -rf {} \;  || echo ".libs deleted already."
+	find test \( -name '*.ps' -o -name '*.pdf' -o -name '*.svg' -o -name '*.png' \
+	       -o -name '*.kmz' \)  -exec rm  {} \;
+	rm -f config.log src/params/*.h src/decoders/*Attributes.h
+	rm -rf share/magics/ttf src/terralib debian/build
+	$(MAKE) -k distclean || echo "Already distcleaned"
 
 override_dh_auto_configure:
 	# link for font for tesing.
@@ -40,31 +87,47 @@ override_dh_auto_configure:
 	ln -sf /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf share/fonts/truetype/ttf-dejavu/
 	# Link terralib
 	[ -e src/terralib ] || ln -sf  /usr/include/terralib src/terralib
-	dh_auto_configure -- $(CMAKE_ARGS)
+	dh_auto_configure -- $(extra_flags)
+	# Some files are not autogenerated properly, do it here:
+	./tools/xml2cc_new.pl ./src/params/GribDecoder.xml > ./src/decoders/GribDecoderAttributes.h
+	./tools/xml2cc_new.pl ./src/params/GribLoop.xml > ./src/decoders/GribLoopAttributes.h
+	./tools/xml2cc_new.pl ./src/params/QtDriver.xml > ./src/params/QtDriverAttributes.h
+	./tools/xml2cc_new.pl ./src/params/GDDriver.xml > ./src/params/GDDriverAttributes.h
+	./tools/xml2mv.pl ./src/params/DateGribLoopStep.xml > ./src/params/DateGribLoopStepWrapper.h
+	./tools/xml2mv.pl ./src/params/GribLoopStep.xml > ./src/params/GribLoopStepWrapper.h
+	./tools/xml2mv.pl ./src/params/GribAddressMode.xml > ./src/params/GribAddressModeWrapper.h
+	./tools/xml2mv.pl ./src/params/GribAddressRecordMode.xml > ./src/params/GribAddressRecordModeWrapper.h
+	./tools/xml2mv.pl ./src/params/GribAddressByteMode.xml > ./src/params/GribAddressByteModeWrapper.h
+	cp ./src/params/*.h $(BUILDDIR)/src/params
+	cp ./src/decoders/*Attributes.h $(BUILDDIR)/src/decoders
+	cp ./src/decoders/*Attributes.h $(BUILDDIR)/src/params
+	(cd python/Magics && ln -s $(BUILDDIR)/python/Magics/Magics.i )
 
-
-# §override_dh_auto_test check:
-	#echo "Tests disabled; see README-testfailures.txt for details"
+override_dh_auto_test check:
+	echo "Tests disabled; see README-testfailures.txt for details"
 	# (ulimit -s 8192; export PYTHONPATH=$(shell pwd)/swig ; export MAGPLUS_HOME=$(shell pwd) ; $(MAKE) check )
-	
+
 override_dh_auto_install:
+	# call configure to rebuild swig/Makefile with correct python version.
+# 			LDFLAGS="-fPIC $(LDFLAGS) -L$(shell pwd)/src/.libs -Wl,--as-needed" ; 
+	$(MAKE) -C debian/build/python/Magics clean install PYTHON_INCLUDE_DIR=/usr/include/python2.7 \
+			DESTDIR=$(CURDIR)/debian/python-magics++ \ MAGPLUS_HOME=$(CURDIR) 
 	dh_auto_install
-	# $(MAKE) -C tools prefix=$(shell pwd)/debian/tmp/usr install
-	cp tools/mapgen_clip debian/tmp/usr/bin
-	# Hack. dh_python2 doesn't know multarch yet.
-	mv debian/python-magics++/usr/lib/${DEB_HOST_MULTIARCH}/p* debian/python-magics++/usr/lib
-	rmdir debian/python-magics++/usr/lib/${DEB_HOST_MULTIARCH}
-	dh_python2 
-	for pyvers in $(shell pyversions -r) ; do \
-    		dh_python2 /usr/lib/$$pyvers/site-packages/Magics ; \
-	done
+	mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
+	cp -a debian/tmp/usr/lib/*.a debian/tmp/usr/lib/pkgconfig debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
+	cp debian/tmp/usr/lib/libMagPlus.so debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlus.so.3.0.0
+	# cp tools/mapgen_clip debian/tmp/usr/bin
+	find debian -name '*.la' -delete
+	find debian -name '_Magics.so.0' -delete  # Bogus symlinks
+	# dh_python2
+	dh_python2 /usr/lib/python2.7/site-packages/Magics
 	dh_numpy -p python-magics++
 	# remove fonts that are present in dejavu-ttf
 	rm -rf debian/libmagics++-data/usr/share/magics/ttf
-	find debian -name '*.so' -exec chrpath -d {} \;
+	find debian -name '*.so*' -exec chrpath -d {} \;
+	find debian -name magmlx -exec chrpath -d {} \;
 	# Deal with links for Multi-Arch:
-	dh_link -p libmagics++-metview-dev /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlusQt.so.3.0.0    /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlusQt.so
 	dh_link -p libmagics++-dev /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlus.so.3.0.0    /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlus.so
-	dh_link -p libmagplus3     /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlusQt.so.3.0.0    /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlusQt.so.3
 	dh_link -p libmagplus3     /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlus.so.3.0.0    /usr/lib/$(DEB_HOST_MULTIARCH)/libMagPlus.so.3
 	mkdir -p debian/libmagics++-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
+	find debian -name '*.la' -delete 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/magics.git



More information about the debian-science-commits mailing list