summaryrefslogtreecommitdiffstats
path: root/ubuntu/_base/dependencies/arts/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu/_base/dependencies/arts/debian/rules')
-rwxr-xr-xubuntu/_base/dependencies/arts/debian/rules51
1 files changed, 48 insertions, 3 deletions
diff --git a/ubuntu/_base/dependencies/arts/debian/rules b/ubuntu/_base/dependencies/arts/debian/rules
index cc4893ca9..a934b8c5a 100755
--- a/ubuntu/_base/dependencies/arts/debian/rules
+++ b/ubuntu/_base/dependencies/arts/debian/rules
@@ -12,6 +12,14 @@ include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk
include debian/cdbs/debian-tde.mk
+DEB_TIME64_API = $(shell echo | cc $(dpkg-buildflags --get CPPFLAGS) -dM -E -x c++ - | grep -q "_TIME_BITS 64" && echo true || false)
+ifeq ($(DEB_TIME64_API),true)
+DEB_TIME64_SUFFIX = t64
+else
+DEB_TIME64_SUFFIX = c2a
+endif
+
+
DEB_CMAKE_EXTRA_FLAGS := \
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
-DPKGCONFIG_INSTALL_DIR="/usr/lib/pkgconfig" \
@@ -30,13 +38,13 @@ DEB_CMAKE_EXTRA_FLAGS := \
DEB_DH_STRIP_ARGS := --dbg-package=arts-trinity-dbg
-PACKAGES_WITH_LIBS := libarts1c2a-trinity libartsc0-trinity
+PACKAGES_WITH_LIBS := libarts1$(DEB_TIME64_SUFFIX)-trinity libartsc0-trinity
DEB_DH_MAKESHLIBS_ARGS_ALL := -V
DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/opt/trinity/lib)
-DEB_DH_MAKESHLIBS_ARGS_libarts1c2a-trinity := -V'libarts1c2a-trinity (>= 1.5.9)'
-DEB_DH_MAKESHLIBS_ARGS_libartsc0-trinity := -V'libartsc0-trinity (>= 1.5.9)'
+DEB_DH_MAKESHLIBS_ARGS_libarts1$(DEB_TIME64_SUFFIX)-trinity := -V'libarts1$(DEB_TIME64_SUFFIX)-trinity (>= 1.5.9)'
+DEB_DH_MAKESHLIBS_ARGS_libartsc0-trinity := -V'libartsc0-trinity (>= 1.5.9)'
#shlibs_ver = 1.5.0-1
#$(foreach p,$(PACKAGES_WITH_LIBS),$(eval DEB_DH_MAKESHLIBS_ARGS_$(p) := -V'$(p) (>= $(shlibs_ver))'))
@@ -47,3 +55,40 @@ binary-predeb/libarts1-trinity-dev::
ifeq (linux,$(DEB_HOST_ARCH_OS))
echo "libasound2-dev=libasound2-dev" >> debian/libarts1-trinity-dev.substvars
endif
+
+post-patches::
+ dh_testdir
+ifeq ($(DEB_TIME64_API),true)
+ # update library package name for TIME64 ABI
+ ls -d debian/* | \
+ grep -E "/libarts1c2a" | \
+ grep -v "\.t64$$" | \
+ while read a; do \
+ [ -d $$a ] || [ -f $$a.t64 ] || \
+ (cp -a $$a debian/libarts1$(DEB_TIME64_SUFFIX)$${a##*c2a} && mv $$a $$a.t64); \
+ done
+ [ -f debian/control.t64 ] || \
+ sed -i.t64 \
+ -e "s/^\\(Package: libarts1\\)c2a-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
+ -e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libarts1\\)c2a-trinity\\( \|$$\)/\\1:\\2\\3c2a-trinity, \\3$(DEB_TIME64_SUFFIX)-trinity\\4/" \
+ -e "s/\\(libarts1\\)c2a-trinity (=/\\1$(DEB_TIME64_SUFFIX)-trinity (=/" \
+ debian/control
+endif
+
+clean::
+ dh_testdir
+ dh_clean
+
+ifeq ($(DEB_TIME64_API),true)
+ # revert library package name for TIME64 ABI
+ ls -d debian/* | \
+ grep -E "\.t64$$" | \
+ while read a; do \
+ mv $$a $${a%.t64}; \
+ done
+ ls -d debian/* | \
+ grep -E "/libarts1$(DEB_TIME64_SUFFIX)-" | \
+ xargs -r rm
+ [ ! -f debian/control.t64 ] || \
+ mv debian/control.t64 debian/control
+endif