On Thu, 25 Jun 2020 08:38:44 +0200
Jasper Lievisse Adriaanse wrote:

> 
> > 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

Here it is, i added a safety REVISION bump as well but i don't think
it's needed.

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    25 Jun 2020 09:05:38 -0000
@@ -20,7 +20,7 @@ V =                   ${MOZILLA_VERSION}.9.0
 DISTNAME =             firefox-${V}esr.source
 EXTRACT_SUFX =         .tar.bz2
 PKGNAME =              spidermonkey${MOZILLA_VERSION}-${V}
-REVISION =             0
+REVISION =             1
 
 SHARED_LIBS =          mozjs-68 0.0
 
@@ -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
Index: patches/patch-js_moz_configure
===================================================================
RCS file: patches/patch-js_moz_configure
diff -N patches/patch-js_moz_configure
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-js_moz_configure      25 Jun 2020 09:05:38 -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-moz_configure
===================================================================
RCS file: /cvs/ports/devel/spidermonkey68/patches/patch-moz_configure,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 patch-moz_configure
--- patches/patch-moz_configure 14 May 2020 14:54:11 -0000      1.1.1.1
+++ patches/patch-moz_configure 25 Jun 2020 09:05:38 -0000
@@ -1,5 +1,9 @@
 $OpenBSD: patch-moz_configure,v 1.1.1.1 2020/05/14 14:54:11 jasper Exp $
 
+- Fix awk detection
+- Remove unused LLVM and Rust build dependencies, from:
+  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144
+
 Index: moz.configure
 --- moz.configure.orig
 +++ moz.configure
@@ -12,3 +16,40 @@ Index: moz.configure
  
  # Until the AWK variable is not necessary in old-configure
  @depends(awk)
+@@ -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

Reply via email to