# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= meson VERSION= 1.4.0 KEYWORDS= devel python VARIANTS= standard SDESC[standard]= High performance build system HOMEPAGE= https://mesonbuild.com CONTACT= John_Marino[draco@marino.st] DOWNLOAD_GROUPS= main SITES[main]= https://github.com/mesonbuild/meson/releases/download/1.4.0/ DISTFILE[1]= meson-1.4.0.tar.gz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none RUN_DEPENDS= ninja:single:standard python-setuptools:single:python_used USES= python:sutools LICENSE= APACHE20:single LICENSE_TERMS= single:{{WRKDIR}}/TERMS LICENSE_FILE= APACHE20:{{WRKSRC}}/COPYING LICENSE_AWK= TERMS:"^from " LICENSE_SOURCE= TERMS:{{WRKSRC}}/meson.py LICENSE_SCHEME= solo FPC_EQUIVALENT= devel/meson [FILE:473:descriptions/desc.single] Meson is a cross-platform build system designed to be both as fast and as user friendly as possible. It supports many languages and compilers, including GCC, Clang and Visual Studio. Its build definitions are written in a simple non-turing complete DSL. The main design point of Meson is that every moment a developer spends writing or debugging build definitions is a second wasted. So is every second spent waiting for the build system to actually start compiling code. [FILE:97:distinfo] 8fd6630c25c27f1489a8a0392b311a60481a3c161aa699b330e25935b750138d 2224663 meson-1.4.0.tar.gz [FILE:85:manifests/plist.single] @comment rest is auto-generated share/polkit-1/actions/com.mesonbuild.install.policy [FILE:329:patches/patch-mesonbuild_cmake_toolchain.py] --- mesonbuild/cmake/toolchain.py.orig 2024-02-26 20:51:28 UTC +++ mesonbuild/cmake/toolchain.py @@ -148,6 +148,7 @@ class CMakeToolchain: 'linux': 'Linux', 'windows': 'Windows', 'freebsd': 'FreeBSD', + 'midnightbsd': 'MidnightBSD', 'darwin': 'Darwin', } [FILE:683:patches/patch-mesonbuild_compilers_mixins_clike.py] --- mesonbuild/compilers/mixins/clike.py.orig 2024-03-03 20:02:45 UTC +++ mesonbuild/compilers/mixins/clike.py @@ -74,7 +74,7 @@ class CLikeCompilerArgs(arglist.Compiler # This covers all ld.bfd, ld.gold, ld.gold, and xild on Linux, which # all act like (or are) gnu ld # TODO: this could probably be added to the DynamicLinker instead - if isinstance(self.compiler.linker, (GnuLikeDynamicLinkerMixin, SolarisDynamicLinker, CompCertDynamicLinker)): + if isinstance(self.compiler.linker, (GnuLikeDynamicLinkerMixin, CompCertDynamicLinker)): group_start = -1 group_end = -1 for i, each in enumerate(new): [FILE:785:patches/patch-mesonbuild_compilers_mixins_gnu.py] Do not default to -z ignore on SunOS, it breaks for example -fstack-protector. --- mesonbuild/compilers/mixins/gnu.py.orig 2024-02-26 20:51:28 UTC +++ mesonbuild/compilers/mixins/gnu.py @@ -365,7 +365,7 @@ class GnuLikeCompiler(Compiler, metaclas 'b_ndebug', 'b_staticpic', 'b_pie']} if not (self.info.is_windows() or self.info.is_cygwin() or self.info.is_openbsd()): self.base_options.add(OptionKey('b_lundef')) - if not self.info.is_windows() or self.info.is_cygwin(): + if not (self.info.is_windows() or self.info.is_sunos()) or self.info.is_cygwin(): self.base_options.add(OptionKey('b_asneeded')) if not self.info.is_hurd(): self.base_options.add(OptionKey('b_sanitize')) [FILE:407:patches/patch-mesonbuild_envconfig.py] --- mesonbuild/envconfig.py.orig 2024-02-26 20:51:28 UTC +++ mesonbuild/envconfig.py @@ -343,7 +343,7 @@ class MachineInfo(HoldableObject): def is_freebsd(self) -> bool: """Machine is FreeBSD?""" - return self.system == 'freebsd' + return self.system == 'freebsd' or self.system == 'midnightbsd' def is_sunos(self) -> bool: """Machine is illumos or Solaris?""" [FILE:732:patches/patch-mesonbuild_linkers_linkers.py] --- mesonbuild/linkers/linkers.py.orig 2024-03-03 20:02:45 UTC +++ mesonbuild/linkers/linkers.py @@ -1369,7 +1369,12 @@ class SolarisDynamicLinker(PosixDynamicL def get_link_whole_for(self, args: T.List[str]) -> T.List[str]: if not args: return args - return self._apply_prefix('--whole-archive') + args + self._apply_prefix('--no-whole-archive') + result = [self.prefix_arg + '-z', self.prefix_arg + 'allextract'] + for a in args: + result.append(a) + result.append(self.prefix_arg + '-z') + result.append(self.prefix_arg + 'defaultextract') + return result def get_pie_args(self) -> T.List[str]: # Available in Solaris 11.2 and later [FILE:629:patches/patch-mesonbuild_modules_pkgconfig.py] --- mesonbuild/modules/pkgconfig.py.orig 2024-02-26 20:51:35 UTC +++ mesonbuild/modules/pkgconfig.py @@ -693,7 +693,7 @@ class PkgConfigModule(NewExtensionModule pcfile = filebase + '.pc' pkgroot = pkgroot_name = kwargs['install_dir'] or default_install_dir if pkgroot is None: - if mesonlib.is_freebsd(): + if False: pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(mesonlib.OptionKey('prefix'))), 'libdata', 'pkgconfig') pkgroot_name = os.path.join('{prefix}', 'libdata', 'pkgconfig') elif mesonlib.is_haiku(): [FILE:491:patches/patch-mesonbuild_scripts_depfixer.py] --- mesonbuild/scripts/depfixer.py.orig 2024-02-26 20:51:28 UTC +++ mesonbuild/scripts/depfixer.py @@ -476,7 +476,7 @@ def fix_rpath(fname: str, rpath_dirs_to_ return if isinstance(new_rpath, str): new_rpath = new_rpath.encode('utf8') - fix_elf(fname, rpath_dirs_to_remove, new_rpath, verbose) + # never adjust rpath (meson authors are idiots) return except SystemExit as e: if isinstance(e.code, int) and e.code == 0: [FILE:627:patches/patch-unittests_linuxliketests.py] https://github.com/mesonbuild/meson/pull/4324 --- unittests/linuxliketests.py.orig 2024-02-26 20:51:28 UTC +++ unittests/linuxliketests.py @@ -1541,7 +1541,7 @@ class LinuxlikeTests(BasePlatformTests): # Test that installed libraries works self.new_builddir() self.prefix = oldprefix - meson_args = [f'-Dc_link_args=-L{libdir}', + meson_args = [f'-Dc_link_args=-L{libdir} -Wl,-rpath,{libdir}', '--fatal-meson-warnings'] testdir = os.path.join(self.unit_test_dir, '66 static link') env = {'PKG_CONFIG_LIBDIR': os.path.join(libdir, 'pkgconfig')} [FILE:607:sunos/patch-mesonbuild_compilers_compilers.py] --- mesonbuild/compilers/compilers.py.orig 2021-06-07 17:35:31 UTC +++ mesonbuild/compilers/compilers.py @@ -404,9 +404,6 @@ def get_base_link_args(options: 'KeyedOp # -bitcode_bundle is incompatible with -undefined and -bundle if bitcode and not is_shared_module: args.extend(linker.bitcode_args()) - elif as_needed: - # -Wl,-dead_strip_dylibs is incompatible with bitcode - args.extend(linker.get_asneeded_args()) # Apple's ld (the only one that supports bitcode) does not like -undefined # arguments or -headerpad_max_install_names when bitcode is enabled [FILE:666:sunos/patch-mesonbuild_linkers_detect.py] --- mesonbuild/linkers/detect.py.orig 2021-08-18 11:22:15 UTC +++ mesonbuild/linkers/detect.py @@ -141,6 +141,12 @@ def guess_nix_linker(env: 'Environment', check_args = comp_class.LINKER_PREFIX + ['--version'] + extra_args override = [] # type: T.List[str] + # sunos-only patch, hardcode to solaris (detection is broken) + linker = SolarisDynamicLinker( + compiler, for_machine, comp_class.LINKER_PREFIX, override, + version='unknown version') + return linker + value = env.lookup_binary_entry(for_machine, comp_class.language + '_ld') if value is not None: override = comp_class.use_linker_args(value[0])