Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nqp for openSUSE:Factory checked in 
at 2021-07-25 20:09:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nqp (Old)
 and      /work/SRC/openSUSE:Factory/.nqp.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nqp"

Sun Jul 25 20:09:18 2021 rev:38 rq:908138 version:2021.07

Changes:
--------
--- /work/SRC/openSUSE:Factory/nqp/nqp.changes  2021-07-10 22:55:21.191364609 
+0200
+++ /work/SRC/openSUSE:Factory/.nqp.new.1899/nqp.changes        2021-07-25 
20:09:28.119429955 +0200
@@ -1,0 +2,8 @@
+Sat Jul 24 21:29:09 CEST 2021 - n...@detonation.org
+
+- update to version 2021.07
+  * Implement support for moar::hllincludes config variable
+  * Fix reproducible build regression
+  * Wrap QAST::Regex from qbuildsub in QAST::Stmts
+
+-------------------------------------------------------------------

Old:
----
  nqp-2021.06.tar.gz

New:
----
  nqp-2021.07.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nqp.spec ++++++
--- /var/tmp/diff_new_pack.24gg4V/_old  2021-07-25 20:09:28.671429340 +0200
+++ /var/tmp/diff_new_pack.24gg4V/_new  2021-07-25 20:09:28.675429336 +0200
@@ -17,15 +17,15 @@
 
 
 Name:           nqp
-Version:        2021.06
+Version:        2021.07
 Release:        1.1
 Summary:        Not Quite Perl
 License:        Artistic-2.0
 Group:          Development/Languages/Other
 URL:            http://rakudo.org/
 Source:         nqp-%{version}.tar.gz
-BuildRequires:  moarvm-devel >= 2021.06
-Requires:       moarvm >= 2021.06
+BuildRequires:  moarvm-devel >= 2021.07
+Requires:       moarvm >= 2021.07
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description

++++++ nqp-2021.06.tar.gz -> nqp-2021.07.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/3rdparty/nqp-configure/doc/Macros.md 
new/nqp-2021.07/3rdparty/nqp-configure/doc/Macros.md
--- old/nqp-2021.06/3rdparty/nqp-configure/doc/Macros.md        2021-06-19 
19:01:21.000000000 +0200
+++ new/nqp-2021.07/3rdparty/nqp-configure/doc/Macros.md        2021-07-24 
17:08:24.000000000 +0200
@@ -265,6 +265,75 @@
 I.e. for `@envvar(VAR)@` it will generate `$VAR` on \*nix and `%VAR%` on
 DOS-derivatives (Windows, OS/2).
 
+### for(varname text)
+
+Iterates over space-separated list of items in a configuration variable
+`varname`. For each item in the list a new context is set which defines
+`@_@` and `@_item_@` variables with the item value. Both variables are just
+each other alises.
+
+`varname` and `text` parameters are expanded. `varname` is expanded in the 
outer
+context of `for`. `text` is expanded in the context of `for` macro itself. 
+
+For example, if a variable `mylist` is set to "foo bar baz":
+
+```
+@for(mylist
+# @_@
+)@
+```
+
+Then the outcome of the above will be:
+
+```
+# foo
+# bar
+# baz
+```
+
+Also, if a variable `indirect` is set to _"mylist"_ then the following example
+will expand to the same:
+
+```
+@for(@indirect@
+# @_@
+)@
+```
+
+Due to `varname` parameter expanding in the outer context of the macro, then
+if variable `var_list` is set to something like _"var1 var2 var3"_ then we can
+nest two `for` macros in the following way:
+
+```
+@for(var_list
+## @_@
+@for(@_@ 
+# @_@
+)@)@
+```
+
+What happens here is the internal `for` will consequently iterate over all 
three
+`varN` variables. Say, if we have them set, correspondingly, to
+
+- 1 2
+- a b
+- I II
+
+then something like the following will be eventually found in the expanded
+output:
+
+```
+## var1
+# 1
+# 2
+## var2
+# a
+# b
+## var3
+# I
+# II
+```
+
 ### for_backends(text)
 
 Iterates through all active backends (i.e. defined with `--backends` command
@@ -420,17 +489,22 @@
 
 Similar to `include`, but doesn't wrap the output into begin/end comments.
 
-### insert_filelist(template)
+### insert_list(template)
 
-Inserts a list of files from a file found in `@templates_dir@` (context subdir
-is respected). The file is expanded first and then treated as a list of files.
-The list is considered to be whitespace-sperated (including newlines). Each 
file
-name in the list will be normalized (i.e. passed through `nfp`) and the
-result will be formatted for use in a Makefile:
+Inserts a list of items from a file found in `@templates_dir@` (context subdir
+is respected). The file is expanded first and then the result is split into
+single items by newlines. In other words, each line is considered an item.
+Empty ones are thrown away. The items are than assembled back according to the
+following rules:
 
-* one file per line, newlines escaped with `\`
+* each item placed into a separate line and followed by a backslash
 * all lines, except the first one, indented with four spaces (unless
-  configuration variable `filelist_indent` specifies another amount)
+  configuration variable `list_indent` specifies another amount)
+
+### insert_filelist(template)
+
+Similar to `insert_list` macro but items are considered as path elements and
+normalized with `nfp`.
 
 ### configure_opts()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/3rdparty/nqp-configure/lib/NQP/Config.pm 
new/nqp-2021.07/3rdparty/nqp-configure/lib/NQP/Config.pm
--- old/nqp-2021.06/3rdparty/nqp-configure/lib/NQP/Config.pm    2021-06-19 
19:01:21.000000000 +0200
+++ new/nqp-2021.07/3rdparty/nqp-configure/lib/NQP/Config.pm    2021-07-24 
17:08:24.000000000 +0200
@@ -120,7 +120,8 @@
     $config->{lang}   = $lang;
     $config->{lclang} = lc $lang;
 
-    # Num of spaces to indent filelists in a makefile
+    # Num of spaces to indent lists in the Makefile
+    $config->{list_indent} =
     $config->{filelist_indent} = 4;
 
     $self->{backend_prefix} = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/3rdparty/nqp-configure/lib/NQP/Macros.pm 
new/nqp-2021.07/3rdparty/nqp-configure/lib/NQP/Macros.pm
--- old/nqp-2021.06/3rdparty/nqp-configure/lib/NQP/Macros.pm    2021-06-19 
19:01:21.000000000 +0200
+++ new/nqp-2021.07/3rdparty/nqp-configure/lib/NQP/Macros.pm    2021-07-24 
17:08:24.000000000 +0200
@@ -411,6 +411,21 @@
     return $text;
 }
 
+sub insert_list {
+    my $self = shift;
+    my $file = shift;
+    my %params = @_;
+    my $cfg    = $self->{config_obj};
+    my $indent = " " x ( $cfg->{config}{list_indent} || 4 );
+    my $text   = $self->_expand( NQP::Config::slurp($file) );
+    my @list  = grep { length } split /\n+/s, $text;
+    if ($params{cb}) {
+        @list = map { $params{cb}->($_) } @list;
+    }
+    $text = join " \\\n$indent", @list;
+    return $text;
+}
+
 sub not_in_context {
     my $self = shift;
     my $cfg  = $self->{config_obj};
@@ -577,6 +592,27 @@
     return $out;
 }
 
+sub _m_for {
+    my $self = shift;
+    my ($var, $text) = split " ", shift, 2;
+    my $cfg = $self->{config_obj};
+
+    my $var_text = $cfg->cfg( $self->_expand($var) );
+
+    my $out = "";
+
+    foreach my $item (split " ", $var_text) {
+        # @_@
+        my $s = $cfg->push_config(
+            '_' => $item,
+            '_item_' => $item,
+        );
+        $out .= $self->_expand($text);
+    }
+
+    return $out;
+}
+
 # expand(text)
 # Simply expands the text. Could be useful when:
 # @expand(@!nfp(@build_dir@/@macro(...)@)@)@
@@ -661,19 +697,26 @@
     return $self->{config_obj}->fixup_makefile($text);
 }
 
+# insert_list(filename)
+# Inserts a list from file filename. File content is expanded first, then split
+# by newlines into single items. Empty lines are thrown away. Each items in the
+# list will be indented by @list_indent@ spaces except for the first one.
+sub _m_insert_list {
+    my $self   = shift;
+    my $cfg    = $self->{config_obj};
+    my $file   = $cfg->template_file_path( shift, required => 1 );
+    return $self->insert_list($file);
+}
+
 # insert_filelist(filename)
-# Inserts a list of files defined in file filename. File content is  expanded.
-# All file names in the list will be indented by 4 spaces except for the first
-# one.
+# Similar to the insert_list macro but each item is nfp-normalized
 sub _m_insert_filelist {
     my $self   = shift;
     my $cfg    = $self->{config_obj};
-    my $indent = " " x ( $cfg->{config}{filelist_indent} || 4 );
     my $file   = $cfg->template_file_path( shift, required => 1 );
-    my $text   = $self->_expand( NQP::Config::slurp($file) );
-    my @flist  = map { $cfg->nfp($_) } grep { $_ } split /\s+/s, $text;
-    $text = join " \\\n$indent", @flist;
-    return $text;
+    return $self->insert_list(
+        $file,
+        cb => sub { $cfg->nfp(shift) });
 }
 
 # sp_escape(a string)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/3rdparty/nqp-configure/t/20-macros.t 
new/nqp-2021.07/3rdparty/nqp-configure/t/20-macros.t
--- old/nqp-2021.06/3rdparty/nqp-configure/t/20-macros.t        2021-06-19 
19:01:21.000000000 +0200
+++ new/nqp-2021.07/3rdparty/nqp-configure/t/20-macros.t        2021-07-24 
17:08:24.000000000 +0200
@@ -7,7 +7,7 @@
 use Test::More;
 use v5.10;
 
-plan tests => 21;
+plan tests => 22;
 
 nqp_config->configure_paths;
 my $slash      = nqp_config->cfg('slash');
@@ -83,4 +83,27 @@
         "A \tplatform \$(DEPENDENT)VAR/aa ",
         "nested macros tightly following each other";
 
+my $s = nqp_config->push_config(
+    var_list => 'var1 var2 var3',
+    var1 => "1 2",
+    var2 => "a b",
+    var3 => "I II",
+);
+
+
+expands q<@for(var_list
+## @_@
+@for(@_@ 
+# @_item_@
+)@)@>, q<## var1
+# 1
+# 2
+## var2
+# a
+# b
+## var3
+# I
+# II
+>, "nested for macros";
+
 done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/MANIFEST new/nqp-2021.07/MANIFEST
--- old/nqp-2021.06/MANIFEST    2021-06-19 19:03:13.000000000 +0200
+++ new/nqp-2021.07/MANIFEST    2021-07-24 17:11:28.000000000 +0200
@@ -664,6 +664,7 @@
 tools/templates/jvm/nqp-j.windows
 tools/templates/jvm/qast_sources
 tools/templates/moar/Makefile.in
+tools/templates/moar/moar_includes
 tools/templates/moar/qast_sources
 tools/templates/unix/nqp-m-build.c
 tools/templates/windows/nqp-m-build.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/VERSION new/nqp-2021.07/VERSION
--- old/nqp-2021.06/VERSION     2021-06-19 19:01:04.000000000 +0200
+++ new/nqp-2021.07/VERSION     2021-07-24 17:07:56.000000000 +0200
@@ -1 +1 @@
-2021.06
+2021.07
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/src/QRegex/P6Regex/Actions.nqp 
new/nqp-2021.07/src/QRegex/P6Regex/Actions.nqp
--- old/nqp-2021.06/src/QRegex/P6Regex/Actions.nqp      2021-06-19 
19:00:51.000000000 +0200
+++ new/nqp-2021.07/src/QRegex/P6Regex/Actions.nqp      2021-07-24 
17:07:37.000000000 +0200
@@ -7,7 +7,7 @@
             :compilation_mode(0),
             :pre_deserialize($*W.load_dependency_tasks()),
             :post_deserialize($*W.fixup_tasks()),
-            self.qbuildsub($<nibbler>.ast, :anon(1), :addself(1))
+            self.qbuildsub($<nibbler>.ast, :node($/), :anon(1), :addself(1))
         );
     }
 
@@ -215,7 +215,7 @@
     }
 
     method metachar:sym<( )>($/) {
-        my $sub_ast := QAST::NodeList.new(self.qbuildsub($<nibbler>.ast, 
:anon(1), :addself(1)));
+        my $sub_ast := QAST::NodeList.new(self.qbuildsub($<nibbler>.ast, 
:node($/), :anon(1), :addself(1)));
         my $ast := QAST::Regex.new( $sub_ast, $<nibbler>.ast, 
:rxtype('subrule'),
                                      :subtype('capture'), :node($/) );
         make $ast;
@@ -605,15 +605,15 @@
                     my int $litlen := self.offset_ast($<nibbler>.ast);
                     if $litlen >= 0 {
                         $qast[0][0].value('before');
-                        $qast[0].push(self.qbuildsub($<nibbler>.ast, :anon(1), 
:addself(1)));
+                        $qast[0].push(self.qbuildsub($<nibbler>.ast, 
:node($/), :anon(1), :addself(1)));
                         $qast[0].push(QAST::IVal.new( :value($litlen) ));  # 
optional offset to before
                     }
                     else {
-                        
$qast[0].push(self.qbuildsub(self.flip_ast($<nibbler>.ast), :anon(1), 
:addself(1)));
+                        
$qast[0].push(self.qbuildsub(self.flip_ast($<nibbler>.ast), :node($/), 
:anon(1), :addself(1)));
                     }
                 }
                 else {
-                    $qast[0].push(self.qbuildsub($<nibbler>.ast, :anon(1), 
:addself(1)));
+                    $qast[0].push(self.qbuildsub($<nibbler>.ast, :node($/), 
:anon(1), :addself(1)));
                 }
             }
         }
@@ -831,7 +831,7 @@
         return $qast
     }
 
-    method qbuildsub($qast, $block = QAST::Block.new(), :$anon, :$addself, 
*%rest) {
+    method qbuildsub($qast, $block = QAST::Block.new(), :$node, :$anon, 
:$addself, *%rest) {
        my $*LANG := $qast.node;
         my $code_obj := nqp::existskey(%rest, 'code_obj')
             ?? %rest<code_obj>
@@ -879,7 +879,7 @@
         if %*RX<r> {
             $qast[2].backtrack('r');
         }
-        $block.push($qast);
+        $block.push(QAST::Stmts.new($qast, :$node));
 
         self.set_cursor_type($qast);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/src/core/NQPRoutine.nqp 
new/nqp-2021.07/src/core/NQPRoutine.nqp
--- old/nqp-2021.06/src/core/NQPRoutine.nqp     2021-06-19 19:00:51.000000000 
+0200
+++ new/nqp-2021.07/src/core/NQPRoutine.nqp     2021-07-24 17:07:37.000000000 
+0200
@@ -399,10 +399,9 @@
         my str $onlyname := '';
         my int $quant-list-captures := 0;
         my int $quant-hash-captures := 0;
-        for %capnames {
-            my $name := nqp::iterkey_s($_);
+        for sorted_keys(%capnames) -> $name {
             if $name ne '' {
-                my $count := nqp::iterval($_);
+                my $count := %capnames{$name};
                 if nqp::ord($name) != 36 && nqp::ord($name) < 58 {
                     nqp::bindpos_i(@!pos-capture-counts, +$name, $count);
                     $quant-list-captures++ if $count >= 2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/tools/templates/MOAR_REVISION 
new/nqp-2021.07/tools/templates/MOAR_REVISION
--- old/nqp-2021.06/tools/templates/MOAR_REVISION       2021-06-19 
19:01:04.000000000 +0200
+++ new/nqp-2021.07/tools/templates/MOAR_REVISION       2021-07-24 
17:07:56.000000000 +0200
@@ -1 +1 @@
-2021.06
+2021.07
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nqp-2021.06/tools/templates/Makefile-backend-common.in 
new/nqp-2021.07/tools/templates/Makefile-backend-common.in
--- old/nqp-2021.06/tools/templates/Makefile-backend-common.in  2021-06-19 
19:00:51.000000000 +0200
+++ new/nqp-2021.07/tools/templates/Makefile-backend-common.in  2021-07-24 
17:07:37.000000000 +0200
@@ -188,4 +188,4 @@
 @backend_prefix@-qregex-test-loud: @bpm(BUILD_RUNNER)@
        $(PROVE) -r -v --exec @nfpq(@bpm(BUILD_RUNNER)@)@ @nfp(t/qregex)@
 
-# vim: ft=make tw=4 sw=4 noexpandtab
+# vim: ft=make ts=4 sw=4 noexpandtab
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/tools/templates/moar/Makefile.in 
new/nqp-2021.07/tools/templates/moar/Makefile.in
--- old/nqp-2021.06/tools/templates/moar/Makefile.in    2021-06-19 
19:00:51.000000000 +0200
+++ new/nqp-2021.07/tools/templates/moar/Makefile.in    2021-07-24 
17:07:37.000000000 +0200
@@ -20,13 +20,7 @@
   @bpm(INST_NQP)@
 
 @bpv(MOAR_INC_PATHS)@ = \
-  @moar::cincludes@ \
-  @moar::ccinc@@nfpq(@moar::prefix@/include)@ \
-  @moar::ccinc@@nfpq(@moar::prefix@/include/moar)@ \
-  @moar::ccinc@@nfpq(@moar::prefix@/include/libatomic_ops)@ \
-  @moar::ccinc@@nfpq(@moar::prefix@/include/dyncall)@ \
-  @moar::ccinc@@nfpq(@moar::prefix@/include/libtommath)@ \
-  @moar::ccinc@@nfpq(@moar::prefix@/include/libuv)@
+    @insert_list(moar_includes)@
 
 @for_stages(@bpv(@ucstage@_GEN_CAT)@ = @bpm(GEN_CAT)@ @lcstage@
 )@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2021.06/tools/templates/moar/moar_includes 
new/nqp-2021.07/tools/templates/moar/moar_includes
--- old/nqp-2021.06/tools/templates/moar/moar_includes  1970-01-01 
01:00:00.000000000 +0100
+++ new/nqp-2021.07/tools/templates/moar/moar_includes  2021-07-24 
17:07:37.000000000 +0200
@@ -0,0 +1,5 @@
+@moar::cincludes@
+@moar::ccinc@@nfpq(@moar::prefix@/include)@
+@for(moar::hllincludes
+@moar::ccinc@@nfpq(@moar::prefix@/include/@_@)@
+)@

Reply via email to