[magics] 14/23: cmake-build drom 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 9b88bdcbb758ae4733c22f86d71b118e419906b2
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Tue Jun 16 15:48:15 2015 +0100

    cmake-build drom 2.22.7
---
 debian/rules | 149 +++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 93 insertions(+), 56 deletions(-)

diff --git a/debian/rules b/debian/rules
index 8e781d5..cba7e21 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,26 +1,75 @@
 #!/usr/bin/make -f
 
+BUILDDIR = $(CURDIR)/debian/build
+
 # To enable all, uncomment following line
-DEB_BUILD_MAINT_OPTIONS:= hardening=+all,-pie
-DEB_CFLAGS_MAINT_APPEND:= -Wall -pedantic
-export DEB_BUILD_MAINT_OPTIONS
-export DEB_CFLAGS_MAINT_APPEND
+# 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
 
-%:
-	dh $@  --with python2,python3,autoreconf
+#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
 
-CFLAGS += -fPIC
+%:
+	dh $@  --with python2 --with-buildsystem=cmake --builddirectory=$(BUILDDIR)
 
-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+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'
 
-# Don't use emoslib on mips
-WITH_EMOSLIB:= --with-emos-libraries=/usr/lib --enable-bufr
-#ifeq ($(ARCH), mips)
-#  WITH_EMOSLIB:=
-#endif
+export LD_LIBRARY_PATH:=$(CURDIR)/debian/tmp/usr/lib:$(LD_LIBRARY_PATH)
 
 override_dh_auto_clean:
 	find . -type l -exec rm {} \;
@@ -28,69 +77,57 @@ override_dh_auto_clean:
 	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
-	rm -rf share/magics/ttf src/terralib
+	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_autoreconf:
-	# remove out of date files
-	rm -f conf/config.guess conf/config.sub
-	libtoolize -c -f
-	dh_autoreconf --as-needed
-
 override_dh_auto_configure:
 	# link for font for tesing.
 	mkdir -p share/fonts/truetype/ttf-dejavu/
 	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
-	# Now build. LDFLAGS is a nasty hack past libtool breakage in install, where it fails
-	# to find libraries _it_ created. And it makes stuff in the install step. bah.
-	# autoreconf -if
-	dh_auto_configure -- \
-		--enable-metview \
-		--enable-static --enable-cairo $(WITH_EMOSLIB) \
-		--enable-python --enable-opengl \
-		LDFLAGS="$(LDFLAGS) -L$(shell pwd)/src/.libs -Wl,--as-needed"  LIBS=" -lX11 -lpng12 -lz" \
-		MAGPLUS_HOME=$(shell pwd)
+	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"
 	# (ulimit -s 8192; export PYTHONPATH=$(shell pwd)/swig ; export MAGPLUS_HOME=$(shell pwd) ; $(MAKE) check )
-	
+
 override_dh_auto_install:
-	#chrpath -d swig/*.so
-	dh_auto_install
 	# call configure to rebuild swig/Makefile with correct python version.
-	# (cd swig/Magics && ln -sf /usr/share/pyshared/instant/swig/numpy.i )
-	for pyvers in $(shell pyversions -r) ; do \
-                ver=`echo $$pyvers | sed -e 's/python//g' ` ; \
-		dh_auto_configure -- \
-			--enable-metview --enable-static --enable-cairo --enable-opengl $(WITH_EMOSLIB) \
-			--enable-python PYTHON=$$pyvers PYTHON_VERSION=$$ver \
-			LDFLAGS="$(LDFLAGS) -L$(shell pwd)/src/.libs -Wl,--as-needed" ; \
-		$(MAKE) -C python/Magics clean install PYTHON_INCLUDE_DIR=/usr/include/$$pyvers \
-			DESTDIR=$(CURDIR)/debian/python-magics++ \
-			MAGPLUS_HOME=$(shell pwd) ; done 
-	$(MAKE) -C tools prefix=$(shell pwd)/debian/tmp/usr install
-	cp tools/mapgen_clip debian/tmp/usr/bin
+# 			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
+	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
-	# 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
+	# 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