summaryrefslogtreecommitdiff
path: root/dev-perl/X11-XCB/files/X11-XCB-0.09-dynamic-linking.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-perl/X11-XCB/files/X11-XCB-0.09-dynamic-linking.patch')
-rw-r--r--dev-perl/X11-XCB/files/X11-XCB-0.09-dynamic-linking.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/dev-perl/X11-XCB/files/X11-XCB-0.09-dynamic-linking.patch b/dev-perl/X11-XCB/files/X11-XCB-0.09-dynamic-linking.patch
new file mode 100644
index 0000000..817d3ee
--- /dev/null
+++ b/dev-perl/X11-XCB/files/X11-XCB-0.09-dynamic-linking.patch
@@ -0,0 +1,70 @@
+diff --git a/Makefile.PL b/Makefile.PL
+index 6dff406..67f54c4 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -63,61 +63,11 @@ use_ppport;
+ cc_warnings if $ENV{X11_XCB_CC_WARNINGS};
+
+ require ExtUtils::Depends;
++require ExtUtils::PkgConfig;
+
+-cc_include_paths 'bundled-libs/libxcb-1.8.1/src';
+-
+-# We link the bundled xcb libraries statically so we don’t have to install them
+-# on the system (that might not be possible due to missing permissions).
+-makemaker_args->{MYEXTLIB} = join(' ', qw(
+- bundled-libs/libxcb-1.8.1/src/.libs/libxcb.a
+- bundled-libs/libxcb-1.8.1/src/.libs/libxcb-xinerama.a
+-));
+-makemaker_args->{LDLOADLIBS} = '-lXau -lXdmcp';
+-
+-{
+- package MY;
+- sub postamble {
+- <<'__EOF__';
+-$(MYEXTLIB):
+- echo "xcbincludedir=$$(pwd)/bundled-libs/xcb-proto-1.7.1/src" > bundled-libs/xcb-proto.pc
+- echo "pythondir=$$(pwd)/bundled-libs/xcb-proto-1.7.1/" >> bundled-libs/xcb-proto.pc
+- echo "" >> bundled-libs/xcb-proto.pc
+- echo "Name: XCB Proto" >> bundled-libs/xcb-proto.pc
+- echo "Description: X protocol descriptions for XCB" >> bundled-libs/xcb-proto.pc
+- echo "Version: 1.7.1" >> bundled-libs/xcb-proto.pc
+- cd bundled-libs/libxcb-1.8.1/ && PKG_CONFIG_PATH=$$(pwd)/.. ./configure --with-pic --disable-shared \
+- --disable-composite \
+- --disable-damage \
+- --disable-dpms \
+- --disable-dri2 \
+- --disable-glx \
+- --disable-randr \
+- --disable-record \
+- --disable-render \
+- --disable-resource \
+- --disable-screensaver \
+- --disable-shape \
+- --disable-shm \
+- --disable-sync \
+- --disable-xevie \
+- --disable-xfixes \
+- --disable-xfree86-dri \
+- --disable-xinput \
+- --disable-xkb \
+- --disable-xprint \
+- --disable-selinux \
+- --disable-xtest \
+- --disable-xv \
+- --disable-xvmc && $(MAKE)
+-
+-__EOF__
+- }
+-}
+-
+-if ($Module::Install::AUTHOR or $ENV{X11_XCB_GENERATE}) {
+- require _GenerateMyXS;
+- _GenerateMyXS::generate();
+-}
++makemaker_args->{INC} = ExtUtils::PkgConfig->cflags_only_I('xcb');
++makemaker_args->{CFLAGS} = ExtUtils::PkgConfig->cflags_only_other('xcb');
++makemaker_args->{LIBS} = ExtUtils::PkgConfig->libs('xcb');
+
+ WriteMakefile(
+ ExtUtils::Depends