123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- #!/usr/bin/make -f
- # Sample debian/rules that uses debhelper.
- # GNU copyright 1997 to 1999 by Joey Hess.
- # Uncomment this to turn on verbose mode.
- #export DH_VERBOSE=1
- # Get build platform info
- export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
- export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
- PATHPLAN_SONAME = 4
- GVC_SONAME = 6
- CDT_SONAME = 5
- GRAPH_SONAME = 5
- CGRAPH_SONAME = 6
- GVPR_SONAME = 2
- EXPR_SONAME = 4
- XDOT_SONAME = 4
- GRAPHVIZ_SONAME = 4
- PHP_EXTENSION_DIR = $(shell php-config5 --extension-dir)
- PHP_PACKAGE = $(CURDIR)/debian/libgv-php5
- LUA_VERSION = 5.1
- LUA_PACKAGE = $(CURDIR)/debian/libgv-lua
- PYTHON_VERSION = $(shell python3 --version 2>&1 | sed 's/.* \(.*\)\..*/python\1/')
- PYTHON_PACKAGE = $(CURDIR)/debian/libgv-python
- RUBY_PACKAGE = $(CURDIR)/debian/libgv-ruby
- CONFIG_SCRIPTS=config/config.guess libltdl/config.guess \
- config/config.sub libltdl/config.sub
- configure: configure-stamp
- configure-stamp:
- dh_testdir
- # Update the config scripts
- for i in $(CONFIG_SCRIPTS); do \
- cp /usr/share/misc/`basename $$i` $$i ; \
- done
- # Configure the package
- ./configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
- --prefix=/usr \
- --datadir=\$${prefix}/share \
- --infodir=\$${prefix}/share/info \
- --mandir=\$${prefix}/share/man \
- --disable-static \
- --with-pangocairo \
- --with-x \
- --with-gdk \
- --with-ghostscript \
- --with-gtk \
- --with-gtkgl \
- --with-gtkglext \
- --with-glade \
- --with-ipsepcola \
- --with-lasi \
- --with-rsvg \
- --with-devil \
- --with-gts \
- --with-ortho \
- --with-sfdp \
- --with-smyrna \
- --disable-sharp \
- --enable-guile \
- --disable-java \
- --enable-lua \
- --enable-php \
- --enable-python \
- --disable-r \
- --enable-ruby \
- --enable-tcl \
- LDFLAGS="-Wl,--as-needed"
- touch configure-stamp
- build: configure build-stamp
- build-stamp:
- dh_testdir
- # Build
- $(MAKE)
- touch build-stamp
- clean: clean-patched
- clean-patched:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
- # Clean up if a build already happened
- [ ! -f Makefile ] || $(MAKE) distclean
- dh_clean $(CONFIG_SCRIPTS) \
- tclpkg/gv/gv.R tclpkg/gv/php_gv.h
- install: build
- dh_testdir
- dh_testroot
- dh_prep
- dh_installdirs
- # Install the package into debian/tmp
- $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
- # Remove .la files
- find -name '*.la' -delete
- # Install lintian overrides
- install -d $(CURDIR)/debian/tmp/usr/share/lintian/overrides
- install -m 644 $(CURDIR)/debian/libgraphviz$(GRAPHVIZ_SONAME).lintian-overrides \
- $(CURDIR)/debian/tmp/usr/share/lintian/overrides/libgraphviz$(GRAPHVIZ_SONAME)
- # Compute the dependencies of the -dev package
- # NOTE: It is important to do that before splitting the files into
- # their respective packages, otherwise the symlinks are broken
- d-devlibdeps \
- --override s/libpathplan$(PATHPLAN_SONAME)-dev// \
- --override s/libcgraph$(CGRAPH_SONAME)-dev// \
- --override s/libgraph$(GRAPH_SONAME)-dev// \
- --override s/libxdot$(XDOT_SONAME)-dev// \
- --override s/libcdt$(CDT_SONAME)-dev// \
- --override s/libgvpr$(GVPR_SONAME)-dev// \
- --override s/libgvc$(GVC_SONAME)-dev// \
- --override s/libexpr$(EXPR_SONAME)-dev// \
- --override s/libgts-0.7-5-dev/libgts-dev/ \
- --override s/libexpat1-dev// \
- --override s/libltdl7-dev// \
- --override s/zlib1g-dev// \
- $(CURDIR)/debian/libgraphviz-dev.substvars \
- $(CURDIR)/debian/tmp/usr/lib/*.so
- # Move from debian/tmp to the appropriate packages, rename one binary
- dh_install --sourcedir=debian/tmp --list-missing
- mv $(CURDIR)/debian/libgraphviz$(GRAPHVIZ_SONAME)/usr/sbin/dot \
- $(CURDIR)/debian/libgraphviz$(GRAPHVIZ_SONAME)/usr/sbin/libgraphviz$(GRAPHVIZ_SONAME)-config-update
- # Some additional work for libgv-php5
- install -d $(PHP_PACKAGE)/$(PHP_EXTENSION_DIR)
- mv $(PHP_PACKAGE)/usr/lib/graphviz/php/libgv_php.so* \
- $(PHP_PACKAGE)/$(PHP_EXTENSION_DIR)
- rm -rf $(PHP_PACKAGE)/usr/lib/graphviz
- # Some additional work for libgv-lua
- # 1. Rename using the LUA_VERSION
- mv $(LUA_PACKAGE)/usr/lib/graphviz/lua/libgv_lua.so \
- $(LUA_PACKAGE)/usr/lib/graphviz/lua/liblua$(LUA_VERSION)-libgv.so
- # 2. Add a symlink
- install -d $(LUA_PACKAGE)/usr/lib/lua/$(LUA_VERSION)
- ln -s /usr/lib/graphviz/lua/liblua$(LUA_VERSION)-libgv.so \
- $(LUA_PACKAGE)/usr/lib/lua/$(LUA_VERSION)/gv.so
- # Some additional work for libgv-python
- # Note gv.py isn't really duplicated, it's just installed in a location
- # where python-support will find it. Both being identical, python-support
- # will just do the right thing.
- install -d $(PYTHON_PACKAGE)/usr/lib/${PYTHON_VERSION}/site-packages
- cp $(PYTHON_PACKAGE)/usr/lib/graphviz/python3/gv.py \
- $(PYTHON_PACKAGE)/usr/lib/${PYTHON_VERSION}/site-packages
- mv $(PYTHON_PACKAGE)/usr/lib/graphviz/python3/*.so \
- $(PYTHON_PACKAGE)/usr/lib/${PYTHON_VERSION}/site-packages
- rm -rf $(PYTHON_PACKAGE)/usr/lib/graphviz
- # Some additional work for libgv-ruby
- install -d \
- $(RUBY_PACKAGE)/usr/lib/ruby/`ruby --version | cut -d' ' -f 2 | head -c 5`
- mv $(RUBY_PACKAGE)/usr/lib/graphviz/ruby/libgv_ruby.so \
- $(RUBY_PACKAGE)/usr/lib/ruby/`ruby --version | cut -d' ' -f 2 | head -c 5`/gv.so
- rm -rf $(RUBY_PACKAGE)/usr/lib/graphviz
- # Build architecture-independent files here.
- binary-indep: build install
- dh_testdir -i
- dh_testroot -i
- dh_installdocs -i
- dh_installmenu -i
- dh_installchangelogs CHANGELOG.md -i
- dh_perl -i
- dh_link -i
- dh_strip -i
- dh_compress -i -X.pdf
- dh_fixperms -i
- dh_makeshlibs -i
- dh_installdeb -i
- dh_shlibdeps -i
- dh_gencontrol -i
- dh_md5sums -i
- dh_builddeb -i
- # Build architecture-dependent files here.
- # Pass -a to all debhelper commands in this target to reduce clutter.
- binary-arch: build install
- dh_testdir -a
- dh_testroot -a
- dh_installdocs -a -XMakefile
- dh_installexamples -a
- dh_installmenu -a
- dh_installman -a
- dh_installchangelogs CHANGELOG.md -a
- dh_perl -a
- dh_link -a
- dh_strip -a
- dh_compress -a
- dh_fixperms -a
- dh_makeshlibs -plibgraphviz$(GRAPHVIZ_SONAME) -V 'libgraphviz4 (>= 2.18)'
- dh_installdeb -a
- dh_shlibdeps -a -L libgraphviz$(GRAPHVIZ_SONAME) $(CURDIR)/debian/libgraphviz$(GRAPHVIZ_SONAME)/usr/lib
- dh_gencontrol -a
- dh_md5sums -a
- dh_builddeb -a
- binary: binary-indep binary-arch
- .PHONY: build clean binary-indep binary-arch binary install configure
|