<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[145348] trunk/dports/lang/rakudo</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/145348">145348</a></dd>
<dt>Author</dt> <dd>mojca@macports.org</dd>
<dt>Date</dt> <dd>2016-02-02 02:19:51 -0800 (Tue, 02 Feb 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>rakudo: upgrade to version 2016.01, fix livecheck, upstream patch for destdir</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportslangrakudoPortfile">trunk/dports/lang/rakudo/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/dports/lang/rakudo/files/</li>
<li><a href="#trunkdportslangrakudofilespatchupstreamfixdestdirdiff">trunk/dports/lang/rakudo/files/patch-upstream-fix-destdir.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportslangrakudoPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/lang/rakudo/Portfile (145347 => 145348)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/rakudo/Portfile        2016-02-02 10:18:54 UTC (rev 145347)
+++ trunk/dports/lang/rakudo/Portfile        2016-02-02 10:19:51 UTC (rev 145348)
</span><span class="lines">@@ -4,10 +4,7 @@
</span><span class="cx"> PortSystem          1.0
</span><span class="cx"> PortGroup           github 1.0
</span><span class="cx"> 
</span><del>-# the released version has some problems, so we took the latest one
-# github.setup      rakudo rakudo 2015.12
-github.setup        rakudo rakudo 4cf630b
-version             2015.12
</del><ins>+github.setup        rakudo rakudo 2016.01
</ins><span class="cx"> description         Perl 6 compiler 
</span><span class="cx"> long_description    Rakudo is a compiler for the Perl 6 language (version 6.c) \
</span><span class="cx">                     Rakudo is built using NQP (Not Quite Perl 6), which in \
</span><span class="lines">@@ -20,14 +17,16 @@
</span><span class="cx"> homepage            http://rakudo.org/
</span><span class="cx"> # master_sites      http://rakudo.org/downloads/rakudo/
</span><span class="cx"> 
</span><del>-checksums           rmd160  06650c03711cf6efb9429d310d36411b42e8cca1 \
-                    sha256  7335273b9ec7249ec44f1c1c0cc80d05399497df9250a03fb4b1ca063c305a47
</del><ins>+checksums           rmd160  f59cba462b502d3a6004f8c437c5290420f56595 \
+                    sha256  67c16b55e748f2dd152c550a1432f00753668b606a793cf44e40215fe2ee4d62
</ins><span class="cx"> 
</span><span class="cx"> depends_build       port:perl5
</span><span class="cx"> 
</span><span class="cx"> depends_lib         port:moarvm \
</span><span class="cx">                     port:nqp
</span><span class="cx"> 
</span><ins>+patchfiles          patch-upstream-fix-destdir.diff
+
</ins><span class="cx"> configure.cmd       ${prefix}/bin/perl Configure.pl
</span><span class="cx"> configure.args      --prefix=${prefix} \
</span><span class="cx">                     --backends=moar
</span><span class="lines">@@ -38,3 +37,6 @@
</span><span class="cx"> test.run            yes
</span><span class="cx"> # test.target       test spectest
</span><span class="cx"> # other targets: localtest stresstest ...
</span><ins>+
+# we need to avoid '-' in version name, else $version-RC1 is considered newer than the actual release
+livecheck.regex     {archive/([0-9.]+).tar.gz}
</ins></span></pre></div>
<a id="trunkdportslangrakudofilespatchupstreamfixdestdirdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/rakudo/files/patch-upstream-fix-destdir.diff (0 => 145348)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/rakudo/files/patch-upstream-fix-destdir.diff                                (rev 0)
+++ trunk/dports/lang/rakudo/files/patch-upstream-fix-destdir.diff        2016-02-02 10:19:51 UTC (rev 145348)
</span><span class="lines">@@ -0,0 +1,77 @@
</span><ins>+https://github.com/rakudo/rakudo/commit/fb00ed3d71f9407a776c82f03855d1242997878c
+
+From fb00ed3d71f9407a776c82f03855d1242997878c Mon Sep 17 00:00:00 2001
+From: Anthony Parsons &lt;flussence@gmail.com&gt;
+Date: Sat, 26 Dec 2015 19:37:18 +0000
+Subject: [PATCH] Fix `make install` when nqp is distro-installed
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+During the installation process, tools/build/install-core-dist.pl is called to
+precompile the bundled non-CORE.setting libraries such as Test.pm. The way this
+was initially coded, it pulled the install path from NQP's build-time
+configuration, which will be a root-owned filesystem path if NQP was installed
+via a system package manager.
+
+Other parts of the CompUnit code will see these paths don't exist, and attempt
+to helpfully call `mkdir` on them which brings the whole process to a messy end.
+This part usually works fine when building everything from a git checkout,
+because Moar/NQP/Rakudo all default to an installation prefix the user has write
+access to.
+
+This patch fixes that step of the build process by passing the makefile's path
+prefixes to install-core-dist.pl (ensuring precompilation output goes to the
+right place), and modifying it to *only* use that path (ensuring it doesn't try
+to mkdir where it shouldn't). This isn't a 100% solution, but it fixes enough
+to unblock packaging work on a few distros.
+
+Thanks to mst++ for doing almost all of the legwork here, crux++ for an initial
+patch that gave us a few pointers to work from, and nine++ for giving us some
+Boxing Day fun ☺
+---
+ tools/build/Makefile-JVM.in      | 2 +-
+ tools/build/Makefile-Moar.in     | 2 +-
+ tools/build/install-core-dist.pl | 3 ++-
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/tools/build/Makefile-JVM.in b/tools/build/Makefile-JVM.in
+index 11e1781..0a30951 100644
+--- tools/build/Makefile-JVM.in.orig
++++ tools/build/Makefile-JVM.in
+@@ -391,7 +391,7 @@ j-install: j-all tools/build/create-jvm-runner.pl tools/build/install-core-dist.
+         $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/resources
+         $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/bin
+         $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/short
+-        .@slash@$(J_RUNNER) tools/build/install-core-dist.pl
++        .@slash@$(J_RUNNER) tools/build/install-core-dist.pl $(DESTDIR)$(PERL6_LANG_DIR)
+         $(PERL) tools/build/create-jvm-runner.pl install &quot;$(DESTDIR)&quot; $(PREFIX) $(NQP_PREFIX) $(NQP_JARS)
+         $(PERL) tools/build/create-jvm-runner.pl install-debug &quot;$(DESTDIR)&quot; $(PREFIX) $(NQP_PREFIX) $(NQP_JARS)

+diff --git a/tools/build/Makefile-Moar.in b/tools/build/Makefile-Moar.in
+index 1e586d9..670b89c 100644
+--- tools/build/Makefile-Moar.in.orig
++++ tools/build/Makefile-Moar.in
+@@ -246,7 +246,7 @@ m-install: m-all tools/build/create-moar-runner.pl tools/build/install-core-dist
+         $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/resources
+         $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/bin
+         $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/short
+-        .@slash@$(M_RUNNER) tools/build/install-core-dist.pl
++        .@slash@$(M_RUNNER) tools/build/install-core-dist.pl $(DESTDIR)$(PERL6_LANG_DIR)
+         $(PERL) tools/build/create-moar-runner.pl &quot;$(MOAR)&quot; perl6.moarvm $(DESTDIR)$(PREFIX)/bin/perl6-m &quot;$(PERL6_LANG_DIR)/runtime&quot; &quot;&quot; &quot;$(M_LIBPATH)&quot; &quot;$(PERL6_LANG_DIR)/lib&quot; &quot;$(PERL6_LANG_DIR)/runtime&quot;
+         $(PERL) tools/build/create-moar-runner.pl &quot;$(MOAR)&quot; perl6-debug.moarvm $(DESTDIR)$(PREFIX)/bin/perl6-debug-m &quot;$(PERL6_LANG_DIR)/runtime&quot; &quot;&quot; &quot;$(M_LIBPATH)&quot; &quot;$(PERL6_LANG_DIR)/lib&quot; &quot;$(PERL6_LANG_DIR)/runtime&quot;
+         $(CHMOD) 755 $(DESTDIR)$(PREFIX)/bin/perl6-m$(M_BAT)
+diff --git a/tools/build/install-core-dist.pl b/tools/build/install-core-dist.pl
+index 0990b26..ba14b20 100644
+--- tools/build/install-core-dist.pl.orig
++++ tools/build/install-core-dist.pl
+@@ -9,7 +9,8 @@
+     &quot;experimental&quot;               =&gt; &quot;lib/experimental.pm6&quot;,
+ ;

+-CompUnit::RepositoryRegistry.repository-for-name('perl').install(
++PROCESS::&lt;$REPO&gt; := CompUnit::RepositoryRegistry.repository-for-spec(&quot;inst#@*ARGS[0]&quot;);
++$*REPO.install(
+     Distribution.new(
+         name     =&gt; &quot;CORE&quot;,
+         auth     =&gt; &quot;perl&quot;,
</ins></span></pre>
</div>
</div>

</body>
</html>