diff --git a/data/capsule-mkstublib b/data/capsule-mkstublib index 6dd127c70f185f31ff3712e8a7635c341190166f..435f4b6437fd3045d612e9bf522cf161db542598 100755 --- a/data/capsule-mkstublib +++ b/data/capsule-mkstublib @@ -30,6 +30,9 @@ usage () cat << EOF Usage: $me [OPTIONS] TARGET EXCLUDES EXPORTS OUTPUT [DSO-VERSION [TREE]]" Options: + --capsule-pkgdatadir=PATH + Use supporting files from PATH + [default: libcapsule's \${pkgdatadir}] --capsule-symbols-tool=PATH Use replacement capsule-symbols(1) --symbols-from=PATH Use symbols from this file @@ -173,8 +176,6 @@ then symbol_file=${proxy_src%.c}.symbols; fi -sharedir=$($PKG_CONFIG --variable=makeinc capsule) - exec >$proxy_src.tmp; echo '#include "capsule/capsule-shim.h"' diff --git a/debian/.gitignore b/debian/.gitignore index ac17ff818e8d58310db93ef59a5a892cc8504056..8d3085c413d33b85e13210a8d07fa228576bbc28 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -3,6 +3,8 @@ /*.substvars /autoreconf* /files +/libGL-proxy/ +/libGL-proxy-build/ /libcapsule-dev /libcapsule-dev-bin /libcapsule-tests diff --git a/debian/libcapsule-dev.examples b/debian/libcapsule-dev.examples new file mode 100644 index 0000000000000000000000000000000000000000..06bcb71ab4c700205540493a652834d6adc50790 --- /dev/null +++ b/debian/libcapsule-dev.examples @@ -0,0 +1 @@ +debian/libGL-proxy diff --git a/debian/libcapsule-tests.install b/debian/libcapsule-tests.install index c564fec23484316244c5a664df78fe055ed9f97e..f7923db252571c777029258edb3ff3693bf7ec83 100644 --- a/debian/libcapsule-tests.install +++ b/debian/libcapsule-tests.install @@ -1,2 +1,3 @@ +usr/lib/*/libcapsule/shims usr/lib/libcapsule/installed-tests/libcapsule usr/share/installed-tests/libcapsule diff --git a/debian/rules b/debian/rules index c42c5141713515cdde56732a5beb5d4f8f097105..5dd1d65158d61fa7059e1c35cd9b25fa1e4bfa63 100755 --- a/debian/rules +++ b/debian/rules @@ -10,8 +10,50 @@ confflags = --libexecdir=\$${exec_prefix}/lib/libcapsule --enable-gtk-doc override_dh_auto_configure: dh_auto_configure -- $(confflags) +proxy_vars = \ + CAPSULE_CFLAGS="-I$(CURDIR)" \ + CAPSULE_LIBS="-L$(CURDIR)/.libs -lcapsule" \ + CAPSULE_MKINC="$(CURDIR)/data" \ + CAPSULE_MKSTUBLIB_TOOL="$(CURDIR)/data/capsule-mkstublib" \ + CAPSULE_SYMBOLS_TOOL="$(CURDIR)/capsule-symbols" \ + CAPSULE_VERSION_TOOL="$(CURDIR)/capsule-version" \ + $(NULL) + +override_dh_auto_build: + dh_auto_build + $(proxy_vars) ./data/capsule-init-project \ + --capsule-pkgdatadir="$(CURDIR)/data" \ + --destination="$(CURDIR)/debian/libGL-proxy" \ + --no-autoreconf \ + --package-name=libGL-proxy \ + --search-tree=/nonexistent \ + --symbols-from-dir="$(CURDIR)/examples/shim" \ + libGL.so.1/1 \ + libX11.so.6/6 \ + libXext.so.6/6 \ + libxcb-dri2.so.0/0 \ + libxcb-glx.so.0/0 \ + libxcb-present.so.0/0 \ + libxcb-sync.so.1/1 \ + libxcb.so.1/1 \ + $(NULL) + # Copy it, so we can install the original source as an example + cp -a debian/libGL-proxy debian/libGL-proxy-build + cd debian/libGL-proxy-build && autoreconf -fi + cd debian/libGL-proxy-build && ./configure --prefix=/usr $(proxy_vars) + $(MAKE) -C debian/libGL-proxy-build V=1 $(proxy_vars) + +override_dh_auto_install: + dh_auto_install + $(MAKE) -C debian/libGL-proxy-build install V=1 $(proxy_vars) \ + DESTDIR=$(CURDIR)/debian/libGL-proxy-build/shims + install -d debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcapsule/shims + mv debian/libGL-proxy-build/shims/usr/lib/* \ + debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcapsule/shims + override_dh_install: rm -f debian/tmp/usr/lib/*/*.la + rm -f debian/tmp/usr/lib/*/libcapsule/shims/*.la find debian/tmp/usr/lib/libcapsule/installed-tests -name '*.la' -print -delete # Only keep the architecture-qualified version, delete the unprefixed # version, so we can be Multi-Arch: same