1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
#!/usr/bin/make -f
vmajor=$(shell dpkg-parsechangelog | grep ^Version: | sed 's/[^0-9]*\([0-9]*\).*/\1/')
vminor=$(shell dpkg-parsechangelog | grep ^Version: | sed 's/[^0-9]*[0-9]*\.\([0-9]*\).*/\1/')
vpatchlevel=$(shell dpkg-parsechangelog | grep ^Version: | sed 's/[^0-9]*[0-9]*\.[0-9]*\.\([0-9]*\).*/\1/')
v=$(vmajor).$(vminor).$(vpatchlevel)
v1=$(vmajor).$(vminor).$(shell expr $(vpatchlevel) + 1)
dtmp=$(shell pwd)/debian/tmp
TCLVERSIONS = 8.6 9.0
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/architecture.mk
%:
dh $@
override_dh_autoreconf:
[ -f configure.backup ] || cp configure configure.backup
dh_autoreconf
override_dh_auto_configure:
for vv in $(TCLVERSIONS) ; do \
if [ "$$vv" = "9.0" ] ; then tcl9=tcl9 ; fi ; \
LIBS="-Wl,-soname,lib$${tcl9}itcl$(vmajor).so" \
dh_auto_configure -B$(CURDIR)/debian/$$vv -- \
--includedir=/usr/include/itcl \
--enable-shared \
--enable-threads \
--with-tcl=/usr/lib/tcl$$vv ; \
done
override_dh_clean:
[ ! -f Makefile ] || $(MAKE) clean
[ ! -f Makefile ] || $(MAKE) distclean
[ ! -f configure.backup ] || mv configure.backup configure
#
rm -f itclConfig.sh pkgIndex.tcl itclUuid.h
dh_clean
override_dh_auto_install:
for vv in $(TCLVERSIONS) ; do \
$(MAKE) -C$(CURDIR)/debian/$$vv \
prefix=$(dtmp)/usr \
exec_prefix=$(dtmp)/usr \
includedir=$(dtmp)/usr/include/itcl \
install ; \
done
#
# Fix up the itcl libraries.
mv $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/itcl*/lib*itcl$(v).so $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)
mv $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/itcl*/*.a $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)
ln -s libitcl$(v).so $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/libitcl$(vmajor).so
ln -s libtcl9itcl$(v).so $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/libtcl9itcl$(vmajor).so
ln -s libitclstub$(v).a $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/libitclstub$(vmajor).a
# Fix up itclConfig.sh
sed -e "s:^\(\(ITCL\|itcl\)_\(BUILD_\)\?LIB_SPEC\)=.*$$:\1='-L/usr/lib/$(DEB_HOST_MULTIARCH) -litcl$(vmajor)':" \
-e "s:^\(\(ITCL\|itcl\)_\(BUILD_\)\?STUB_LIB_SPEC\)=.*$$:\1='-L/usr/lib/$(DEB_HOST_MULTIARCH) -litclstub$(vmajor)':" \
-e "s:^\(\(ITCL\|itcl\)_\(BUILD_\)\?STUB_LIB_PATH\)=.*$$:\1=/usr/lib/$(DEB_HOST_MULTIARCH)/libitclstub$(vmajor).a:" \
-e "s:^\(\(ITCL\|itcl\)_SRC_DIR\)=.*$$:\1='/usr/include/itcl/itcl-private':" \
-e "s:^\(\(ITCL\|itcl\)_INCLUDE_SPEC\)=.*$$:\1='/usr/include/itcl':" \
-e "s:^\(\(ITCL\|itcl\)_LIB_FILE\)=.*$$:\1=libitcl$(vmajor).so:" \
-e "s:^\(\(ITCL\|itcl\)_STUB_LIB_FILE\)=.*$$:\1=libitclstub$(vmajor).a:" \
-e "s:^\(\(ITCL\|itcl\)_VERSION\)=.*$$:\1='$(v)':" \
-i $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/*/itclConfig.sh
install -m 644 $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/*/itclConfig.sh $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)
#
# Move the Tcl library to /usr/lib/tcltk/$(DEB_HOST_MULTIARCH)
install -d -m 755 $(dtmp)/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)
mv $(dtmp)/usr/lib/$(DEB_HOST_MULTIARCH)/itcl$(v) $(dtmp)/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)
#
# Fix up pkgIndex.tcl
sed -i -e's/\$$dir/\/usr lib $(DEB_HOST_MULTIARCH)/' \
$(dtmp)/usr/lib/tcltk/$(DEB_HOST_MULTIARCH)/itcl$(v)/pkgIndex.tcl
#
# Fix up the include files
install -d $(dtmp)/usr/include/itcl/itcl-private/generic
install -m 644 generic/*.h $(dtmp)/usr/include/itcl/itcl-private/generic
#
# Fix up the manpages
mv $(dtmp)/usr/share/man/mann $(dtmp)/usr/share/man/man3
#
cd $(dtmp)/usr/share/man/man3 && \
for i in *.n ; do \
sed -i -e's/^\.TH \([^ ]\+\) n /.TH \1 3itcl /' $$i ; \
mv $$i `echo $$i | sed -e 's/\.n/\.3itcl/'` ; \
done
.PHONY: override_dh_auto_configure override_dh_clean \
override_dh_auto_install override_dh_link
|