pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases/mongodb3 fix build on arm64eb.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/f77028bc4b48
branches:  trunk
changeset: 457099:f77028bc4b48
user:      mrg <mrg%pkgsrc.org@localhost>
date:      Tue Aug 17 04:09:48 2021 +0000

description:
fix build on arm64eb.

mongodb4, particularly the new one, needs a lot more work
(does not support netbsd/arm64el yet.)

diffstat:

 databases/mongodb3/distinfo                                                       |   5 +-
 databases/mongodb3/patches/patch-SConstruct                                       |  53 +++++----
 databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_SConscript |  17 +++
 3 files changed, 51 insertions(+), 24 deletions(-)

diffs (238 lines):

diff -r 22b6476a8583 -r f77028bc4b48 databases/mongodb3/distinfo
--- a/databases/mongodb3/distinfo       Mon Aug 16 19:23:20 2021 +0000
+++ b/databases/mongodb3/distinfo       Tue Aug 17 04:09:48 2021 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.10 2021/04/09 14:30:09 tnn Exp $
+$NetBSD: distinfo,v 1.11 2021/08/17 04:09:48 mrg Exp $
 
 SHA1 (mongodb-src-r3.4.24.tar.gz) = 86909b211998f0cbc8104df774aecb3d00a01763
 RMD160 (mongodb-src-r3.4.24.tar.gz) = f7e4bfe1e2bd046f1a6c0f2695762076ffee5ae5
 SHA512 (mongodb-src-r3.4.24.tar.gz) = c19d5215f514ad0c1bd33f17f9d79198e07657260c0a8399c9a84bbf274ec4f6e61a94b36bb132e93a46e96ee8b4d994a1bed70b2d26f906ffe8e78343394226
 Size (mongodb-src-r3.4.24.tar.gz) = 40232175 bytes
-SHA1 (patch-SConstruct) = b6c2893d82d9b954c889d867ec909a05728af83d
+SHA1 (patch-SConstruct) = 1c5b49997571949143939ca04088d27d5601e53d
 SHA1 (patch-src_mongo_base_initializer.h) = f82d58895251f7be08a09012ed7db64e3863a1fe
 SHA1 (patch-src_mongo_db_matcher_expression__leaf.cpp) = 52064034fabb5de63eccf87ddd140303c54f0312
 SHA1 (patch-src_mongo_db_query_collation_collator__interface__icu.h) = 43c94a970fb91d45441a206b5d774e9e7ea55ad5
@@ -22,6 +22,7 @@
 SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_dpml__exception.c) = ef3b260e8a49227cbbabf427500b7c70bce15083
 SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_float128_op__system.h) = 39f6fba82e2870ee4a5d99785033621225a72a16
 SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_LIBRARY_src_bid__functions.h) = d3a85d3a3b33691466c65cdf51c56f221429aea9
+SHA1 (patch-src_third__party_IntelRDFPMathLib20U1_SConscript) = e87f507c4585050bed5ff47fb1a07113d5690fd5
 SHA1 (patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__reactor.ipp) = b942286acd85ca8cf5fd03bc9f70a5dff0943243
 SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h) = c2ad1041b5c1ff9fac9085d2a8963781f51873a8
 SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h) = 7ddbb4e3bf4126a1be2195acc82ff859e8130a01
diff -r 22b6476a8583 -r f77028bc4b48 databases/mongodb3/patches/patch-SConstruct
--- a/databases/mongodb3/patches/patch-SConstruct       Mon Aug 16 19:23:20 2021 +0000
+++ b/databases/mongodb3/patches/patch-SConstruct       Tue Aug 17 04:09:48 2021 +0000
@@ -1,14 +1,15 @@
-$NetBSD: patch-SConstruct,v 1.3 2019/07/10 17:45:58 adam Exp $
+$NetBSD: patch-SConstruct,v 1.4 2021/08/17 04:09:48 mrg Exp $
 
 Add support for NetBSD/Dragonfly.
+Add support for aarch64 big-endian.
 Fix locations.
 Don't compile with debug info.
 Don't mess with the linker.
 Respect LDFLAGS and CXXFLAGS
 
---- SConstruct.orig    2019-05-21 17:07:37.000000000 +0000
-+++ SConstruct
-@@ -30,7 +30,7 @@ EnsureSConsVersion( 2, 3, 0 )
+--- SConstruct.orig    2020-01-08 08:30:41.000000000 -0800
++++ SConstruct 2021-04-24 20:15:17.493198495 -0700
+@@ -30,7 +30,7 @@
  def print_build_failures():
      from SCons.Script import GetBuildFailures
      for bf in GetBuildFailures():
@@ -17,7 +18,7 @@
  atexit.register(print_build_failures)
  
  def versiontuple(v):
-@@ -49,8 +49,12 @@ def get_running_os_name():
+@@ -49,8 +49,12 @@
      running_os = os.sys.platform
      if running_os.startswith('linux'):
          running_os = 'linux'
@@ -30,7 +31,7 @@
      elif running_os.startswith('openbsd'):
          running_os = 'openbsd'
      elif running_os == 'sunos5':
-@@ -68,7 +72,7 @@ def env_get_os_name_wrapper(self):
+@@ -68,7 +72,7 @@
  
  def is_os_raw(target_os, os_list_to_check):
      okay = False
@@ -39,7 +40,7 @@
  
      for p in os_list_to_check:
          if p == 'posix' and target_os in posix_os_list:
-@@ -511,7 +515,7 @@ try:
+@@ -511,7 +515,7 @@
          version_data = json.load(version_fp)
  
      if 'version' not in version_data:
@@ -48,7 +49,7 @@
          Exit(1)
      if 'githash' not in version_data:
          version_data['githash'] = utils.getGitVersion()
-@@ -519,7 +523,7 @@ try:
+@@ -519,7 +523,7 @@
  except IOError as e:
      # If the file error wasn't because the file is missing, error out
      if e.errno != errno.ENOENT:
@@ -57,7 +58,7 @@
          Exit(1)
  
      version_data = {
-@@ -528,7 +532,7 @@ except IOError as e:
+@@ -528,7 +532,7 @@
      }
  
  except ValueError as e:
@@ -66,7 +67,7 @@
      Exit(1)
  
  # Setup the command-line variables
-@@ -598,7 +602,7 @@ def variable_distsrc_converter(val):
+@@ -598,7 +602,7 @@
  
  variables_files = variable_shlex_converter(get_option('variables-files'))
  for file in variables_files:
@@ -75,7 +76,7 @@
  
  env_vars = Variables(
      files=variables_files,
-@@ -899,6 +903,7 @@ envDict = dict(BUILD_ROOT=buildDir,
+@@ -899,6 +903,7 @@
                 INSTALL_DIR=installDir,
                 CONFIG_HEADER_DEFINES={},
                 LIBDEPS_TAG_EXPANSIONS=[],
@@ -83,7 +84,7 @@
                 )
  
  env = Environment(variables=env_vars, **envDict)
-@@ -908,12 +913,12 @@ env.AddMethod(env_os_is_wrapper, 'Target
+@@ -908,12 +913,12 @@
  env.AddMethod(env_get_os_name_wrapper, 'GetTargetOSName')
  
  def fatal_error(env, msg, *args):
@@ -99,7 +100,7 @@
  
      Exit(1)
  
-@@ -933,7 +938,7 @@ else:
+@@ -933,7 +938,7 @@
  env.AddMethod(lambda env: env['VERBOSE'], 'Verbose')
  
  if has_option('variables-help'):
@@ -108,7 +109,15 @@
      Exit(0)
  
  unknown_vars = env_vars.UnknownVariables()
-@@ -1036,7 +1041,9 @@ def CheckForProcessor(context, which_arc
+@@ -993,6 +998,7 @@
+ processor_macros = {
+     'arm'     : { 'endian': 'little', 'defines': ('__arm__',) },
+     'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
++    'aarch64eb' : { 'endian': 'big',  'defines': ('__arm64__', '__aarch64__')},
+     'i386'    : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
+     'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)},
+     's390x'   : { 'endian': 'big',    'defines': ('__s390x__',)},
+@@ -1036,7 +1042,9 @@
  os_macros = {
      "windows": "_WIN32",
      "solaris": "__sun",
@@ -118,7 +127,7 @@
      "openbsd": "__OpenBSD__",
      "osx": "__APPLE__",
      "linux": "__linux__",
-@@ -1131,7 +1138,7 @@ else:
+@@ -1131,7 +1139,7 @@
      env['TARGET_ARCH'] = detected_processor
  
  if env['TARGET_OS'] not in os_macros:
@@ -127,7 +136,7 @@
  elif not detectConf.CheckForOS(env['TARGET_OS']):
      env.ConfError("TARGET_OS ({0}) is not supported by compiler", env['TARGET_OS'])
  
-@@ -1367,7 +1374,7 @@ elif env['_LIBDEPS'] == '$_LIBDEPS_LIBS'
+@@ -1367,7 +1375,7 @@
  
  libdeps.setup_environment(env, emitting_shared=(link_model.startswith("dynamic")))
  
@@ -136,7 +145,7 @@
      env['LINK_LIBGROUP_START'] = '-Wl,--start-group'
      env['LINK_LIBGROUP_END'] = '-Wl,--end-group'
      env['LINK_WHOLE_ARCHIVE_START'] = '-Wl,--whole-archive'
-@@ -1395,10 +1402,24 @@ if env.TargetOSIs('linux'):
+@@ -1395,10 +1403,24 @@
  elif env.TargetOSIs('solaris'):
       env.Append( LIBS=["socket","resolv","lgrp"] )
  
@@ -161,7 +170,7 @@
  elif env.TargetOSIs('openbsd'):
      env.Append( LIBS=[ "kvm" ] )
  
-@@ -1564,7 +1585,6 @@ if env.TargetOSIs('posix'):
+@@ -1564,7 +1586,6 @@
      # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
      env.Append( CCFLAGS=["-fno-omit-frame-pointer",
                           "-fno-strict-aliasing",
@@ -169,7 +178,7 @@
                           "-pthread",
                           "-Wall",
                           "-Wsign-compare",
-@@ -2165,9 +2188,9 @@ def doConfigure(myenv):
+@@ -2174,9 +2195,9 @@
      if usingLibStdCxx:
          def CheckModernLibStdCxx(context):
              test_body = """
@@ -182,7 +191,7 @@
              """
  
              context.Message('Checking for libstdc++ 5.3.0 or better... ')
-@@ -2375,7 +2398,7 @@ def doConfigure(myenv):
+@@ -2384,7 +2405,7 @@
          #
          myenv.Append( CCFLAGS=["/Zc:inline"])
  
@@ -191,7 +200,7 @@
          # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
          # because it is much faster.
          AddToLINKFLAGSIfSupported(myenv, '-fuse-ld=gold')
-@@ -2800,6 +2823,7 @@ def doConfigure(myenv):
+@@ -2809,6 +2830,7 @@
              "BOOST_THREAD_DONT_PROVIDE_VARIADIC_THREAD",
              "BOOST_SYSTEM_NO_DEPRECATED",
              "BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS",
@@ -199,7 +208,7 @@
          ]
      )
  
-@@ -2866,7 +2890,7 @@ def doConfigure(myenv):
+@@ -2875,7 +2897,7 @@
          myenv.ConfError("Couldn't find SASL header/libraries")
  
      # requires ports devel/libexecinfo to be installed
diff -r 22b6476a8583 -r f77028bc4b48 databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_SConscript
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/mongodb3/patches/patch-src_third__party_IntelRDFPMathLib20U1_SConscript Tue Aug 17 04:09:48 2021 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_third__party_IntelRDFPMathLib20U1_SConscript,v 1.1 2021/08/17 04:09:48 mrg Exp $
+
+Add aarch64 big endian support.
+
+--- src/third_party/IntelRDFPMathLib20U1/SConscript.orig       2020-01-08 08:30:41.000000000 -0800
++++ src/third_party/IntelRDFPMathLib20U1/SConscript    2021-04-24 20:18:19.305122166 -0700
+@@ -304,6 +304,10 @@
+ elif processor == "aarch64":
+     cpp_defines['efi2'] = '1'
+     cpp_defines['EFI2'] = '1'
++elif processor == "aarch64eb":
++    cpp_defines['efi2'] = '1'
++    cpp_defines['EFI2'] = '1'
++    cpp_defines['BID_BIG_ENDIAN'] = '1'
+ # Using 64 bit little endian
+ elif processor == 'x86_64' or processor == 'ppc64le':
+     cpp_defines['efi2'] = '1'



Home | Main Index | Thread Index | Old Index