Opened 5 years ago

Closed 2 years ago

#50153 closed update (fixed)

MoarVM: upgrade and fix some issues

Reported by: mojca (Mojca Miklavec) Owned by: coke (Will Coleda)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Ionic (Mihai Moldovan)
Port: MoarVM

Description (last modified by mojca (Mojca Miklavec))

  • The port needs to be upgraded to the latest Christmas edition.
  • The port currently installs a number of libraries that it probably wasn't supposed to (or at least should install them to a different location). We need to find a solution for that (I would like to be able to build it against libraries shipped by MacPorts).
  • Due to that the port should conflict with libtommath and others (libuv doesn't directly conflict, but we get a build failure if it's installed for example).
  • We might want to explore the options for LuaJIT
  • I would like to understand what the comment about perl in the Portfile means.
  • It would be nice to enable the test suite with test.run yes.
  • May I co-maintain the port (and also make the port openmaintainer)?

Available configurations:

  • --has-libtommath
  • --has-sha
  • --has-libuv
  • --has-libatomic_ops
  • --has-dynasm
  • --has-dyncall
  • --has-libffi
  • --no-jit - Disable JIT compiler, which is enabled by default to JIT-compile hot frames.
  • --lua=path/to/lua/executable - Path to a lua executable. (Used during the build when JIT is enabled).

Potentially problematic files:

  /opt/local/include/dyncall/dyncall.h
  /opt/local/include/dyncall/dyncall_alloc.h
  /opt/local/include/dyncall/dyncall_alloc_wx.h
  /opt/local/include/dyncall/dyncall_args.h
  /opt/local/include/dyncall/dyncall_args_arm32_arm.h
  ...
  /opt/local/include/dyncall/dynload.h
  /opt/local/include/dyncall/dynload_alloc.h
  /opt/local/include/libatomic_ops/atomic_ops.h
  ...
  /opt/local/include/libatomic_ops/atomic_ops/sysdeps/test_and_set_t_is_char.h
  /opt/local/include/libatomic_ops/config.h
  /opt/local/include/libtommath/tommath.h
  /opt/local/include/libtommath/tommath_class.h
  /opt/local/include/libtommath/tommath_superclass.h
  /opt/local/include/libuv/android-ifaddrs.h
  /opt/local/include/libuv/pthread-fixes.h
  /opt/local/include/libuv/stdint-msvc2008.h
  /opt/local/include/libuv/tree.h
  /opt/local/include/libuv/uv-aix.h
  ...
  /opt/local/include/libuv/uv.h
  /opt/local/include/msinttypes/inttypes.h
  /opt/local/include/msinttypes/stdint.h
  /opt/local/include/sha1/sha1.h
  /opt/local/include/tinymt/tinymt64.h

Attachments (2)

MoarVM-2015.12.diff (1.3 KB) - added by mojca (Mojca Miklavec) 5 years ago.
upgrade MoarVM to 2015.12
nqp.Portfile (1.6 KB) - added by mojca (Mojca Miklavec) 5 years ago.
Initial attempt for nqp

Download all attachments as: .zip

Change History (8)

Changed 5 years ago by mojca (Mojca Miklavec)

Attachment: MoarVM-2015.12.diff added

upgrade MoarVM to 2015.12

comment:1 Changed 5 years ago by mojca (Mojca Miklavec)

Description: modified (diff)

After some discussion on IRC, changes committed in r143944.

We were asked to help improve the README at https://github.com/MoarVM/MoarVM/tree/master/ports/macports

We could potentially keep the ticket open until we figure out what to do with conflicting libraries.

Changed 5 years ago by mojca (Mojca Miklavec)

Attachment: nqp.Portfile added

Initial attempt for nqp

comment:2 Changed 5 years ago by mojca (Mojca Miklavec)

Ignore the latest upload of nqp and check #50154 instead.

comment:3 Changed 4 years ago by mojca (Mojca Miklavec)

Relevant lines from ./Configure.pl where we might need a change:

if ($args{'has-libtommath'}) {
    $defaults{-thirdparty}->{tom} = undef;
    unshift @{$config{usrlibs}}, 'tommath';
}
else {
    $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libtommath';
    $config{install}   .= "\t\$(MKPATH) \$(DESTDIR)\$(PREFIX)/include/libtommath\n"
                        . "\t\$(CP) 3rdparty/libtommath/*.h \$(DESTDIR)\$(PREFIX)/include/libtommath\n";
}

comment:4 Changed 4 years ago by mojca (Mojca Miklavec)

In edda4685/macports-ports:

MoarVM: add dependencies for 3rd party modules

  • Add libuv as a dependency rather than conflicting with it. It is now a dependency of CMake, so people probably have it installed.
  • Add a dependency on libatomic_ops due to a build failure on 10.7. Closes: #53171
  • Add a dependency on dyncall to further reduce the number of conflicts.
  • The libtommath package doesn't seem to be compatible.

See: #50153
See: https://github.com/MoarVM/MoarVM/issues/321

comment:5 Changed 4 years ago by mojca (Mojca Miklavec)

Not sure why I kept this ticket open, but

configure.args      --has-libffi \
                    --pkgconfig=${prefix}/bin/pkg-config

now works and could be used if needed.

comment:6 Changed 2 years ago by mojca (Mojca Miklavec)

Resolution: fixed
Status: newclosed

Again, not sure why this ticket is still open. Closing.

Note: See TracTickets for help on using tickets.