> On 25 Jun 2020, at 00:28, Charlene Wendling <juliana...@posteo.jp> wrote: > > Hi, > > I was trying to build a port depending on spidermonkey68 on my macppc > machine and found out it "requires" rust. After seeing how other > downstreams deal with it, i've found out that Debian actually does not > use rust for spidermonkey. For all archs [0]. > > What i'm proposing here is a proof of concept that allows building > spidermonkey68 on !rust archs, like macppc [1], but i think really we > should drop rust and llvm for all archs. > > Comments/feedback are welcome, > > Charlène. > > [0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144 > [1] https://bin.charlenew.xyz/spidermonkey_norust.log
Hi, Since it doesn’t change anything (as in, nothing ends up using it) I see no point in keeping the dependencies around for a subset of architectures. The cost of maintaining these patches is already there anyway. Go ahead and just drop these dependencies on all architectures. Cheers, Jasper > Index: Makefile > =================================================================== > RCS file: /cvs/ports/devel/spidermonkey68/Makefile,v > retrieving revision 1.4 > diff -u -p -u -p -r1.4 Makefile > --- Makefile 24 Jun 2020 08:57:02 -0000 1.4 > +++ Makefile 24 Jun 2020 22:18:37 -0000 > @@ -54,9 +54,7 @@ LIB_DEPENDS = devel/nspr \ > DEBUG_PACKAGES = ${BUILD_PACKAGES} > > AUTOCONF_VERSION= 2.13 > -BUILD_DEPENDS += devel/autoconf/${AUTOCONF_VERSION} \ > - devel/llvm \ > - lang/rust > +BUILD_DEPENDS += devel/autoconf/${AUTOCONF_VERSION} > > SEPARATE_BUILD = Yes > WRKDIST = ${WRKDIR}/firefox-${V} > @@ -77,9 +75,7 @@ CONFIGURE_ARGS = --disable-debug \ > --with-system-zlib \ > --with-system-icu \ > --with-system-nspr \ > - --enable-unaligned-private-values \ > - --with-libclang-path=${LOCALBASE}/lib \ > - --with-clang-path=${LOCALBASE}/bin/clang > + --enable-unaligned-private-values > > # Build failure on mips64(,el}. Related bug on Debian: > # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908486 > @@ -99,6 +95,16 @@ MAKE_ENV = SHELL=/bin/sh \ > SO_VERSION=${SO_VERSION} > > NO_TEST = Yes > + > +.include <bsd.port.arch.mk> > +.if ${PROPERTIES:Mrust} > +BUILD_DEPENDS += devel/llvm \ > + lang/rust > +CONFIGURE_ARGS += --with-libclang-path=${LOCALBASE}/lib \ > + --with-clang-path=${LOCALBASE}/bin/clang > +.else > +PATCH_LIST += patch-* patch_norust-* > +.endif > > pre-configure: > cd ${WRKSRC} && env -i AUTOCONF_VERSION=${AUTOCONF_VERSION} autoconf > Index: patches/patch_norust-js_moz_configure > =================================================================== > RCS file: patches/patch_norust-js_moz_configure > diff -N patches/patch_norust-js_moz_configure > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch_norust-js_moz_configure 24 Jun 2020 22:18:37 -0000 > @@ -0,0 +1,31 @@ > +$OpenBSD$ > + > +Remove unused LLVM and Rust build dependencies. Since the Javascript engine > is > +normally part of Firefox, its build system has dependencies on the LLVM and > +Rust toolchains. This limits the number of architectures which mozjs68 can > be > +built on. It turns out, however, that neither LLVM nor Rust are used when > +mozjs68 is being built and these build dependencies are therefore not > +necessary. > + > +This patch removes them and allows mozjs68 to be built on any > +architecture. > + > +Author: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> > + > +From: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144 > + > +Index: js/moz.configure > +--- js/moz.configure.orig > ++++ js/moz.configure > +@@ -18,11 +18,6 @@ def building_js(build_project): > + option(env='JS_STANDALONE', default=building_js, > + help='Reserved for internal use') > + > +-include('../build/moz.configure/rust.configure', > +- when='--enable-compile-environment') > +-include('../build/moz.configure/bindgen.configure', > +- when='--enable-compile-environment') > +- > + @depends('JS_STANDALONE') > + def js_standalone(value): > + if value: > Index: patches/patch_norust-moz_configure > =================================================================== > RCS file: patches/patch_norust-moz_configure > diff -N patches/patch_norust-moz_configure > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch_norust-moz_configure 24 Jun 2020 22:18:37 -0000 > @@ -0,0 +1,56 @@ > +$OpenBSD$ > + > +Remove unused LLVM and Rust build dependencies. Since the Javascript engine > is > +normally part of Firefox, its build system has dependencies on the LLVM and > +Rust toolchains. This limits the number of architectures which mozjs68 can > be > +built on. It turns out, however, that neither LLVM nor Rust are used when > +mozjs68 is being built and these build dependencies are therefore not > +necessary. > + > +This patch removes them and allows mozjs68 to be built on any > +architecture. > + > +Author: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> > + > +From: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144 > + > +Index: moz.configure > +--- moz.configure.orig > ++++ moz.configure > +@@ -598,36 +598,6 @@ set_config('MAKENSISU_FLAGS', nsis_flags) > + > + check_prog('7Z', ('7z', '7za'), allow_missing=True, when=target_is_windows) > + > +- > +-@depends(host_c_compiler, c_compiler, bindgen_config_paths) > +-def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths): > +- clang = None > +- for compiler in (host_c_compiler, c_compiler): > +- if compiler and compiler.type == 'clang': > +- clang = compiler.compiler > +- break > +- elif compiler and compiler.type == 'clang-cl': > +- clang = os.path.join(os.path.dirname(compiler.compiler), > 'clang') > +- break > +- > +- if not clang and bindgen_config_paths: > +- clang = bindgen_config_paths.clang_path > +- llvm_objdump = 'llvm-objdump' > +- if clang: > +- out = check_cmd_output(clang, '--print-prog-name=llvm-objdump', > +- onerror=lambda: None) > +- if out: > +- llvm_objdump = out.rstrip() > +- return (llvm_objdump,) > +- > +- > +-llvm_objdump = check_prog('LLVM_OBJDUMP', llvm_objdump, what='llvm-objdump', > +- when='--enable-compile-environment', > +- paths=toolchain_search_path) > +- > +-add_old_configure_assignment('LLVM_OBJDUMP', llvm_objdump) > +- > +- > + # Please do not add configure checks from here on. > + > + # Fallthrough to autoconf-based configure