Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/db/
Date: Tue, 25 May 2021 10:37:32
Message-Id: 1621938998.aa24d45004fa9ccc7ff2a0528fe41c695481e0aa.soap@gentoo
1 commit: aa24d45004fa9ccc7ff2a0528fe41c695481e0aa
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 25 10:36:38 2021 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Tue May 25 10:36:38 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa24d450
7
8 sys-libs/db: drop versions
9
10 Closes: https://bugs.gentoo.org/790803
11 Signed-off-by: David Seifert <soap <AT> gentoo.org>
12
13 sys-libs/db/db-4.5.20_p2-r5.ebuild | 189 ---------------------------
14 sys-libs/db/db-4.6.21_p4-r4.ebuild | 178 --------------------------
15 sys-libs/db/db-4.7.25_p4-r4.ebuild | 185 ---------------------------
16 sys-libs/db/db-4.8.30-r5.ebuild | 192 ----------------------------
17 sys-libs/db/db-5.3.28-r6.ebuild | 246 -----------------------------------
18 sys-libs/db/db-5.3.28-r7.ebuild | 254 -------------------------------------
19 6 files changed, 1244 deletions(-)
20
21 diff --git a/sys-libs/db/db-4.5.20_p2-r5.ebuild b/sys-libs/db/db-4.5.20_p2-r5.ebuild
22 deleted file mode 100644
23 index c8677a2f0a4..00000000000
24 --- a/sys-libs/db/db-4.5.20_p2-r5.ebuild
25 +++ /dev/null
26 @@ -1,189 +0,0 @@
27 -# Copyright 1999-2021 Gentoo Authors
28 -# Distributed under the terms of the GNU General Public License v2
29 -
30 -EAPI=7
31 -
32 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib
33 -
34 -#Number of official patches
35 -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
36 -PATCHNO="${PV/*.*.*_p}"
37 -if [[ ${PATCHNO} == "${PV}" ]] ; then
38 - MY_PV="${PV}"
39 - MY_P="${P}"
40 - PATCHNO=0
41 -else
42 - MY_PV="${PV/_p${PATCHNO}}"
43 - MY_P="${PN}-${MY_PV}"
44 -fi
45 -
46 -S="${WORKDIR}/${MY_P}/build_unix"
47 -DESCRIPTION="Oracle Berkeley DB"
48 -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
49 -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
50 -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
51 - export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
52 -done
53 -
54 -LICENSE="Sleepycat"
55 -SLOT="$(ver_cut 1-2)"
56 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
57 -IUSE="tcl java doc cxx"
58 -RESTRICT="!test? ( test )"
59 -
60 -DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
61 - java? ( >=virtual/jdk-1.8 )"
62 -RDEPEND="tcl? ( dev-lang/tcl )
63 - java? ( >=virtual/jre-1.8 )"
64 -
65 -PATCHES=(
66 - "${FILESDIR}"/"${PN}"-4.4-libtool.patch
67 -
68 - # use the includes from the prefix
69 - "${FILESDIR}"/"${PN}"-4.2-jni-check-prefix-first.patch
70 - "${FILESDIR}"/"${PN}"-4.2-listen-to-java-options.patch
71 -)
72 -
73 -# Required to avoid unpack attempt of patches
74 -src_unpack() {
75 - unpack "${MY_P}".tar.gz
76 -}
77 -
78 -src_prepare() {
79 - pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || die
80 - for (( i=1 ; i<=${PATCHNO} ; i++ ))
81 - do
82 - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
83 - done
84 -
85 - default
86 -
87 - sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" \
88 - -i dist/RELEASE || die
89 -
90 - # Include the SLOT for Java JAR files
91 - # This supersedes the unused jarlocation patches.
92 - sed -r \
93 - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
94 - -i dist/Makefile.in || die
95 -
96 - # START of 4.5+earlier specific
97 - # Upstream sucks, they normally concat these
98 - local i j
99 - for j in dist/aclocal{,_java} ; do
100 - pushd ${j} &>/dev/null || die
101 - for i in * ; do
102 - ln -s ${i} ${i%.ac}.m4 || die
103 - done
104 - popd &>/dev/null || die
105 - done
106 - # END of 4.5+earlier specific
107 - pushd dist &>/dev/null || die
108 - rm aclocal/libtool.{m4,ac} || die
109 - sed \
110 - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
111 - -i configure.ac || die
112 - sed \
113 - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
114 - -i aclocal/programs.m4 || die
115 -
116 - AT_M4DIR="aclocal aclocal_java" eautoreconf
117 -
118 - # Upstream sucks - they do autoconf and THEN replace the version variables.
119 - . ./RELEASE
120 - sed \
121 - -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
122 - -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
123 - -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
124 - -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
125 - -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
126 - -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
127 - -i configure || die
128 -
129 - popd &>/dev/null || die
130 - popd &>/dev/null || die
131 -}
132 -
133 -src_configure() {
134 - # compilation with -O0 fails on amd64, see bug #171231
135 - if use amd64 ; then
136 - replace-flags -O0 -O2
137 - is-flagq -O[s123] || append-flags -O2
138 - fi
139 -
140 - local myconf=(
141 - --enable-compat185
142 - --enable-o_direct
143 - --without-uniquename
144 - --disable-rpc
145 - --host="${CHOST}"
146 -
147 - $(usex amd64 '--with-mutex=x86/gcc-assembly' '')
148 - $(use_enable cxx)
149 - $(use_enable tcl)
150 - $(usex tcl "--with-tcl=${EPREFIX}/usr/$(get_libdir)" '') #"
151 - $(use_enable java)
152 - )
153 -
154 - if use java; then
155 - myconf+=(
156 - --with-java-prefix="${JAVA_HOME}"
157 - --with-javac-flags="$(java-pkg_javac-args)"
158 - )
159 - fi
160 -
161 - # the entire testsuite needs the TCL functionality
162 - if use tcl && use test ; then
163 - myconf+=( --enable-test )
164 - else
165 - myconf+=( --disable-test )
166 - fi
167 -
168 - # Add linker versions to the symbols. Easier to do, and safer than header file
169 - # mumbo jumbo.
170 - if use userland_GNU; then
171 - append-ldflags -Wl,--default-symver
172 - fi
173 -
174 - ECONF_SOURCE="${S}"/../dist \
175 - econf "${myconf[@]}"
176 -
177 - sed -e "s,\(^STRIP *=\).*,\1\"true\"," -i Makefile || die
178 -}
179 -
180 -src_install() {
181 - emake \
182 - DESTDIR="${D}" \
183 - libdir="${EPREFIX}/usr/$(get_libdir)" \
184 - STRIP="true" \
185 - install
186 -
187 - db_src_install_usrbinslot
188 -
189 - db_src_install_headerslot
190 -
191 - db_src_install_doc
192 -
193 - db_src_install_usrlibcleanup
194 -
195 - dodir /usr/sbin
196 - # This file is not always built, and no longer exists as of db-4.8
197 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
198 - mv "${ED}"/usr/bin/berkeley_db_svc \
199 - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
200 - fi
201 -
202 - if use java; then
203 - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
204 - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar
205 - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar
206 - fi
207 -}
208 -
209 -pkg_postinst() {
210 - db_fix_so
211 -}
212 -
213 -pkg_postrm() {
214 - db_fix_so
215 -}
216
217 diff --git a/sys-libs/db/db-4.6.21_p4-r4.ebuild b/sys-libs/db/db-4.6.21_p4-r4.ebuild
218 deleted file mode 100644
219 index d753b5db0f6..00000000000
220 --- a/sys-libs/db/db-4.6.21_p4-r4.ebuild
221 +++ /dev/null
222 @@ -1,178 +0,0 @@
223 -# Copyright 1999-2021 Gentoo Authors
224 -# Distributed under the terms of the GNU General Public License v2
225 -
226 -EAPI=7
227 -
228 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib
229 -
230 -#Number of official patches
231 -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
232 -PATCHNO="${PV/*.*.*_p}"
233 -if [[ ${PATCHNO} == "${PV}" ]] ; then
234 - MY_PV="${PV}"
235 - MY_P="${P}"
236 - PATCHNO=0
237 -else
238 - MY_PV="${PV/_p${PATCHNO}}"
239 - MY_P="${PN}-${MY_PV}"
240 -fi
241 -
242 -S="${WORKDIR}/${MY_P}/build_unix"
243 -DESCRIPTION="Oracle Berkeley DB"
244 -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
245 -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
246 -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
247 - export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
248 -done
249 -
250 -LICENSE="Sleepycat"
251 -SLOT="$(ver_cut 1-2)"
252 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
253 -IUSE="tcl java doc cxx"
254 -RESTRICT="!test? ( test )"
255 -
256 -DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
257 - java? ( >=virtual/jdk-1.8 )"
258 -RDEPEND="tcl? ( dev-lang/tcl )
259 - java? ( >=virtual/jre-1.8 )"
260 -
261 -PATCHES=(
262 - "${FILESDIR}"/"${PN}"-4.4-libtool.patch
263 -
264 - # use the includes from the prefix
265 - "${FILESDIR}"/"${PN}"-"${SLOT}"-jni-check-prefix-first.patch
266 - "${FILESDIR}"/"${PN}"-4.2-listen-to-java-options.patch
267 -)
268 -
269 -# Required to avoid unpack attempt of patches
270 -src_unpack() {
271 - unpack "${MY_P}".tar.gz
272 -}
273 -
274 -src_prepare() {
275 - pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || die
276 - for (( i=1 ; i<=${PATCHNO} ; i++ ))
277 - do
278 - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
279 - done
280 -
281 - default
282 -
283 - sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" \
284 - -i dist/RELEASE || die
285 -
286 - # Include the SLOT for Java JAR files
287 - # This supersedes the unused jarlocation patches.
288 - sed -r \
289 - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
290 - -i dist/Makefile.in || die
291 -
292 - pushd dist &>/dev/null || die
293 - rm aclocal/libtool.m4 || die
294 - sed \
295 - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
296 - -i configure.ac || die
297 - sed \
298 - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
299 - -i aclocal/programs.m4 || die
300 -
301 - AT_M4DIR="aclocal aclocal_java" eautoreconf
302 -
303 - # Upstream sucks - they do autoconf and THEN replace the version variables.
304 - . ./RELEASE
305 - sed \
306 - -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
307 - -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
308 - -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
309 - -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
310 - -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
311 - -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
312 - -i configure || die
313 -
314 - popd &>/dev/null || die
315 - popd &>/dev/null || die
316 -}
317 -
318 -src_configure() {
319 - # compilation with -O0 fails on amd64, see bug #171231
320 - if use amd64 ; then
321 - replace-flags -O0 -O2
322 - is-flagq -O[s123] || append-flags -O2
323 - fi
324 -
325 - local myconf=(
326 - --enable-compat185
327 - --enable-o_direct
328 - --without-uniquename
329 - --disable-rpc
330 - --host="${CHOST}"
331 -
332 - $(usex amd64 '--with-mutex=x86/gcc-assembly' '')
333 - $(use_enable cxx)
334 - $(use_enable tcl)
335 - $(usex tcl "--with-tcl=${EPREFIX}/usr/$(get_libdir)" '') #"
336 - $(use_enable java)
337 - )
338 -
339 - if use java; then
340 - myconf+=(
341 - --with-java-prefix="${JAVA_HOME}"
342 - --with-javac-flags="$(java-pkg_javac-args)"
343 - )
344 - fi
345 -
346 - # the entire testsuite needs the TCL functionality
347 - if use tcl && use test ; then
348 - myconf+=( --enable-test )
349 - else
350 - myconf+=( --disable-test )
351 - fi
352 -
353 - # Add linker versions to the symbols. Easier to do, and safer than header file
354 - # mumbo jumbo.
355 - if use userland_GNU; then
356 - append-ldflags -Wl,--default-symver
357 - fi
358 -
359 - ECONF_SOURCE="${S}"/../dist \
360 - econf "${myconf[@]}"
361 -
362 - sed -e "s,\(^STRIP *=\).*,\1\"true\"," -i Makefile || die
363 -}
364 -
365 -src_install() {
366 - emake \
367 - DESTDIR="${D}" \
368 - libdir="${EPREFIX}/usr/$(get_libdir)" \
369 - STRIP="true" \
370 - install
371 -
372 - db_src_install_usrbinslot
373 -
374 - db_src_install_headerslot
375 -
376 - db_src_install_doc
377 -
378 - db_src_install_usrlibcleanup
379 -
380 - dodir /usr/sbin
381 - # This file is not always built, and no longer exists as of db-4.8
382 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
383 - mv "${ED}"/usr/bin/berkeley_db_svc \
384 - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
385 - fi
386 -
387 - if use java; then
388 - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
389 - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar
390 - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar
391 - fi
392 -}
393 -
394 -pkg_postinst() {
395 - db_fix_so
396 -}
397 -
398 -pkg_postrm() {
399 - db_fix_so
400 -}
401
402 diff --git a/sys-libs/db/db-4.7.25_p4-r4.ebuild b/sys-libs/db/db-4.7.25_p4-r4.ebuild
403 deleted file mode 100644
404 index 7b7ac90fe7a..00000000000
405 --- a/sys-libs/db/db-4.7.25_p4-r4.ebuild
406 +++ /dev/null
407 @@ -1,185 +0,0 @@
408 -# Copyright 1999-2021 Gentoo Authors
409 -# Distributed under the terms of the GNU General Public License v2
410 -
411 -EAPI=7
412 -
413 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib
414 -
415 -#Number of official patches
416 -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
417 -PATCHNO="${PV/*.*.*_p}"
418 -if [[ ${PATCHNO} == "${PV}" ]] ; then
419 - MY_PV="${PV}"
420 - MY_P="${P}"
421 - PATCHNO=0
422 -else
423 - MY_PV="${PV/_p${PATCHNO}}"
424 - MY_P="${PN}-${MY_PV}"
425 -fi
426 -
427 -RESTRICT="!test? ( test )"
428 -
429 -S="${WORKDIR}/${MY_P}/build_unix"
430 -DESCRIPTION="Oracle Berkeley DB"
431 -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
432 -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
433 -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
434 - export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
435 -done
436 -
437 -LICENSE="Sleepycat"
438 -SLOT="$(ver_cut 1-2)"
439 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~s390 sparc x86"
440 -IUSE="doc java cxx tcl test"
441 -
442 -# the entire testsuite needs the TCL functionality
443 -DEPEND="tcl? ( >=dev-lang/tcl-8.4 )
444 - test? ( >=dev-lang/tcl-8.4 )
445 - java? ( >=virtual/jdk-1.8 )"
446 -RDEPEND="tcl? ( dev-lang/tcl )
447 - java? ( >=virtual/jre-1.8 )"
448 -
449 -PATCHES=(
450 - "${FILESDIR}"/"${PN}"-4.4-libtool.patch
451 -
452 - # use the includes from the prefix
453 - "${FILESDIR}"/"${PN}"-4.6-jni-check-prefix-first.patch
454 - "${FILESDIR}"/"${PN}"-4.2-listen-to-java-options.patch
455 -)
456 -
457 -# Required to avoid unpack attempt of patches
458 -src_unpack() {
459 - unpack "${MY_P}".tar.gz
460 -}
461 -
462 -src_prepare() {
463 - pushd "${WORKDIR}"/"${MY_P}" &>/dev/null || die
464 - for (( i=1 ; i<=${PATCHNO} ; i++ ))
465 - do
466 - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
467 - done
468 -
469 - default
470 -
471 - sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" \
472 - -i dist/RELEASE || die
473 -
474 - # Include the SLOT for Java JAR files
475 - # This supersedes the unused jarlocation patches.
476 - sed -r \
477 - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
478 - -i dist/Makefile.in || die
479 -
480 - pushd dist &>/dev/null || die
481 - rm aclocal/libtool.m4 || die
482 - sed \
483 - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
484 - -i configure.ac || die
485 - sed \
486 - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
487 - -i aclocal/programs.m4 || die
488 -
489 - AT_M4DIR="aclocal aclocal_java" eautoreconf
490 -
491 - # Upstream sucks - they do autoconf and THEN replace the version variables.
492 - . ./RELEASE
493 - sed \
494 - -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
495 - -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
496 - -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
497 - -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
498 - -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
499 - -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
500 - -i configure || die
501 -
502 - popd &>/dev/null || die
503 - popd &>/dev/null || die
504 -}
505 -
506 -src_configure() {
507 - # compilation with -O0 fails on amd64, see bug #171231
508 - if use amd64 ; then
509 - replace-flags -O0 -O2
510 - is-flagq -O[s123] || append-flags -O2
511 - fi
512 -
513 - local myconf=(
514 - --enable-compat185
515 - --enable-o_direct
516 - --without-uniquename
517 - --disable-rpc
518 -
519 - $(usex amd64 '--with-mutex=x86/gcc-assembly' '')
520 - $(use_enable cxx)
521 - $(use_enable tcl)
522 - $(usex tcl "--with-tcl=${EPREFIX}/usr/$(get_libdir)" '') #"
523 - $(use_enable java)
524 - $(use_enable test)
525 - )
526 -
527 - if use java; then
528 - myconf+=(
529 - --with-java-prefix="${JAVA_HOME}"
530 - --with-javac-flags="$(java-pkg_javac-args)"
531 - )
532 - fi
533 -
534 - # Bug #270851: test needs TCL support
535 - if use tcl && use test ; then
536 - myconf+=( --enable-test )
537 - else
538 - myconf+=( --disable-test )
539 - fi
540 -
541 - # Add linker versions to the symbols. Easier to do, and safer than header file
542 - # mumbo jumbo.
543 - if use userland_GNU ; then
544 - append-ldflags -Wl,--default-symver
545 - fi
546 -
547 - ECONF_SOURCE="${S}"/../dist \
548 - STRIP="true" \
549 - econf "${myconf[@]}"
550 -
551 - # The embedded assembly on ARM does not work on newer hardware
552 - # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
553 - # Specifically, it uses the SWPB op, which was deprecated:
554 - # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
555 -
556 - # The op ALSO cannot be used in ARM-Thumb mode.
557 - # Trust the compiler instead.
558 - # >=db-6.1 uses LDREX instead.
559 -}
560 -
561 -src_install() {
562 - emake DESTDIR="${D}" install
563 -
564 - db_src_install_usrbinslot
565 -
566 - db_src_install_headerslot
567 -
568 - db_src_install_doc
569 -
570 - db_src_install_usrlibcleanup
571 -
572 - dodir /usr/sbin
573 - # This file is not always built, and no longer exists as of db-4.8
574 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
575 - mv "${ED}"/usr/bin/berkeley_db_svc \
576 - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
577 - fi
578 -
579 - if use java; then
580 - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
581 - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar
582 - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar
583 - fi
584 -}
585 -
586 -pkg_postinst() {
587 - db_fix_so
588 -}
589 -
590 -pkg_postrm() {
591 - db_fix_so
592 -}
593
594 diff --git a/sys-libs/db/db-4.8.30-r5.ebuild b/sys-libs/db/db-4.8.30-r5.ebuild
595 deleted file mode 100644
596 index 598b13dac88..00000000000
597 --- a/sys-libs/db/db-4.8.30-r5.ebuild
598 +++ /dev/null
599 @@ -1,192 +0,0 @@
600 -# Copyright 1999-2021 Gentoo Authors
601 -# Distributed under the terms of the GNU General Public License v2
602 -
603 -EAPI=7
604 -
605 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs
606 -
607 -#Number of official patches
608 -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
609 -PATCHNO="${PV/*.*.*_p}"
610 -if [[ ${PATCHNO} == "${PV}" ]] ; then
611 - MY_PV="${PV}"
612 - MY_P="${P}"
613 - PATCHNO=0
614 -else
615 - MY_PV="${PV/_p${PATCHNO}}"
616 - MY_P="${PN}-${MY_PV}"
617 -fi
618 -
619 -RESTRICT="!test? ( test )"
620 -
621 -S="${WORKDIR}/${MY_P}/build_unix"
622 -DESCRIPTION="Oracle Berkeley DB"
623 -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
624 -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
625 -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
626 - export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
627 -done
628 -
629 -LICENSE="Sleepycat"
630 -SLOT="$(ver_cut 1-2)"
631 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
632 -IUSE="doc java cxx tcl test"
633 -
634 -REQUIRED_USE="test? ( tcl )"
635 -
636 -# the entire testsuite needs the TCL functionality
637 -DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
638 - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
639 - java? ( >=virtual/jdk-1.8 )"
640 -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
641 - java? ( >=virtual/jre-1.8 )"
642 -
643 -PATCHES=(
644 - "${FILESDIR}"/${PN}-4.8-libtool.patch
645 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
646 - "${FILESDIR}"/${PN}-4.8.30-rename-atomic-compare-exchange.patch
647 -
648 - # use the includes from the prefix
649 - "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
650 - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch
651 -)
652 -
653 -src_prepare() {
654 - cd "${WORKDIR}"/"${MY_P}" || die
655 - for (( i=1 ; i<=${PATCHNO} ; i++ ))
656 - do
657 - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
658 - done
659 -
660 - default
661 -
662 - sed -e "/^DB_RELEASE_DATE=/s/%B %e, %Y/%Y-%m-%d/" -i dist/RELEASE \
663 - || die
664 -
665 - # Include the SLOT for Java JAR files
666 - # This supersedes the unused jarlocation patches.
667 - sed -r \
668 - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
669 - -i dist/Makefile.in || die
670 -
671 - cd dist || die
672 - rm aclocal/libtool.m4 || die
673 - sed \
674 - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
675 - -i configure.ac || die
676 - sed \
677 - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
678 - -i aclocal/programs.m4 || die
679 -
680 - AT_M4DIR="aclocal aclocal_java" eautoreconf
681 -
682 - # Upstream sucks - they do autoconf and THEN replace the version variables.
683 - . ./RELEASE
684 - sed \
685 - -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" \
686 - -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" \
687 - -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" \
688 - -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" \
689 - -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" \
690 - -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" \
691 - -i configure || die
692 -}
693 -
694 -multilib_src_configure() {
695 - local myconf=(
696 - --enable-compat185
697 - --enable-o_direct
698 - --without-uniquename
699 - $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
700 - $(use_enable cxx)
701 - $(use_enable cxx stl)
702 - $(multilib_native_use_enable java)
703 - $(use_enable test)
704 - )
705 -
706 - tc-ld-force-bfd #470634 #729510
707 -
708 - # compilation with -O0 fails on amd64, see bug #171231
709 - if [[ ${ABI} == amd64 ]]; then
710 - local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
711 - replace-flags -O0 -O2
712 - is-flagq -O[s123] || append-flags -O2
713 - fi
714 -
715 - # Add linker versions to the symbols. Easier to do, and safer than header file
716 - # mumbo jumbo.
717 - if use userland_GNU ; then
718 - append-ldflags -Wl,--default-symver
719 - fi
720 -
721 - # use `set` here since the java opts will contain whitespace
722 - if multilib_is_native_abi && use java ; then
723 - myconf+=(
724 - --with-java-prefix="${JAVA_HOME}"
725 - --with-javac-flags="$(java-pkg_javac-args)"
726 - )
727 - fi
728 -
729 - # Bug #270851: test needs TCL support
730 - if use tcl || use test ; then
731 - myconf+=(
732 - --enable-tcl
733 - --with-tcl="${EPREFIX}/usr/$(get_libdir)"
734 - )
735 - else
736 - myconf+=(--disable-tcl )
737 - fi
738 -
739 - ECONF_SOURCE="${S}"/../dist \
740 - STRIP="true" \
741 - econf "${myconf[@]}"
742 -
743 - # The embedded assembly on ARM does not work on newer hardware
744 - # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
745 - # Specifically, it uses the SWPB op, which was deprecated:
746 - # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
747 - # The op ALSO cannot be used in ARM-Thumb mode.
748 - # Trust the compiler instead.
749 - # >=db-6.1 uses LDREX instead.
750 -}
751 -
752 -multilib_src_test() {
753 - multilib_is_native_abi || return
754 -
755 - S="${BUILD_DIR}" db_src_test
756 -}
757 -
758 -multilib_src_install() {
759 - emake install DESTDIR="${D}"
760 -
761 - db_src_install_headerslot
762 -
763 - db_src_install_usrlibcleanup
764 -
765 - if multilib_is_native_abi && use java; then
766 - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
767 - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar
768 - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar
769 - fi
770 -}
771 -
772 -multilib_src_install_all() {
773 - db_src_install_usrbinslot
774 -
775 - db_src_install_doc
776 -
777 - dodir /usr/sbin
778 - # This file is not always built, and no longer exists as of db-4.8
779 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
780 - mv "${ED}"/usr/bin/berkeley_db_svc \
781 - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
782 - fi
783 -}
784 -
785 -pkg_postinst() {
786 - multilib_foreach_abi db_fix_so
787 -}
788 -
789 -pkg_postrm() {
790 - multilib_foreach_abi db_fix_so
791 -}
792
793 diff --git a/sys-libs/db/db-5.3.28-r6.ebuild b/sys-libs/db/db-5.3.28-r6.ebuild
794 deleted file mode 100644
795 index a89dd6db598..00000000000
796 --- a/sys-libs/db/db-5.3.28-r6.ebuild
797 +++ /dev/null
798 @@ -1,246 +0,0 @@
799 -# Copyright 1999-2021 Gentoo Authors
800 -# Distributed under the terms of the GNU General Public License v2
801 -
802 -EAPI=5
803 -inherit epatch db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal toolchain-funcs
804 -
805 -#Number of official patches
806 -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
807 -PATCHNO=${PV/*.*.*_p}
808 -if [[ ${PATCHNO} == "${PV}" ]] ; then
809 - MY_PV=${PV}
810 - MY_P=${P}
811 - PATCHNO=0
812 -else
813 - MY_PV=${PV/_p${PATCHNO}}
814 - MY_P=${PN}-${MY_PV}
815 -fi
816 -
817 -RESTRICT="!test? ( test )"
818 -
819 -S_BASE="${WORKDIR}/${MY_P}"
820 -S="${S_BASE}/build_unix"
821 -DESCRIPTION="Oracle Berkeley DB"
822 -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
823 -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
824 -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
825 - export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
826 -done
827 -
828 -LICENSE="Sleepycat"
829 -SLOT="5.3"
830 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
831 -IUSE="doc java cxx tcl test"
832 -
833 -REQUIRED_USE="test? ( tcl )"
834 -
835 -# the entire testsuite needs the TCL functionality
836 -DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
837 - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
838 - java? ( >=virtual/jdk-1.7 )
839 - >=sys-devel/binutils-2.16.1"
840 -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
841 - java? ( >=virtual/jre-1.7 )"
842 -
843 -MULTILIB_WRAPPED_HEADERS=(
844 - /usr/include/db5.3/db.h
845 -)
846 -
847 -src_prepare() {
848 - cd "${WORKDIR}"/"${MY_P}"
849 - for (( i=1 ; i<=${PATCHNO} ; i++ ))
850 - do
851 - epatch "${DISTDIR}"/patch."${MY_PV}"."${i}"
852 - done
853 -
854 - # bug #510506
855 - epatch "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
856 -
857 - # use the includes from the prefix
858 - epatch "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
859 - epatch "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch
860 -
861 - # sqlite configure call has an extra leading ..
862 - # upstreamed:5.2.36, missing in 5.3.x
863 - epatch "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch
864 -
865 - # The upstream testsuite copies .lib and the binaries for each parallel test
866 - # core, ~300MB each. This patch uses links instead, saves a lot of space.
867 - epatch "${FILESDIR}"/${PN}-6.0.20-test-link.patch
868 -
869 - # Needed when compiling with clang
870 - epatch "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch
871 -
872 - # Upstream release script grabs the dates when the script was run, so lets
873 - # end-run them to keep the date the same.
874 - export REAL_DB_RELEASE_DATE="$(awk \
875 - '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
876 - "${S_BASE}"/dist/configure)"
877 - sed -r -i \
878 - -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
879 - "${S_BASE}"/dist/RELEASE || die
880 -
881 - # Include the SLOT for Java JAR files
882 - # This supersedes the unused jarlocation patches.
883 - sed -r -i \
884 - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
885 - "${S_BASE}"/dist/Makefile.in || die
886 -
887 - cd "${S_BASE}"/dist || die
888 - rm -f aclocal/libtool.m4
889 - sed -i \
890 - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
891 - configure.ac || die
892 - sed -i \
893 - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
894 - aclocal/programs.m4 || die
895 - AT_M4DIR="aclocal aclocal_java" eautoreconf
896 - # Upstream sucks - they do autoconf and THEN replace the version variables.
897 - . ./RELEASE
898 - for v in \
899 - DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
900 - DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
901 - DB_VERSION \
902 - DB_RELEASE_DATE ; do
903 - local ev="__EDIT_${v}__"
904 - sed -i -e "s/${ev}/${!v}/g" configure || die
905 - done
906 -
907 - # This is a false positive skip in the tests as the test-reviewer code
908 - # looks for 'Skipping\s'
909 - sed -i \
910 - -e '/db_repsite/s,Skipping:,Skipping,g' \
911 - "${S_BASE}"/test/tcl/reputils.tcl || die
912 -}
913 -
914 -multilib_src_configure() {
915 - local myconf=()
916 -
917 - tc-ld-force-bfd #470634 #729510
918 -
919 - # compilation with -O0 fails on amd64, see bug #171231
920 - if [[ ${ABI} == amd64 ]]; then
921 - local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
922 - replace-flags -O0 -O2
923 - is-flagq -O[s123] || append-flags -O2
924 - fi
925 -
926 - # Add linker versions to the symbols. Easier to do, and safer than header file
927 - # mumbo jumbo.
928 - if use userland_GNU ; then
929 - append-ldflags -Wl,--default-symver
930 - fi
931 -
932 - # use `set` here since the java opts will contain whitespace
933 - if multilib_is_native_abi && use java ; then
934 - myconf+=(
935 - --with-java-prefix="${JAVA_HOME}"
936 - --with-javac-flags="$(java-pkg_javac-args)"
937 - )
938 - fi
939 -
940 - # Bug #270851: test needs TCL support
941 - if use tcl || use test ; then
942 - myconf+=(
943 - --enable-tcl
944 - --with-tcl="${EPREFIX}/usr/$(get_libdir)"
945 - )
946 - else
947 - myconf+=(--disable-tcl )
948 - fi
949 -
950 - # sql_compat will cause a collision with sqlite3
951 - # --enable-sql_compat
952 - ECONF_SOURCE="${S_BASE}"/dist \
953 - STRIP="true" \
954 - econf \
955 - --enable-compat185 \
956 - --enable-dbm \
957 - --enable-o_direct \
958 - --without-uniquename \
959 - --enable-sql \
960 - --enable-sql_codegen \
961 - --disable-sql_compat \
962 - $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly) \
963 - $(use_enable cxx) \
964 - $(use_enable cxx stl) \
965 - $(multilib_native_use_enable java) \
966 - "${myconf[@]}" \
967 - $(use_enable test)
968 - # The embedded assembly on ARM does not work on newer hardware
969 - # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
970 - # Specifically, it uses the SWPB op, which was deprecated:
971 - # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
972 - # The op ALSO cannot be used in ARM-Thumb mode.
973 - # Trust the compiler instead.
974 - # >=db-6.1 uses LDREX instead.
975 -}
976 -
977 -multilib_src_install() {
978 - emake install DESTDIR="${D}"
979 -
980 - db_src_install_headerslot
981 -
982 - db_src_install_usrlibcleanup
983 -
984 - if multilib_is_native_abi && use java; then
985 - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
986 - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar
987 - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar
988 - fi
989 -}
990 -
991 -multilib_src_install_all() {
992 - db_src_install_usrbinslot
993 -
994 - db_src_install_doc
995 -
996 - dodir /usr/sbin
997 - # This file is not always built, and no longer exists as of db-4.8
998 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
999 - mv "${ED}"/usr/bin/berkeley_db_svc \
1000 - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
1001 - fi
1002 -}
1003 -
1004 -pkg_postinst() {
1005 - multilib_foreach_abi db_fix_so
1006 -}
1007 -
1008 -pkg_postrm() {
1009 - multilib_foreach_abi db_fix_so
1010 -}
1011 -
1012 -src_test() {
1013 - # db_repsite is impossible to build, as upstream strips those sources.
1014 - # db_repsite is used directly in the setup_site_prog,
1015 - # setup_site_prog is called from open_site_prog
1016 - # which is called only from tests in the multi_repmgr group.
1017 - #sed -ri \
1018 - # -e '/set subs/s,multi_repmgr,,g' \
1019 - # "${S_BASE}/test/testparams.tcl"
1020 - sed -ri \
1021 - -e '/multi_repmgr/d' \
1022 - "${S_BASE}/test/tcl/test.tcl" || die
1023 -
1024 - # This is the only failure in 5.2.28 so far, and looks like a false positive.
1025 - # Repmgr018 (btree): Test of repmgr stats.
1026 - # Repmgr018.a: Start a master.
1027 - # Repmgr018.b: Start a client.
1028 - # Repmgr018.c: Run some transactions at master.
1029 - # Rep_test: btree 20 key/data pairs starting at 0
1030 - # Rep_test.a: put/get loop
1031 - # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
1032 - sed -ri \
1033 - -e '/set parms.*repmgr018/d' \
1034 - -e 's/repmgr018//g' \
1035 - "${S_BASE}/test/tcl/test.tcl" || die
1036 -
1037 - multilib-minimal_src_test
1038 -}
1039 -
1040 -multilib_src_test() {
1041 - multilib_is_native_abi || return
1042 -
1043 - S=${BUILD_DIR} db_src_test
1044 -}
1045
1046 diff --git a/sys-libs/db/db-5.3.28-r7.ebuild b/sys-libs/db/db-5.3.28-r7.ebuild
1047 deleted file mode 100644
1048 index 9e789e440c0..00000000000
1049 --- a/sys-libs/db/db-5.3.28-r7.ebuild
1050 +++ /dev/null
1051 @@ -1,254 +0,0 @@
1052 -# Copyright 1999-2021 Gentoo Authors
1053 -# Distributed under the terms of the GNU General Public License v2
1054 -
1055 -EAPI=7
1056 -inherit autotools db flag-o-matic java-pkg-opt-2 multilib multilib-minimal toolchain-funcs
1057 -
1058 -#Number of official patches
1059 -#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
1060 -PATCHNO="${PV/*.*.*_p}"
1061 -if [[ ${PATCHNO} == "${PV}" ]] ; then
1062 - MY_PV="${PV}"
1063 - MY_P="${P}"
1064 - PATCHNO=0
1065 -else
1066 - MY_PV="${PV/_p${PATCHNO}}"
1067 - MY_P="${PN}-${MY_PV}"
1068 -fi
1069 -
1070 -RESTRICT="!test? ( test )"
1071 -
1072 -S_BASE="${WORKDIR}/${MY_P}"
1073 -S="${S_BASE}/build_unix"
1074 -DESCRIPTION="Oracle Berkeley DB"
1075 -HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
1076 -SRC_URI="http://download.oracle.com/berkeley-db/${MY_P}.tar.gz"
1077 -for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
1078 - export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
1079 -done
1080 -
1081 -LICENSE="Sleepycat"
1082 -SLOT="$(ver_cut 1-2)"
1083 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ~ppc64 ~riscv ~s390 sparc x86"
1084 -IUSE="doc java cxx tcl test"
1085 -
1086 -REQUIRED_USE="test? ( tcl )"
1087 -
1088 -# the entire testsuite needs the TCL functionality
1089 -DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
1090 - test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
1091 - java? ( >=virtual/jdk-1.7 )"
1092 -RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
1093 - java? ( >=virtual/jre-1.7 )"
1094 -
1095 -MULTILIB_WRAPPED_HEADERS=(
1096 - /usr/include/db${SLOT}/db.h
1097 -)
1098 -
1099 -PATCHES=(
1100 - # bug #510506
1101 - "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
1102 -
1103 - # use the includes from the prefix
1104 - "${FILESDIR}"/${PN}-4.6-jni-check-prefix-first.patch
1105 - "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch
1106 -
1107 - # sqlite configure call has an extra leading ..
1108 - # upstreamed:5.2.36, missing in 5.3.x
1109 - "${FILESDIR}"/${PN}-5.2.28-sqlite-configure-path.patch
1110 -
1111 - # The upstream testsuite copies .lib and the binaries for each parallel test
1112 - # core, ~300MB each. This patch uses links instead, saves a lot of space.
1113 - "${FILESDIR}"/${PN}-6.0.20-test-link.patch
1114 -
1115 - # Needed when compiling with clang
1116 - "${FILESDIR}"/${PN}-5.1.29-rename-atomic-compare-exchange.patch
1117 -)
1118 -
1119 -src_prepare() {
1120 - cd "${S_BASE}" || die
1121 - for (( i=1 ; i<=${PATCHNO} ; i++ ))
1122 - do
1123 - eapply -p0 "${DISTDIR}"/patch."${MY_PV}"."${i}"
1124 - done
1125 -
1126 - default
1127 -
1128 - # Upstream release script grabs the dates when the script was run, so lets
1129 - # end-run them to keep the date the same.
1130 - export REAL_DB_RELEASE_DATE="$(awk \
1131 - '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
1132 - "${S_BASE}"/dist/configure)"
1133 - sed -r \
1134 - -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
1135 - -i dist/RELEASE || die
1136 -
1137 - # Include the SLOT for Java JAR files
1138 - # This supersedes the unused jarlocation patches.
1139 - sed -r \
1140 - -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
1141 - -i dist/Makefile.in || die
1142 -
1143 - cd dist || die
1144 - rm aclocal/libtool.m4 || die
1145 - sed \
1146 - -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
1147 - -i configure.ac || die
1148 - sed \
1149 - -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
1150 - -i aclocal/programs.m4 || die
1151 -
1152 - AT_M4DIR="aclocal aclocal_java" eautoreconf
1153 -
1154 - # Upstream sucks - they do autoconf and THEN replace the version variables.
1155 - . ./RELEASE
1156 - local v ev
1157 - for v in \
1158 - DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
1159 - DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
1160 - DB_VERSION \
1161 - DB_RELEASE_DATE ; do
1162 - ev="__EDIT_${v}__"
1163 - sed -e "s/${ev}/${!v}/g" -i configure || die
1164 - done
1165 -
1166 - # This is a false positive skip in the tests as the test-reviewer code
1167 - # looks for 'Skipping\s'
1168 - sed \
1169 - -e '/db_repsite/s,Skipping:,Skipping,g' \
1170 - -i "${S_BASE}"/test/tcl/reputils.tcl || die
1171 -}
1172 -
1173 -multilib_src_configure() {
1174 - local myconf=(
1175 - # sql_compat will cause a collision with sqlite3
1176 - #--enable-sql_compat
1177 - # Don't --enable-sql* because we don't want to use bundled sqlite.
1178 - # See Gentoo bug #605688
1179 - --enable-compat185
1180 - --enable-dbm
1181 - --enable-o_direct
1182 - --without-uniquename
1183 - --disable-sql
1184 - --disable-sql_codegen
1185 - --disable-sql_compat
1186 - $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
1187 - $(use_enable cxx)
1188 - $(use_enable cxx stl)
1189 - $(multilib_native_use_enable java)
1190 - $(use_enable test)
1191 - )
1192 -
1193 - tc-ld-force-bfd #470634 #729510
1194 -
1195 - # compilation with -O0 fails on amd64, see bug #171231
1196 - if [[ ${ABI} == amd64 ]]; then
1197 - local CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
1198 - replace-flags -O0 -O2
1199 - is-flagq -O[s123] || append-flags -O2
1200 - fi
1201 -
1202 - # Add linker versions to the symbols. Easier to do, and safer than header file
1203 - # mumbo jumbo.
1204 - if use userland_GNU ; then
1205 - append-ldflags -Wl,--default-symver
1206 - fi
1207 -
1208 - if multilib_is_native_abi && use java ; then
1209 - myconf+=(
1210 - --with-java-prefix="${JAVA_HOME}"
1211 - --with-javac-flags="$(java-pkg_javac-args)"
1212 - )
1213 - fi
1214 -
1215 - # Bug #270851: test needs TCL support
1216 - if use tcl || use test ; then
1217 - myconf+=(
1218 - --enable-tcl
1219 - --with-tcl="${EPREFIX}/usr/$(get_libdir)"
1220 - )
1221 - else
1222 - myconf+=(--disable-tcl )
1223 - fi
1224 -
1225 - ECONF_SOURCE="${S_BASE}"/dist \
1226 - STRIP="true" \
1227 - econf "${myconf[@]}"
1228 -
1229 - # The embedded assembly on ARM does not work on newer hardware
1230 - # so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
1231 - # Specifically, it uses the SWPB op, which was deprecated:
1232 - # http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
1233 - # The op ALSO cannot be used in ARM-Thumb mode.
1234 - # Trust the compiler instead.
1235 - # >=db-6.1 uses LDREX instead.
1236 -}
1237 -
1238 -multilib_src_install() {
1239 - emake DESTDIR="${D}" install
1240 -
1241 - db_src_install_headerslot
1242 -
1243 - db_src_install_usrlibcleanup
1244 -
1245 - if multilib_is_native_abi && use java; then
1246 - java-pkg_regso "${ED}"/usr/"$(get_libdir)"/libdb_java*.so
1247 - java-pkg_dojar "${ED}"/usr/"$(get_libdir)"/*.jar
1248 - rm -f "${ED}"/usr/"$(get_libdir)"/*.jar
1249 - fi
1250 -}
1251 -
1252 -multilib_src_install_all() {
1253 - db_src_install_usrbinslot
1254 -
1255 - db_src_install_doc
1256 -
1257 - dodir /usr/sbin
1258 - # This file is not always built, and no longer exists as of db-4.8
1259 - if [[ -f "${ED}"/usr/bin/berkeley_db_svc ]] ; then
1260 - mv "${ED}"/usr/bin/berkeley_db_svc \
1261 - "${ED}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
1262 - fi
1263 -}
1264 -
1265 -pkg_postinst() {
1266 - multilib_foreach_abi db_fix_so
1267 -}
1268 -
1269 -pkg_postrm() {
1270 - multilib_foreach_abi db_fix_so
1271 -}
1272 -
1273 -src_test() {
1274 - # db_repsite is impossible to build, as upstream strips those sources.
1275 - # db_repsite is used directly in the setup_site_prog,
1276 - # setup_site_prog is called from open_site_prog
1277 - # which is called only from tests in the multi_repmgr group.
1278 - #sed -ri \
1279 - # -e '/set subs/s,multi_repmgr,,g' \
1280 - # "${S_BASE}/test/testparams.tcl"
1281 - sed -r \
1282 - -e '/multi_repmgr/d' \
1283 - -i "${S_BASE}/test/tcl/test.tcl" || die
1284 -
1285 - # This is the only failure in 5.2.28 so far, and looks like a false positive.
1286 - # Repmgr018 (btree): Test of repmgr stats.
1287 - # Repmgr018.a: Start a master.
1288 - # Repmgr018.b: Start a client.
1289 - # Repmgr018.c: Run some transactions at master.
1290 - # Rep_test: btree 20 key/data pairs starting at 0
1291 - # Rep_test.a: put/get loop
1292 - # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
1293 - sed -r \
1294 - -e '/set parms.*repmgr018/d' \
1295 - -e 's/repmgr018//g' \
1296 - -i "${S_BASE}/test/tcl/test.tcl" || die
1297 -
1298 - multilib-minimal_src_test
1299 -}
1300 -
1301 -multilib_src_test() {
1302 - multilib_is_native_abi || return
1303 -
1304 - S="${BUILD_DIR}" db_src_test
1305 -}