Revision: 26783 http://sourceforge.net/p/gar/code/26783 Author: dmichelsen Date: 2021-09-09 10:19:04 +0000 (Thu, 09 Sep 2021) Log Message: ----------- apr/trunk: Apply 64 bit patch from Franz Sirl
Modified Paths: -------------- csw/mgar/pkg/apr/trunk/Makefile Added Paths: ----------- csw/mgar/pkg/apr/trunk/files/0001-Define-__EXTENSIONS__-so-that-also-all-apr.h-users-g.patch csw/mgar/pkg/apr/trunk/files/0002-Define-_FILE_OFFSET_BITS-64-so-that-subversion-can-a.patch csw/mgar/pkg/apr/trunk/files/apr.h Modified: csw/mgar/pkg/apr/trunk/Makefile =================================================================== --- csw/mgar/pkg/apr/trunk/Makefile 2021-09-08 10:49:21 UTC (rev 26782) +++ csw/mgar/pkg/apr/trunk/Makefile 2021-09-09 10:19:04 UTC (rev 26783) @@ -11,10 +11,29 @@ MASTER_SITES = http://mirrors.ae-online.de/apache/apr/ DISTFILES = $(NAME)-$(VERSION).tar.gz +# apr.h needs PATH_MAX from limits.h defined, otherwise it will #error. +# So define __EXTENSIONS__ in build/apr_hints.m4 to make sure +# it is propagated to all users via 'apr-1-config --cppflags'. +# Acutually 'configure' checks for and enables __EXTENSIONS__, but it +# doesn't end up in 'apr-1-config --cppflags' without this patch. +PATCHFILES += 0001-Define-__EXTENSIONS__-so-that-also-all-apr.h-users-g.patch +# apr usually uses -D_LARGEFILE64_SOURCE to get support for large files +# on 32-bit OSes. +# Unfortunately this still doesn't support filesystems (eg. NFS) with +# 64-bit directory "cookies". For this to work we need +# to define _FILE_OFFSET_BITS=64 for apr and it's users via build/apr_hints.m4. +# (!!!) If you enable this patch, you need to also rebuild the whole +# dependency tree that depends on apr. +#PATCHFILES-32 += 0002-Define-_FILE_OFFSET_BITS-64-so-that-subversion-can-a.patch +PATCHFILES += $(PATCHFILES-$(MEMORYMODEL)) LICENSE = LICENSE VENDOR_URL = https://apr.apache.org/ +BUILD_DEP_PKGS += CSWautoconf +BUILD_DEP_PKGS += CSWautomake +BUILD_DEP_PKGS += CSWlibtool + PACKAGES += CSWlibapr1-0 SPKG_DESC_CSWlibapr1-0 = Apache portable runtime, libapr-1.so.0 PKGFILES_CSWlibapr1-0 += $(call pkgfiles_lib,libapr-1.so.0) @@ -48,8 +67,21 @@ EXTRA_MERGE_DIRS_isa-extra = $(libexecdir) +EXTRA_PAX_ARGS-32 = -s ",^\.$(includedir)/apr.h$$,.$(includedir)/apr-32.h,p" +EXTRA_PAX_ARGS-64 = -s ",^\.$(includedir)/apr.h$$,.$(includedir)/apr-64.h,p" +EXTRA_PAX_ARGS = $(EXTRA_PAX_ARGS-$(MEMORYMODEL)) + include gar/category.mk +# trigger re-configuration because of the build/apr_hints.m4 changes +pre-configure-modulated: + @(cd $(WORKSRC); ./buildconf ) + @$(MAKECOOKIE) + +post-merge: + ginstall $(FILEDIR)/apr.h $(PKGROOT)$(includedir)/apr.h + @$(MAKECOOKIE) + post-install-modulated: perl -pi -e 's,/usr/local/lib,$(libdir),g;' \ -e 's,#! /bin/bash,#!$(bindir_install)/bash,g;' \ Added: csw/mgar/pkg/apr/trunk/files/0001-Define-__EXTENSIONS__-so-that-also-all-apr.h-users-g.patch =================================================================== --- csw/mgar/pkg/apr/trunk/files/0001-Define-__EXTENSIONS__-so-that-also-all-apr.h-users-g.patch (rev 0) +++ csw/mgar/pkg/apr/trunk/files/0001-Define-__EXTENSIONS__-so-that-also-all-apr.h-users-g.patch 2021-09-09 10:19:04 UTC (rev 26783) @@ -0,0 +1,26 @@ +From 5990f4150c662657a508ef3715378ab825707b3d Mon Sep 17 00:00:00 2001 +From: Franz Sirl <franz.s...@lauterbach.com> +Date: Fri, 23 Apr 2021 12:42:57 +0200 +Subject: [PATCH 1/2] Define __EXTENSIONS__ so that also all apr.h users get + PATH_MAX from limits.h. + +--- + build/apr_hints.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/apr_hints.m4 b/build/apr_hints.m4 +index fd3d33d..ba53663 100644 +--- a/build/apr_hints.m4 ++++ b/build/apr_hints.m4 +@@ -236,7 +236,7 @@ dnl # Not a problem in 10.20. Otherwise, who knows? + ;; + *-solaris2*) + PLATOSVERS=`echo $host | sed 's/^.*solaris2.//'` +- APR_ADDTO(CPPFLAGS, [-DSOLARIS2=$PLATOSVERS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT]) ++ APR_ADDTO(CPPFLAGS, [-DSOLARIS2=$PLATOSVERS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D__EXTENSIONS__]) + if test $PLATOSVERS -eq 10; then + # pthread_mutex_timedlock is broken on Solaris 10. + # It can block without timeout in case of EDEADLK. +-- +2.3.1 + Added: csw/mgar/pkg/apr/trunk/files/0002-Define-_FILE_OFFSET_BITS-64-so-that-subversion-can-a.patch =================================================================== --- csw/mgar/pkg/apr/trunk/files/0002-Define-_FILE_OFFSET_BITS-64-so-that-subversion-can-a.patch (rev 0) +++ csw/mgar/pkg/apr/trunk/files/0002-Define-_FILE_OFFSET_BITS-64-so-that-subversion-can-a.patch 2021-09-09 10:19:04 UTC (rev 26783) @@ -0,0 +1,26 @@ +From 840c0a96376c8028490e4cf04cc7046703b55a50 Mon Sep 17 00:00:00 2001 +From: Franz Sirl <franz.s...@lauterbach.com> +Date: Fri, 23 Apr 2021 12:45:51 +0200 +Subject: [PATCH 2/2] Define _FILE_OFFSET_BITS=64 so that subversion can also + work against newer NFS servers. + +--- + build/apr_hints.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/apr_hints.m4 b/build/apr_hints.m4 +index ba53663..0c3437f 100644 +--- a/build/apr_hints.m4 ++++ b/build/apr_hints.m4 +@@ -236,7 +236,7 @@ dnl # Not a problem in 10.20. Otherwise, who knows? + ;; + *-solaris2*) + PLATOSVERS=`echo $host | sed 's/^.*solaris2.//'` +- APR_ADDTO(CPPFLAGS, [-DSOLARIS2=$PLATOSVERS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D__EXTENSIONS__]) ++ APR_ADDTO(CPPFLAGS, [-DSOLARIS2=$PLATOSVERS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D__EXTENSIONS__ -D_FILE_OFFSET_BITS=64]) + if test $PLATOSVERS -eq 10; then + # pthread_mutex_timedlock is broken on Solaris 10. + # It can block without timeout in case of EDEADLK. +-- +2.3.1 + Added: csw/mgar/pkg/apr/trunk/files/apr.h =================================================================== --- csw/mgar/pkg/apr/trunk/files/apr.h (rev 0) +++ csw/mgar/pkg/apr/trunk/files/apr.h 2021-09-09 10:19:04 UTC (rev 26783) @@ -0,0 +1,6 @@ +/* Allow 32 and 64 bit headers to coexist */ +#if defined __amd64 || defined __x86_64 || defined __sparcv9 +# include <apr-64.h> +#else +# include <apr-32.h> +#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.