[arch-commits] Commit in pari-sage/repos (8 files)

Antonio Rojas arojas at archlinux.org
Sun Jul 26 17:04:53 UTC 2015


    Date: Sunday, July 26, 2015 @ 19:04:53
  Author: arojas
Revision: 137433

archrelease: copy trunk to community-staging-i686, community-staging-x86_64

Added:
  pari-sage/repos/community-staging-i686/
  pari-sage/repos/community-staging-i686/PKGBUILD
    (from rev 137432, pari-sage/trunk/PKGBUILD)
  pari-sage/repos/community-staging-i686/perl_regex.patch
    (from rev 137432, pari-sage/trunk/perl_regex.patch)
  pari-sage/repos/community-staging-i686/public_memory_functions.patch
    (from rev 137432, pari-sage/trunk/public_memory_functions.patch)
  pari-sage/repos/community-staging-x86_64/
  pari-sage/repos/community-staging-x86_64/PKGBUILD
    (from rev 137432, pari-sage/trunk/PKGBUILD)
  pari-sage/repos/community-staging-x86_64/perl_regex.patch
    (from rev 137432, pari-sage/trunk/perl_regex.patch)
  pari-sage/repos/community-staging-x86_64/public_memory_functions.patch
    (from rev 137432, pari-sage/trunk/public_memory_functions.patch)

--------------------------------------------------------+
 community-staging-i686/PKGBUILD                        |   49 +++
 community-staging-i686/perl_regex.patch                |  201 +++++++++++++++
 community-staging-i686/public_memory_functions.patch   |   61 ++++
 community-staging-x86_64/PKGBUILD                      |   49 +++
 community-staging-x86_64/perl_regex.patch              |  201 +++++++++++++++
 community-staging-x86_64/public_memory_functions.patch |   61 ++++
 6 files changed, 622 insertions(+)

Copied: pari-sage/repos/community-staging-i686/PKGBUILD (from rev 137432, pari-sage/trunk/PKGBUILD)
===================================================================
--- community-staging-i686/PKGBUILD	                        (rev 0)
+++ community-staging-i686/PKGBUILD	2015-07-26 17:04:53 UTC (rev 137433)
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Gaetan Bisson <bisson at archlinux.org>
+
+pkgname=pari-sage
+_pkgver=2.8-1637-g489005a
+pkgver=${_pkgver//-/.}
+pkgrel=1
+pkgdesc='Computer algebra system designed for fast computations in number theory. Development snapshot required by SageMath'
+url='http://pari.math.u-bordeaux.fr/'
+license=(GPL)
+arch=(i686 x86_64)
+depends=(gmp readline libx11)
+makedepends=(perl texlive-core)
+optdepends=('perl: gphelp, tex2mail')
+conflicts=(pari)
+provides=(pari)
+# source=("http://www.sagemath.org/packages/upstream/pari/pari-$_pkgver.tar.gz"
+source=("http://mirrors.mit.edu/sage/spkg/upstream/pari/pari-$_pkgver.tar.gz"
+ 'public_memory_functions.patch' 'perl_regex.patch')
+md5sums=('41936ce2dce6bd00a662bf43a772685f'
+         '9172b9faee975cd3fe0f97126ea61af8'
+         '92b24f7e61c6268a4978636b819fba78')
+
+prepare() {
+  cd pari-${_pkgver}
+
+# make some private functions public
+  patch -p1 -i "$srcdir"/public_memory_functions.patch
+# fix doc build with Perl 5.22
+  patch -p1 -i "$srcdir"/perl_regex.patch
+}
+
+build() {
+	cd pari-${_pkgver}
+	./Configure \
+		--prefix=/usr \
+		--with-readline \
+		--mt=pthread \
+		--with-gmp \
+
+	make all
+}
+
+package() {
+	cd pari-${_pkgver}
+	make DESTDIR="$pkgdir" install
+	ln -sf gp.1.gz "$pkgdir"/usr/share/man/man1/pari.1
+}

Copied: pari-sage/repos/community-staging-i686/perl_regex.patch (from rev 137432, pari-sage/trunk/perl_regex.patch)
===================================================================
--- community-staging-i686/perl_regex.patch	                        (rev 0)
+++ community-staging-i686/perl_regex.patch	2015-07-26 17:04:53 UTC (rev 137433)
@@ -0,0 +1,201 @@
+commit 257750686ae1fe928a2b4b489844c1b57a108bd3
+Author: Karim Belabas <Karim.Belabas at math.u-bordeaux1.fr>
+Date:   Tue Jul 14 15:23:42 2015 +0200
+
+    doc_make: escape all {} in regexps [ perl-5.22 warns on these => fatal
+
+diff --git a/src/desc/doc_make b/src/desc/doc_make
+index bb41bc9..8521a9d 100755
+--- a/src/desc/doc_make
++++ b/src/desc/doc_make
+@@ -38,13 +38,13 @@ while (<FILE>)
+         $v =~ s/\[\]/[\\,]/g;
+         $v =~ s/(\w\w+)/\\var{$1}/g;
+         $v =~ s/\^([a-z])/\\hbox{\\kbd{\\pow}}$1/g;
+-        $v =~ s/\\var{flag}/\\fl/g;
+-        $v =~ s/\\var{(\d+)}/{$1}/g;
++        $v =~ s/\\var\{flag\}/\\fl/g;
++        $v =~ s/\\var\{(\d+)\}/{$1}/g;
+         $v =~ s/_/\\_/g; # don't merge with first subst: \var{} rule kills it
+ 
+         $v = "\$($v)\$";
+       }
+-      if ($doc !~ /\\syn\w*{/ && $sec !~ /programming\/control/) {
++      if ($doc !~ /\\syn\w*\{/ && $sec !~ /programming\/control/) {
+         $doc .= library_syntax($fun, $args);
+       }
+       s/_def_//;
+commit 742c70e505a7e75128720f619d63e882c03e9346
+Author: Karim Belabas <Karim.Belabas at math.u-bordeaux1.fr>
+Date:   Tue Jul 14 13:20:07 2015 +0200
+
+    gphelp: escape all {} in regexps [ perl-5.22 warns on these => fatal ]
+
+diff --git a/doc/gphelp.in b/doc/gphelp.in
+index 00ff6bd..89f2768 100755
+--- a/doc/gphelp.in
++++ b/doc/gphelp.in
+@@ -298,7 +298,7 @@ sub treat {
+   if ($pat =~ /[a-zA-Z0-9]$/) { $pat .= '\b'; } else { $pat .= '}'; }
+   while (<DOC>)
+   {
+-    if (/\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter|label){$pat/)
++    if (/\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter|label)\{$pat/)
+       { $first = $_; last; }
+   }
+   if (eof(DOC))
+@@ -380,7 +380,7 @@ sub apropos_check {
+   return if ($line !~ /$help/i);
+ 
+   local($_) = $current;
+-  s/\\b{(.)}/\\$1/;
++  s/\\b\{(.)\}/\\$1/;
+   s/\{\}//g;
+   s/\\pow/^/;
+   s/\\%/%/;
+@@ -400,7 +400,7 @@ sub apropos {
+   @sentence_list = @list = "";
+   while (<DOC>)
+   {
+-    if (/^\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter){/)
++    if (/^\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter)\{/)
+     {
+       $new = &get_match($_,'{','}');
+       &apropos_check($line, $current);
+@@ -748,7 +748,7 @@ sub basic_subst {
+   s/\\fun\s*\{([^{}]*)\}\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*\{((?:[^{}]|\{[^{}]*\})*)\}/\\kbd{$1 \\key{$2}($3)}\\sidx{$2}/g;
+ 
+   s/\\\\(?=[a-zA-Z])/\\bs /g;
+-  s/\\b{}\\b{}/\\bs\\bs /g;
++  s/\\b\{\}\\b\{\}/\\bs\\bs /g;
+   s/\\\\/\\bs/g;
+   s/(\'\'|\`\`)/"/g unless $to_pod;     # (english) double quotes
+   # asymptotic or isomorphic (~) [beware of ties]
+@@ -760,16 +760,16 @@ sub basic_subst {
+   s/\\(~|tilde)/~/g;
+ 
+   s/\\(equiv)(?![a-zA-Z])/ = /g;
+-  s/\\`a/$tr{agrave}/; s/\\`{a}/$tr{agrave}/;
+-  s/\\"o/$tr{ouml}/;   s/\\"{o}/$tr{ouml}/;
+-  s/\\"u/$tr{uuml}/;   s/\\"{u}/$tr{uuml}/;
+-  s/\\'e/$tr{eacute}/; s/\\'{e}/$tr{eacute}/;
++  s/\\`a/$tr{agrave}/; s/\\`\{a\}/$tr{agrave}/;
++  s/\\"o/$tr{ouml}/;   s/\\"\{o\}/$tr{ouml}/;
++  s/\\"u/$tr{uuml}/;   s/\\"\{u\}/$tr{uuml}/;
++  s/\\'e/$tr{eacute}/; s/\\'\{e\}/$tr{eacute}/;
+ 
+   s/(^|[^\\])%.*/$1/g;		        # comments
+   s/\\vadjust\s*\{\s*\\penalty\s*\d+\s*\}//g;
+ 
+   # We do not strip %\n, thus:
+-  s/\\kbd{\n\s*/\\kbd{/g;
++  s/\\kbd\{\n\s*/\\kbd{/g;
+   s/\$\\bf(\b|(?=[\d_]))\s*([^\$]+)\$/\$$tr{startbcode}$1$tr{endbcode}\$/g;
+   s/\$/$tr{dollar}/g;		        # math mode
+   s/\t/ /g; s/\\,//g; s/\\[ ;]/ /g;     # various spaces
+@@ -779,7 +779,7 @@ sub basic_subst {
+   s/\\TeX\{\}/TeX/g;
+   s/\\TeX(\W)/TeX$1/g;
+   s/ *\\circ\b */ o /g;
+-  s/\\d?frac{\s*((?:[^{}]|\{[^{}]*\})*)}{\s*((?:[^{}]|\{[^{}]*\})*)}/($1)\/($2)/g;
++  s/\\d?frac\{\s*((?:[^{}]|\{[^{}]*\})*)\}\{\s*((?:[^{}]|\{[^{}]*\})*)\}/($1)\/($2)/g;
+   s(\\d?frac\s*(\d)\s*(\d))(($1/$2))g;
+   s[{\s*(\w)\s*\\over(?![a-zA-Z])\s*(\w)\s*}]{($1/$2)}g;
+   s[{\s*((?:[^{}]|\{[^{}]*\})*)\\over(?![a-zA-Z])\s*((?:[^{}]|\{[^{}]*\})*)}][($1)/($2)]g;
+@@ -796,7 +796,7 @@ sub basic_subst {
+ 
+   s/(\\string)?\\_/_/g;
+   s/\\([#\$&%|])/$1/g;
+-  s/\\(hat(?![a-zA-Z])|\^)({\\?\s*})?/^/g;
++  s/\\(hat(?![a-zA-Z])|\^)(\{\\?\s*\})?/^/g;
+   s/^(\@\[podleader\]head\d *)\\pow(?![a-zA-z])( *)/$1^$2/gm;
+   s/ *\\pow(?![a-zA-z]) */^/g;
+ 
+@@ -896,21 +896,21 @@ sub basic_subst {
+   s/\\(floor|ceil|round|binom)\{/$1\{/g;
+   s/\\(var|emph)\{([^\}]*)\}/$tr{startit}$2$tr{endit}/g;
+   s/\\fl(?![a-zA-Z])/$tr{startit}flag$tr{endit}/g;
+-  s/\\b{([^}]*)}/$tr{startcode}\\$1$tr{endcode}/g;
++  s/\\b\{([^}]*)\}/$tr{startcode}\\$1$tr{endcode}/g;
+   s/\\kbdsidx/\\sidx/g;
+   s/\\sidx\{[^\}]*\}//g unless $to_pod;
+   s/\\[a-zA-Z]*idx\{([^\}]*)\}/$1/g unless $to_pod;
+-  s/{\\text{(st|nd|th)}}/\\text{$1}/g;
+-  s/\^\\text{th}/-th/g;
+-  s/1\^\\text{st}/1st/g;
+-  s/2\^\\text{nd}/2nd/g;
++  s/\{\\text\{(st|nd|th)\}\}/\\text{$1}/g;
++  s/\^\\text\{th\}/-th/g;
++  s/1\^\\text\{st\}/1st/g;
++  s/2\^\\text\{nd\}/2nd/g;
+ 
+   s/\\(text|hbox|Big)//g;
+   s/^([ \t]+)\{ *\\(it|sl|bf|tt)\b/S<$1>{\\$2/gm;
+   s/\{ *\\(it|sl) *(([^{}]+(?=[{}])|\{[^{}]*\})*)\}/$tr{startit}$2$tr{endit}/g;
+   s/\{ *\\bf *(([^{}]+(?=[{}])|\{[^{}]*\})*)\}/$tr{startbold}$1$tr{endbold}/g;
+   s/\{ *\\tt *(([^{}]+(?=[{}])|\{[^{}]*\})*)\}/$tr{startpodcode}$1$tr{endpodcode}/g;
+-  $seek=1 if (s/\\emph{ */$tr{startit}/g);
++  $seek=1 if (s/\\emph\{ */$tr{startit}/g);
+   if ($seek) { $seek=0 if (s/\}/$tr{endit}/) }
+   s/\\(backslash|bs)\{(\w)\}/\\$2/g;
+   s/\\(backslash|bs)(?![a-zA-Z]) */\\/g;
+@@ -1028,21 +1028,21 @@ sub TeXprint_topod {
+   # Try to guard \label/\sidx (removing possible '.')
+ #  This somehow breaks index...
+ #  s/(\\(?:section|subsec(?:ref|idx|op)?(unix)?)\s*{(?:(?:[^{}]+(?=[{}])|{[^{}]+})+)})\.?\s*\\(label|sidx)/$1\n\\$2/;
+-  s/(\\(?:section|subsec(?:ref|idx|op)?)\s*{(?:(?:[^{}]+(?=[{}])|{[^{}]+})+)})\.?\s*\\(label|sidx)/$1\n\\$2/;
++  s/(\\(?:section|subsec(?:ref|idx|op)?)\s*\{(?:(?:[^{}]+(?=[{}])|{[^{}]+})+)\})\.?\s*\\(label|sidx)/$1\n\\$2/;
+ 
+   # last if /\\subsec[\\{}ref]*[\\\${]$help[}\\\$]/o;
+-  s/\\chapter\s*{((?:[^{}]|\{[^{}]*\})*)}\s*/\n\n$tr{podleader}head1 NAME\n\nlibPARI - $1\n\n/;
+-  s/\\appendix\s*{((?:[^{}]|\{[^{}]*\})*)}\s*/\n\n$tr{podleader}head1 NAME\n\nAppendix - $1\n\n/;
+-  s/\\section\s*{((?:[^{}]|\{[^{}]*\})*)}\s*/"\n\n$tr{podleader}head1 " . indexify($1) . "\n\n"/e;
++  s/\\chapter\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*/\n\n$tr{podleader}head1 NAME\n\nlibPARI - $1\n\n/;
++  s/\\appendix\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*/\n\n$tr{podleader}head1 NAME\n\nAppendix - $1\n\n/;
++  s/\\section\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*/"\n\n$tr{podleader}head1 " . indexify($1) . "\n\n"/e;
+ 
+   # Try to delimit by :
+-  s/\\subsec(?:ref)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}([^\n]*):[\n ]/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
+-  s/\\subsubsec(?:ref)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}([^:]*):\s*/"\n\n$tr{podleader}head3 " . indexify("$1$3") . "\n\n"/e;
++  s/\\subsec(?:ref)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]+})+)\}([^\n]*):[\n ]/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
++  s/\\subsubsec(?:ref)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]+})+)\}([^:]*):\s*/"\n\n$tr{podleader}head3 " . indexify("$1$3") . "\n\n"/e;
+   s/\\subsubsec\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}(.*)$/"\n\n$tr{podleader}head3 " . indexify("$1") . "$3\n\n"/me;
+   s/\\subseckbd\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}([^:]*):\s*/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
+   # Try to delimit by ' '
+-  s/\\subsec(?:ref)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}(\S*)\s+/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
+-  s/\\subsec(?:title)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]*})+)}:?\s*/"\n\n$tr{podleader}head2 " . indexify("$1") . "\n\n"/e;
++  s/\\subsec(?:ref)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]+})+)\}(\S*)\s+/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
++  s/\\subsec(?:title)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]*})+)\}:?\s*/"\n\n$tr{podleader}head2 " . indexify("$1") . "\n\n"/e;
+ 
+   # This is to skip preface in refcard:
+   /\Q$tr{podleader}\Ehead1|\\title(?![a-zA-Z])\s*\{/o and $seen_start = 1
+@@ -1097,18 +1097,18 @@ sub TeXprint_topod {
+   s/\$\$(.*?)\$\$\s*/\n\nS<  >$tr{startcode}$1$tr{endcode}\n\n/gs;
+   s/\$([^\$]+)\$/$tr{startcode}$1$tr{endcode}/g;
+ 
+-  s/\\s(?:ref|idx){\s*([^{}]*)}/"X<" . for_index($1) . ">"/ge; #
+-  s/\\(?:ref|idx){\s*([^{}]*)}/"X<" . for_index($1) . ">$1"/ge;
++  s/\\s(?:ref|idx)\{\s*([^{}]*)\}/"X<" . for_index($1) . ">"/ge; #
++  s/\\(?:ref|idx)\{\s*([^{}]*)\}/"X<" . for_index($1) . ">$1"/ge;
+ 
+ # Conflict between different versions of PARI and refcard:
+-# s/\\(?:key|li)\s*{(.*)}\s*{(.+)}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/msg;
+-# s/\\(?:key|li)\s*{(.*)}\s*{}[ \t]*\n/\n\n=back\n\n$1\n\n=over\n\n/mgs;
+-# s/\\(key|var)(?![a-zA-Z])\s*{(\w+)}/C<$2>/mg;
+-  s/\\var\s*{X<(\w+)>(\w+)}/X<$1>$tr{startcode}$2$tr{endcode}/mg;
+-  s/\\var\s*{f{}lag}/$tr{startcode}flag$tr{endcode}/mg;
+-
+-  s/\\metax(?![a-zA-Z])\s*{(.*)}\s*{\s*(\w+)(?=C\<)(.*)}[ \t]*\n/\n\n=item C<L<$2>$3>\n\n$1\n\n/mg;
+-  s/\\metax(?![a-zA-Z])\s*{(.*)}\s*{(.*)}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/mg;
++# s/\\(?:key|li)\s*\{(.*)\}\s*\{(.+)\}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/msg;
++# s/\\(?:key|li)\s*\{(.*)\}\s*\{\}[ \t]*\n/\n\n=back\n\n$1\n\n=over\n\n/mgs;
++# s/\\(key|var)(?![a-zA-Z])\s*\{(\w+)\}/C<$2>/mg;
++  s/\\var\s*\{X<(\w+)>(\w+)\}/X<$1>$tr{startcode}$2$tr{endcode}/mg;
++  s/\\var\s*\{f\{\}lag\}/$tr{startcode}flag$tr{endcode}/mg;
++
++  s/\\metax(?![a-zA-Z])\s*\{(.*)\}\s*\{\s*(\w+)(?=C\<)(.*)\}[ \t]*\n/\n\n=item C<L<$2>$3>\n\n$1\n\n/mg;
++  s/\\metax(?![a-zA-Z])\s*\{(.*)\}\s*\{(.*)\}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/mg;
+   s/C\<\{\}=/C\<=/g;
+   s/\\fl(?![a-zA-Z])/I<flag>/g;
+   s/\\file(?![a-zA-Z])/F<file>/g;
+

Copied: pari-sage/repos/community-staging-i686/public_memory_functions.patch (from rev 137432, pari-sage/trunk/public_memory_functions.patch)
===================================================================
--- community-staging-i686/public_memory_functions.patch	                        (rev 0)
+++ community-staging-i686/public_memory_functions.patch	2015-07-26 17:04:53 UTC (rev 137433)
@@ -0,0 +1,61 @@
+diff --git a/src/headers/paridecl.h b/src/headers/paridecl.h
+index 7067183..4ede6ed 100644
+--- a/src/headers/paridecl.h
++++ b/src/headers/paridecl.h
+@@ -2819,6 +2819,9 @@ GEN     pari_thread_start(struct pari_thread *t);
+ void    pari_thread_valloc(struct pari_thread *t, size_t s, size_t v, GEN arg);
+ GEN     pari_version(void);
+ void    pari_warn(int numerr, ...);
++void *  pari_mainstack_malloc(size_t size);
++void    pari_mainstack_mfree(void *s, size_t size);
++void    pari_mainstack_free(struct pari_mainstack *st);
+ void    paristack_alloc(size_t rsize, size_t vsize);
+ void    paristack_newrsize(ulong newsize);
+ void    paristack_resize(ulong newsize);
+diff --git a/src/language/init.c b/src/language/init.c
+index 7b5922d..2a578d7 100644
+--- a/src/language/init.c
++++ b/src/language/init.c
+@@ -612,7 +612,7 @@ pari_add_oldmodule(entree *ep)
+ #ifndef MAP_NORESERVE
+ #define MAP_NORESERVE 0
+ #endif
+-static void *
++void *
+ pari_mainstack_malloc(size_t size)
+ {
+   void *b = mmap(NULL, size, PROT_READ|PROT_WRITE,
+@@ -620,7 +620,7 @@ pari_mainstack_malloc(size_t size)
+   return (b == MAP_FAILED) ? NULL: b;
+ }
+ 
+-static void
++void
+ pari_mainstack_mfree(void *s, size_t size)
+ {
+   munmap(s, size);
+@@ -634,13 +634,13 @@ pari_mainstack_mreset(void *s, size_t size)
+ 
+ #else
+ #define PARI_STACK_ALIGN (0x40UL)
+-static void *
++void *
+ pari_mainstack_malloc(size_t s)
+ {
+   return malloc(s); /* NOT pari_malloc, e_MEM would be deadly */
+ }
+ 
+-static void
++void
+ pari_mainstack_mfree(void *s, size_t size) { (void) size; free(s); }
+ 
+ static void
+@@ -681,7 +681,7 @@ pari_mainstack_alloc(struct pari_mainstack *st, size_t rsize, size_t vsize)
+   st->memused = 0;
+ }
+ 
+-static void
++void
+ pari_mainstack_free(struct pari_mainstack *st)
+ {
+   pari_mainstack_mfree((void*)st->vbot, st->vsize ? st->vsize : fix_size(st->rsize));

Copied: pari-sage/repos/community-staging-x86_64/PKGBUILD (from rev 137432, pari-sage/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2015-07-26 17:04:53 UTC (rev 137433)
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Gaetan Bisson <bisson at archlinux.org>
+
+pkgname=pari-sage
+_pkgver=2.8-1637-g489005a
+pkgver=${_pkgver//-/.}
+pkgrel=1
+pkgdesc='Computer algebra system designed for fast computations in number theory. Development snapshot required by SageMath'
+url='http://pari.math.u-bordeaux.fr/'
+license=(GPL)
+arch=(i686 x86_64)
+depends=(gmp readline libx11)
+makedepends=(perl texlive-core)
+optdepends=('perl: gphelp, tex2mail')
+conflicts=(pari)
+provides=(pari)
+# source=("http://www.sagemath.org/packages/upstream/pari/pari-$_pkgver.tar.gz"
+source=("http://mirrors.mit.edu/sage/spkg/upstream/pari/pari-$_pkgver.tar.gz"
+ 'public_memory_functions.patch' 'perl_regex.patch')
+md5sums=('41936ce2dce6bd00a662bf43a772685f'
+         '9172b9faee975cd3fe0f97126ea61af8'
+         '92b24f7e61c6268a4978636b819fba78')
+
+prepare() {
+  cd pari-${_pkgver}
+
+# make some private functions public
+  patch -p1 -i "$srcdir"/public_memory_functions.patch
+# fix doc build with Perl 5.22
+  patch -p1 -i "$srcdir"/perl_regex.patch
+}
+
+build() {
+	cd pari-${_pkgver}
+	./Configure \
+		--prefix=/usr \
+		--with-readline \
+		--mt=pthread \
+		--with-gmp \
+
+	make all
+}
+
+package() {
+	cd pari-${_pkgver}
+	make DESTDIR="$pkgdir" install
+	ln -sf gp.1.gz "$pkgdir"/usr/share/man/man1/pari.1
+}

Copied: pari-sage/repos/community-staging-x86_64/perl_regex.patch (from rev 137432, pari-sage/trunk/perl_regex.patch)
===================================================================
--- community-staging-x86_64/perl_regex.patch	                        (rev 0)
+++ community-staging-x86_64/perl_regex.patch	2015-07-26 17:04:53 UTC (rev 137433)
@@ -0,0 +1,201 @@
+commit 257750686ae1fe928a2b4b489844c1b57a108bd3
+Author: Karim Belabas <Karim.Belabas at math.u-bordeaux1.fr>
+Date:   Tue Jul 14 15:23:42 2015 +0200
+
+    doc_make: escape all {} in regexps [ perl-5.22 warns on these => fatal
+
+diff --git a/src/desc/doc_make b/src/desc/doc_make
+index bb41bc9..8521a9d 100755
+--- a/src/desc/doc_make
++++ b/src/desc/doc_make
+@@ -38,13 +38,13 @@ while (<FILE>)
+         $v =~ s/\[\]/[\\,]/g;
+         $v =~ s/(\w\w+)/\\var{$1}/g;
+         $v =~ s/\^([a-z])/\\hbox{\\kbd{\\pow}}$1/g;
+-        $v =~ s/\\var{flag}/\\fl/g;
+-        $v =~ s/\\var{(\d+)}/{$1}/g;
++        $v =~ s/\\var\{flag\}/\\fl/g;
++        $v =~ s/\\var\{(\d+)\}/{$1}/g;
+         $v =~ s/_/\\_/g; # don't merge with first subst: \var{} rule kills it
+ 
+         $v = "\$($v)\$";
+       }
+-      if ($doc !~ /\\syn\w*{/ && $sec !~ /programming\/control/) {
++      if ($doc !~ /\\syn\w*\{/ && $sec !~ /programming\/control/) {
+         $doc .= library_syntax($fun, $args);
+       }
+       s/_def_//;
+commit 742c70e505a7e75128720f619d63e882c03e9346
+Author: Karim Belabas <Karim.Belabas at math.u-bordeaux1.fr>
+Date:   Tue Jul 14 13:20:07 2015 +0200
+
+    gphelp: escape all {} in regexps [ perl-5.22 warns on these => fatal ]
+
+diff --git a/doc/gphelp.in b/doc/gphelp.in
+index 00ff6bd..89f2768 100755
+--- a/doc/gphelp.in
++++ b/doc/gphelp.in
+@@ -298,7 +298,7 @@ sub treat {
+   if ($pat =~ /[a-zA-Z0-9]$/) { $pat .= '\b'; } else { $pat .= '}'; }
+   while (<DOC>)
+   {
+-    if (/\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter|label){$pat/)
++    if (/\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter|label)\{$pat/)
+       { $first = $_; last; }
+   }
+   if (eof(DOC))
+@@ -380,7 +380,7 @@ sub apropos_check {
+   return if ($line !~ /$help/i);
+ 
+   local($_) = $current;
+-  s/\\b{(.)}/\\$1/;
++  s/\\b\{(.)\}/\\$1/;
+   s/\{\}//g;
+   s/\\pow/^/;
+   s/\\%/%/;
+@@ -400,7 +400,7 @@ sub apropos {
+   @sentence_list = @list = "";
+   while (<DOC>)
+   {
+-    if (/^\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter){/)
++    if (/^\\(subsubsec[a-z]*|subsec[a-z]*|section|chapter)\{/)
+     {
+       $new = &get_match($_,'{','}');
+       &apropos_check($line, $current);
+@@ -748,7 +748,7 @@ sub basic_subst {
+   s/\\fun\s*\{([^{}]*)\}\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*\{((?:[^{}]|\{[^{}]*\})*)\}/\\kbd{$1 \\key{$2}($3)}\\sidx{$2}/g;
+ 
+   s/\\\\(?=[a-zA-Z])/\\bs /g;
+-  s/\\b{}\\b{}/\\bs\\bs /g;
++  s/\\b\{\}\\b\{\}/\\bs\\bs /g;
+   s/\\\\/\\bs/g;
+   s/(\'\'|\`\`)/"/g unless $to_pod;     # (english) double quotes
+   # asymptotic or isomorphic (~) [beware of ties]
+@@ -760,16 +760,16 @@ sub basic_subst {
+   s/\\(~|tilde)/~/g;
+ 
+   s/\\(equiv)(?![a-zA-Z])/ = /g;
+-  s/\\`a/$tr{agrave}/; s/\\`{a}/$tr{agrave}/;
+-  s/\\"o/$tr{ouml}/;   s/\\"{o}/$tr{ouml}/;
+-  s/\\"u/$tr{uuml}/;   s/\\"{u}/$tr{uuml}/;
+-  s/\\'e/$tr{eacute}/; s/\\'{e}/$tr{eacute}/;
++  s/\\`a/$tr{agrave}/; s/\\`\{a\}/$tr{agrave}/;
++  s/\\"o/$tr{ouml}/;   s/\\"\{o\}/$tr{ouml}/;
++  s/\\"u/$tr{uuml}/;   s/\\"\{u\}/$tr{uuml}/;
++  s/\\'e/$tr{eacute}/; s/\\'\{e\}/$tr{eacute}/;
+ 
+   s/(^|[^\\])%.*/$1/g;		        # comments
+   s/\\vadjust\s*\{\s*\\penalty\s*\d+\s*\}//g;
+ 
+   # We do not strip %\n, thus:
+-  s/\\kbd{\n\s*/\\kbd{/g;
++  s/\\kbd\{\n\s*/\\kbd{/g;
+   s/\$\\bf(\b|(?=[\d_]))\s*([^\$]+)\$/\$$tr{startbcode}$1$tr{endbcode}\$/g;
+   s/\$/$tr{dollar}/g;		        # math mode
+   s/\t/ /g; s/\\,//g; s/\\[ ;]/ /g;     # various spaces
+@@ -779,7 +779,7 @@ sub basic_subst {
+   s/\\TeX\{\}/TeX/g;
+   s/\\TeX(\W)/TeX$1/g;
+   s/ *\\circ\b */ o /g;
+-  s/\\d?frac{\s*((?:[^{}]|\{[^{}]*\})*)}{\s*((?:[^{}]|\{[^{}]*\})*)}/($1)\/($2)/g;
++  s/\\d?frac\{\s*((?:[^{}]|\{[^{}]*\})*)\}\{\s*((?:[^{}]|\{[^{}]*\})*)\}/($1)\/($2)/g;
+   s(\\d?frac\s*(\d)\s*(\d))(($1/$2))g;
+   s[{\s*(\w)\s*\\over(?![a-zA-Z])\s*(\w)\s*}]{($1/$2)}g;
+   s[{\s*((?:[^{}]|\{[^{}]*\})*)\\over(?![a-zA-Z])\s*((?:[^{}]|\{[^{}]*\})*)}][($1)/($2)]g;
+@@ -796,7 +796,7 @@ sub basic_subst {
+ 
+   s/(\\string)?\\_/_/g;
+   s/\\([#\$&%|])/$1/g;
+-  s/\\(hat(?![a-zA-Z])|\^)({\\?\s*})?/^/g;
++  s/\\(hat(?![a-zA-Z])|\^)(\{\\?\s*\})?/^/g;
+   s/^(\@\[podleader\]head\d *)\\pow(?![a-zA-z])( *)/$1^$2/gm;
+   s/ *\\pow(?![a-zA-z]) */^/g;
+ 
+@@ -896,21 +896,21 @@ sub basic_subst {
+   s/\\(floor|ceil|round|binom)\{/$1\{/g;
+   s/\\(var|emph)\{([^\}]*)\}/$tr{startit}$2$tr{endit}/g;
+   s/\\fl(?![a-zA-Z])/$tr{startit}flag$tr{endit}/g;
+-  s/\\b{([^}]*)}/$tr{startcode}\\$1$tr{endcode}/g;
++  s/\\b\{([^}]*)\}/$tr{startcode}\\$1$tr{endcode}/g;
+   s/\\kbdsidx/\\sidx/g;
+   s/\\sidx\{[^\}]*\}//g unless $to_pod;
+   s/\\[a-zA-Z]*idx\{([^\}]*)\}/$1/g unless $to_pod;
+-  s/{\\text{(st|nd|th)}}/\\text{$1}/g;
+-  s/\^\\text{th}/-th/g;
+-  s/1\^\\text{st}/1st/g;
+-  s/2\^\\text{nd}/2nd/g;
++  s/\{\\text\{(st|nd|th)\}\}/\\text{$1}/g;
++  s/\^\\text\{th\}/-th/g;
++  s/1\^\\text\{st\}/1st/g;
++  s/2\^\\text\{nd\}/2nd/g;
+ 
+   s/\\(text|hbox|Big)//g;
+   s/^([ \t]+)\{ *\\(it|sl|bf|tt)\b/S<$1>{\\$2/gm;
+   s/\{ *\\(it|sl) *(([^{}]+(?=[{}])|\{[^{}]*\})*)\}/$tr{startit}$2$tr{endit}/g;
+   s/\{ *\\bf *(([^{}]+(?=[{}])|\{[^{}]*\})*)\}/$tr{startbold}$1$tr{endbold}/g;
+   s/\{ *\\tt *(([^{}]+(?=[{}])|\{[^{}]*\})*)\}/$tr{startpodcode}$1$tr{endpodcode}/g;
+-  $seek=1 if (s/\\emph{ */$tr{startit}/g);
++  $seek=1 if (s/\\emph\{ */$tr{startit}/g);
+   if ($seek) { $seek=0 if (s/\}/$tr{endit}/) }
+   s/\\(backslash|bs)\{(\w)\}/\\$2/g;
+   s/\\(backslash|bs)(?![a-zA-Z]) */\\/g;
+@@ -1028,21 +1028,21 @@ sub TeXprint_topod {
+   # Try to guard \label/\sidx (removing possible '.')
+ #  This somehow breaks index...
+ #  s/(\\(?:section|subsec(?:ref|idx|op)?(unix)?)\s*{(?:(?:[^{}]+(?=[{}])|{[^{}]+})+)})\.?\s*\\(label|sidx)/$1\n\\$2/;
+-  s/(\\(?:section|subsec(?:ref|idx|op)?)\s*{(?:(?:[^{}]+(?=[{}])|{[^{}]+})+)})\.?\s*\\(label|sidx)/$1\n\\$2/;
++  s/(\\(?:section|subsec(?:ref|idx|op)?)\s*\{(?:(?:[^{}]+(?=[{}])|{[^{}]+})+)\})\.?\s*\\(label|sidx)/$1\n\\$2/;
+ 
+   # last if /\\subsec[\\{}ref]*[\\\${]$help[}\\\$]/o;
+-  s/\\chapter\s*{((?:[^{}]|\{[^{}]*\})*)}\s*/\n\n$tr{podleader}head1 NAME\n\nlibPARI - $1\n\n/;
+-  s/\\appendix\s*{((?:[^{}]|\{[^{}]*\})*)}\s*/\n\n$tr{podleader}head1 NAME\n\nAppendix - $1\n\n/;
+-  s/\\section\s*{((?:[^{}]|\{[^{}]*\})*)}\s*/"\n\n$tr{podleader}head1 " . indexify($1) . "\n\n"/e;
++  s/\\chapter\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*/\n\n$tr{podleader}head1 NAME\n\nlibPARI - $1\n\n/;
++  s/\\appendix\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*/\n\n$tr{podleader}head1 NAME\n\nAppendix - $1\n\n/;
++  s/\\section\s*\{((?:[^{}]|\{[^{}]*\})*)\}\s*/"\n\n$tr{podleader}head1 " . indexify($1) . "\n\n"/e;
+ 
+   # Try to delimit by :
+-  s/\\subsec(?:ref)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}([^\n]*):[\n ]/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
+-  s/\\subsubsec(?:ref)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}([^:]*):\s*/"\n\n$tr{podleader}head3 " . indexify("$1$3") . "\n\n"/e;
++  s/\\subsec(?:ref)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]+})+)\}([^\n]*):[\n ]/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
++  s/\\subsubsec(?:ref)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]+})+)\}([^:]*):\s*/"\n\n$tr{podleader}head3 " . indexify("$1$3") . "\n\n"/e;
+   s/\\subsubsec\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}(.*)$/"\n\n$tr{podleader}head3 " . indexify("$1") . "$3\n\n"/me;
+   s/\\subseckbd\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}([^:]*):\s*/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
+   # Try to delimit by ' '
+-  s/\\subsec(?:ref)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]+})+)}(\S*)\s+/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
+-  s/\\subsec(?:title)?(?:unix)?\s*{(([^{}]+(?=[{}])|{[^{}]*})+)}:?\s*/"\n\n$tr{podleader}head2 " . indexify("$1") . "\n\n"/e;
++  s/\\subsec(?:ref)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]+})+)\}(\S*)\s+/"\n\n$tr{podleader}head2 " . indexify("$1$3") . "\n\n"/e;
++  s/\\subsec(?:title)?(?:unix)?\s*\{(([^{}]+(?=[{}])|{[^{}]*})+)\}:?\s*/"\n\n$tr{podleader}head2 " . indexify("$1") . "\n\n"/e;
+ 
+   # This is to skip preface in refcard:
+   /\Q$tr{podleader}\Ehead1|\\title(?![a-zA-Z])\s*\{/o and $seen_start = 1
+@@ -1097,18 +1097,18 @@ sub TeXprint_topod {
+   s/\$\$(.*?)\$\$\s*/\n\nS<  >$tr{startcode}$1$tr{endcode}\n\n/gs;
+   s/\$([^\$]+)\$/$tr{startcode}$1$tr{endcode}/g;
+ 
+-  s/\\s(?:ref|idx){\s*([^{}]*)}/"X<" . for_index($1) . ">"/ge; #
+-  s/\\(?:ref|idx){\s*([^{}]*)}/"X<" . for_index($1) . ">$1"/ge;
++  s/\\s(?:ref|idx)\{\s*([^{}]*)\}/"X<" . for_index($1) . ">"/ge; #
++  s/\\(?:ref|idx)\{\s*([^{}]*)\}/"X<" . for_index($1) . ">$1"/ge;
+ 
+ # Conflict between different versions of PARI and refcard:
+-# s/\\(?:key|li)\s*{(.*)}\s*{(.+)}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/msg;
+-# s/\\(?:key|li)\s*{(.*)}\s*{}[ \t]*\n/\n\n=back\n\n$1\n\n=over\n\n/mgs;
+-# s/\\(key|var)(?![a-zA-Z])\s*{(\w+)}/C<$2>/mg;
+-  s/\\var\s*{X<(\w+)>(\w+)}/X<$1>$tr{startcode}$2$tr{endcode}/mg;
+-  s/\\var\s*{f{}lag}/$tr{startcode}flag$tr{endcode}/mg;
+-
+-  s/\\metax(?![a-zA-Z])\s*{(.*)}\s*{\s*(\w+)(?=C\<)(.*)}[ \t]*\n/\n\n=item C<L<$2>$3>\n\n$1\n\n/mg;
+-  s/\\metax(?![a-zA-Z])\s*{(.*)}\s*{(.*)}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/mg;
++# s/\\(?:key|li)\s*\{(.*)\}\s*\{(.+)\}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/msg;
++# s/\\(?:key|li)\s*\{(.*)\}\s*\{\}[ \t]*\n/\n\n=back\n\n$1\n\n=over\n\n/mgs;
++# s/\\(key|var)(?![a-zA-Z])\s*\{(\w+)\}/C<$2>/mg;
++  s/\\var\s*\{X<(\w+)>(\w+)\}/X<$1>$tr{startcode}$2$tr{endcode}/mg;
++  s/\\var\s*\{f\{\}lag\}/$tr{startcode}flag$tr{endcode}/mg;
++
++  s/\\metax(?![a-zA-Z])\s*\{(.*)\}\s*\{\s*(\w+)(?=C\<)(.*)\}[ \t]*\n/\n\n=item C<L<$2>$3>\n\n$1\n\n/mg;
++  s/\\metax(?![a-zA-Z])\s*\{(.*)\}\s*\{(.*)\}[ \t]*\n/\n\n=item C<$2>\n\n$1\n\n/mg;
+   s/C\<\{\}=/C\<=/g;
+   s/\\fl(?![a-zA-Z])/I<flag>/g;
+   s/\\file(?![a-zA-Z])/F<file>/g;
+

Copied: pari-sage/repos/community-staging-x86_64/public_memory_functions.patch (from rev 137432, pari-sage/trunk/public_memory_functions.patch)
===================================================================
--- community-staging-x86_64/public_memory_functions.patch	                        (rev 0)
+++ community-staging-x86_64/public_memory_functions.patch	2015-07-26 17:04:53 UTC (rev 137433)
@@ -0,0 +1,61 @@
+diff --git a/src/headers/paridecl.h b/src/headers/paridecl.h
+index 7067183..4ede6ed 100644
+--- a/src/headers/paridecl.h
++++ b/src/headers/paridecl.h
+@@ -2819,6 +2819,9 @@ GEN     pari_thread_start(struct pari_thread *t);
+ void    pari_thread_valloc(struct pari_thread *t, size_t s, size_t v, GEN arg);
+ GEN     pari_version(void);
+ void    pari_warn(int numerr, ...);
++void *  pari_mainstack_malloc(size_t size);
++void    pari_mainstack_mfree(void *s, size_t size);
++void    pari_mainstack_free(struct pari_mainstack *st);
+ void    paristack_alloc(size_t rsize, size_t vsize);
+ void    paristack_newrsize(ulong newsize);
+ void    paristack_resize(ulong newsize);
+diff --git a/src/language/init.c b/src/language/init.c
+index 7b5922d..2a578d7 100644
+--- a/src/language/init.c
++++ b/src/language/init.c
+@@ -612,7 +612,7 @@ pari_add_oldmodule(entree *ep)
+ #ifndef MAP_NORESERVE
+ #define MAP_NORESERVE 0
+ #endif
+-static void *
++void *
+ pari_mainstack_malloc(size_t size)
+ {
+   void *b = mmap(NULL, size, PROT_READ|PROT_WRITE,
+@@ -620,7 +620,7 @@ pari_mainstack_malloc(size_t size)
+   return (b == MAP_FAILED) ? NULL: b;
+ }
+ 
+-static void
++void
+ pari_mainstack_mfree(void *s, size_t size)
+ {
+   munmap(s, size);
+@@ -634,13 +634,13 @@ pari_mainstack_mreset(void *s, size_t size)
+ 
+ #else
+ #define PARI_STACK_ALIGN (0x40UL)
+-static void *
++void *
+ pari_mainstack_malloc(size_t s)
+ {
+   return malloc(s); /* NOT pari_malloc, e_MEM would be deadly */
+ }
+ 
+-static void
++void
+ pari_mainstack_mfree(void *s, size_t size) { (void) size; free(s); }
+ 
+ static void
+@@ -681,7 +681,7 @@ pari_mainstack_alloc(struct pari_mainstack *st, size_t rsize, size_t vsize)
+   st->memused = 0;
+ }
+ 
+-static void
++void
+ pari_mainstack_free(struct pari_mainstack *st)
+ {
+   pari_mainstack_mfree((void*)st->vbot, st->vsize ? st->vsize : fix_size(st->rsize));



More information about the arch-commits mailing list