<commit_before># Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *


class BerkeleyDb(AutotoolsPackage):
    """Oracle Berkeley DB"""

    homepage = "http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
    url      = "http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz"

    version('6.2.32', sha256='a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb')
    version('6.1.29', sha256='b3c18180e4160d97dd197ba1d37c19f6ea2ec91d31bbfaf8972d99ba097af17d')
    version('6.0.35', sha256='24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55')
    version('5.3.28', sha256='e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628')

    configure_directory = 'dist'
    build_directory = 'spack-build'

# TODO: Gentoo's website removed the BerkeleyDB archives.
#       Please update the function bellow with a valid mirror.
#       Right now this package will fetch from the Oracle website,
#       and versions 5.3.28 and 6.0.35 will fail to download.
#
#    def url_for_version(self, version):
#        # newer version need oracle login, so get them from gentoo mirror
#        url_fmt = 'http://distfiles.gentoo.org/distfiles/db-{0}.tar.gz'
#        return url_fmt.format(version)

    def configure_args(self):
        return ['--disable-static', '--enable-cxx', '--enable-stl']
<commit_msg>berkeley-db: add version 18.1.40, update build options in package (#17839)<commit_after># Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *


class BerkeleyDb(AutotoolsPackage):
    """Oracle Berkeley DB"""

    homepage = "https://www.oracle.com/database/technologies/related/berkeleydb.html"
    url      = "http://download.oracle.com/berkeley-db/db-18.1.40.tar.gz"

    version("18.1.40", sha256="0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8")
    version('18.1.32', sha256='fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654')
    version('6.2.32', sha256='a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb')
    version('6.1.29', sha256='b3c18180e4160d97dd197ba1d37c19f6ea2ec91d31bbfaf8972d99ba097af17d')
    version('6.0.35', sha256='24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55')
    version('5.3.28', sha256='e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628')

    configure_directory = 'dist'
    build_directory = 'build_unix'

    def patch(self):
        # some of the docs are missing in 18.1.40
        if self.spec.satisfies("@18.1.40"):
            filter_file(r'bdb-sql', '', 'dist/Makefile.in')
            filter_file(r'gsg_db_server', '', 'dist/Makefile.in')

    def configure_args(self):
        return [
            '--disable-static',
            '--enable-cxx',
            '--enable-dbm',
            '--enable-stl',
            # compat with system berkeley-db on darwin
            "--enable-compat185",
            # SSL support requires OpenSSL, but OpenSSL depends on Perl, which
            # depends on Berkey DB, creating a circular dependency
            '--with-repmgr-ssl=no',
        ]

{'fraction_non_alphanumeric': 0.11599297012302284, 'fraction_numerical': 0.1552431165787932, 'mean_word_length': 3.6973865199449794, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5392381', 'n_tokens_mistral': 1534, 'n_tokens_neox': 1248, 'n_words': 217}