4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
23 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
24 # Copyright (c) 2023 Klaus Ziegler
27 include ..
/..
/..
/make-rules
/shared-macros.mk
29 PATH
=$(dir $(CC
)):/usr
/bin
:/usr
/gnu
/bin
31 COMPONENT_NAME
= subversion
32 COMPONENT_VERSION
= 1.14.2
33 COMPONENT_REVISION
= 3
34 COMPONENT_PROJECT_URL
= https
://subversion.apache.org
/
35 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
36 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.bz2
37 COMPONENT_ARCHIVE_HASH
= sha256
:c9130e8d0b75728a66f0e7038fc77052e671830d785b5616aad53b4810d3cc28
38 COMPONENT_ARCHIVE_URL
= https
://apache.org
/dist/subversion
/$(COMPONENT_ARCHIVE
)
39 COMPONENT_LICENSE
= Apache v2.0
41 include $(WS_MAKE_RULES
)/common.mk
43 COMPONENT_PREP_ACTION
+= $(GSED
) -i
-e
's|@PYTHON_LIB@|'"$(PYTHON_LIB)"'|' $(@D
)/Makefile.in
;
45 PYMODS
= client core delta fs ra repos wc
46 PLMODS
= Fs Core Wc Client Repos Ra Delta
49 CXXFLAGS
+= $(CPP_LARGEFILES
)
50 CFLAGS
+= -D__EXTENSIONS__
51 CFLAGS
+= `pkg-config --cflags neon`
52 CFLAGS
+= $(CPP_LARGEFILES
)
54 # Let's write some post-configure hacks
55 COMPONENT_POST_CONFIGURE_ACTION
= \
56 ( $(CLONEY
) $(SOURCE_DIR
) $(@D
) ; \
58 $(PYTHON
) .
/build
/transform_sql.py .
/subversion
/libsvn_fs_fs
/rep-cache-db.sql
< .
/subversion
/libsvn_fs_fs
/rep-cache-db.sql
> $(BUILD_DIR_
$(BITS
))/subversion
/libsvn_fs_fs
/rep-cache-db.h
2>&1 )
60 COMPONENT_BUILD_TARGETS
= all swig-pl swig-py javahl
61 COMPONENT_INSTALL_TARGETS
= install install-lib \
62 install-swig-pl install-swig-py \
63 install-javahl install-javahl-lib \
65 install-bin install-docs
67 CONFIGURE_ENV
+= PYTHON
="$(PYTHON)"
68 CONFIGURE_ENV
+= PYMODS
="$(PYMODS)"
69 CONFIGURE_ENV
+= PYTHONPATH
="$(PYTHON_VENDOR_PACKAGES)"
70 CONFIGURE_ENV
+= JAVA_ROOT
="$(JAVA_HOME)"
71 CONFIGURE_ENV
+= PERL
="$(PERL)"
72 CONFIGURE_ENV
+= PLMODS
="$(PLMODS)"
73 CONFIGURE_ENV
+= LD_OPTIONS
="$(LD_OPTIONS)"
75 LIBSVNDIR
= $(CONFIGURE_PREFIX
)/lib
/$(MACH64
)
77 APR-CONFIG
= /usr
/apr
/bin
/apr-1-config
78 APU-CONFIG
= /usr
/apr-util
/bin
/apu-1-config
79 APXS
= /usr
/apache2
/2.4/bin
/apxs
80 APR-CONFIG-RPATH
= /usr
/apr
/lib
/$(MACH64
)
81 APU-CONFIG-RPATH
= /usr
/apr-util
/lib
/$(MACH64
)
82 APACHE_LIBEXECDIR
= `$(APXS) -q libexecdir`
84 LDFLAGS
+= -R
$(LIBSVNDIR
) -R
$(APR-CONFIG-RPATH
) \
87 CONFIGURE_ENV
+= RUBY
="$(RUBY.1.9)"
89 # Let's make noise just because we have to override --libdir
90 CONFIGURE_OPTIONS
= --prefix=$(CONFIGURE_PREFIX
)
91 CONFIGURE_OPTIONS
+= --mandir=$(CONFIGURE_MANDIR
)
92 CONFIGURE_OPTIONS
+= --libdir=$(LIBSVNDIR
)
93 CONFIGURE_OPTIONS
+= --localstatedir
=/var
94 CONFIGURE_OPTIONS
+= --enable-shared
95 CONFIGURE_OPTIONS
+= --disable-libtool-lock
96 CONFIGURE_OPTIONS
+= --disable-experimental-libtool
97 CONFIGURE_OPTIONS
+= --with-zlib
=$(CONFIGURE_PREFIX
)
98 CONFIGURE_OPTIONS
+= --with-jdk
=$(JAVA_HOME
)
99 CONFIGURE_OPTIONS
+= --with-apr
=/usr
/apr
100 CONFIGURE_OPTIONS
+= --with-apr-util
=/usr
/apr-util
101 CONFIGURE_OPTIONS
+= --enable-nls
102 CONFIGURE_OPTIONS
+= --disable-mod-activation
103 CONFIGURE_OPTIONS
+= --enable-javahl
104 CONFIGURE_OPTIONS
+= --with-swig
105 CONFIGURE_OPTIONS
+= --with-utf8proc
=internal
106 CONFIGURE_OPTIONS
+= --with-apr
=$(APR-CONFIG
)
107 CONFIGURE_OPTIONS
+= --with-apr-util
=$(APU-CONFIG
)
108 CONFIGURE_OPTIONS
+= --with-apxs
=$(APXS
)
109 CONFIGURE_OPTIONS
+= --with-apache-libexecdir
=$(APACHE_LIBEXECDIR
)
110 # libgnome-keyring was obsoleted upstream, disable support for storing svn
111 # passwords in gnome-keyring until svn is updated to use libsecret instead
112 CONFIGURE_OPTIONS
+= --without-gnome-keyring
114 # Build and install should be able to find tools like chmod, touch, or true
115 COMPONENT_BUILD_ENV
+= PATH
=$(PATH
)
116 COMPONENT_INSTALL_ENV
+= PATH
=$(PATH
)
118 # Rename Python libraries to follow Python SOABI naming scheme
119 COMPONENT_POST_INSTALL_ACTION
+= \
120 EXT_SUFFIX
=$(shell $(PYTHON
) -c
"import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))") ; \
121 for i in
$(PROTO_DIR
)$(PYTHON_LIB
)/libsvn
/*.so
; do \
122 [[ -f
$$i ]] || continue
; \
123 [[ $${i
%%$$EXT_SUFFIX} == $$i ]] || continue
; \
124 t
=$${i
%%.so
}$$EXT_SUFFIX ; \
127 # Make sure built perl libraries are writable so we can modify them later
128 COMPONENT_POST_INSTALL_ACTION
+= \
129 find
$(PROTOUSRDIR
)/perl5
/vendor_perl
/$(PERL_VERSION
)/$(PERL_ARCH
) \
130 -name
*.so
-exec chmod
+w
{} \
; -print ;
132 COMPONENT_TEST_TRANSFORMS
+= \
138 '-e "s^lib/$(MACH64)^lib/MACH64^g"' \
139 '-e "s/^make\[[0-9]\{1,\}\]/make/g"' \
140 '-e "/ld: warning/d"' \
142 '-e "/exists from a previous run/d"' \
144 '-e "/^Python version.*/d"' \
147 # Master test results are different between amd64 and SPARCV9.
148 COMPONENT_TEST_MASTER
= \
149 $(COMPONENT_TEST_RESULTS_DIR
)/results-
$(MACH64
).master
151 # SPARC needs math library
152 ifeq ($(strip $(MACH
)),sparc
)
153 REQUIRED_PACKAGES
+= system
/library
/math
156 # Manually added build dependencies
157 PYTHON_REQUIRED_PACKAGES
+= library
/python
/py3c
159 # Auto-generated dependencies
160 PERL_REQUIRED_PACKAGES
+= runtime
/perl
161 PYTHON_REQUIRED_PACKAGES
+= runtime
/python
162 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
163 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
164 REQUIRED_PACKAGES
+= database
/sqlite-3
165 REQUIRED_PACKAGES
+= library
/apr
166 REQUIRED_PACKAGES
+= library
/apr-util
167 REQUIRED_PACKAGES
+= library
/expat
168 REQUIRED_PACKAGES
+= library
/libserf
169 REQUIRED_PACKAGES
+= library
/lz4
170 REQUIRED_PACKAGES
+= library
/magic
171 REQUIRED_PACKAGES
+= library
/zlib
172 REQUIRED_PACKAGES
+= system
/library