Hello community, here is the log from the commit of package cadabra2 for openSUSE:Factory checked in at 2017-11-29 10:52:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cadabra2 (Old) and /work/SRC/openSUSE:Factory/.cadabra2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "cadabra2" Wed Nov 29 10:52:20 2017 rev:4 rq:544380 version:2.1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/cadabra2/cadabra2.changes 2017-11-03 16:28:56.715267997 +0100 +++ /work/SRC/openSUSE:Factory/.cadabra2.new/cadabra2.changes 2017-11-29 10:52:22.225280442 +0100 @@ -1,0 +2,7 @@ +Wed Nov 22 09:19:49 UTC 2017 - badshah400@gmail.com + +- Update to version 2.1.6: + * Another interim release to fix bugs and sort out the build + process on new distros. + +------------------------------------------------------------------- Old: ---- 2.1.6.tar.gz New: ---- 2.1.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cadabra2.spec ++++++ --- /var/tmp/diff_new_pack.Bppapf/_old 2017-11-29 10:52:23.069249823 +0100 +++ /var/tmp/diff_new_pack.Bppapf/_new 2017-11-29 10:52:23.073249678 +0100 @@ -17,7 +17,7 @@ Name: cadabra2 -Version: 2.1.6 +Version: 2.1.7 Release: 0 Summary: A computer algebra system for solving problems in field theory License: GPL-3.0+ ++++++ 2.1.6.tar.gz -> 2.1.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/CMakeLists.txt new/cadabra2-2.1.7/CMakeLists.txt --- old/cadabra2-2.1.6/CMakeLists.txt 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/CMakeLists.txt 2017-11-19 20:27:27.000000000 +0100 @@ -4,7 +4,7 @@ project(Cadabra) set(CADABRA_VERSION_MAJOR 2) set(CADABRA_VERSION_MINOR 1) -set(CADABRA_VERSION_PATCH 6) +set(CADABRA_VERSION_PATCH 7) set(COPYRIGHT_YEARS "2001-2017") execute_process(COMMAND git rev-parse --short HEAD OUTPUT_VARIABLE GIT_SHORT_SHA OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND git rev-list --count HEAD OUTPUT_VARIABLE GIT_COMMIT_SERIAL OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -70,7 +70,7 @@ message("-- This is a CentOS system") endif(LINUX_ISSUE MATCHES "CentOS") if(LINUX_ISSUE MATCHES "Fedora") - set(CPACK_GENERATOR "RPM") + set(CPACK_GENERATOR "RPM") if(LINUX_ISSUE MATCHES "26") message("-- This is a Fedora 26 system") set(CPACK_RPM_PACKAGE_REQUIRES "python3-libs, pcre, gmp, libuuid, sqlite, gtkmm30, boost-system, boost-filesystem, boost-program-options, boost-regex, libstdc++, python3-matplotlib, dvipng, texlive") @@ -85,7 +85,17 @@ set(CPACK_SYSTEM_NAME "fedora") endif() endif() -else() + if(LINUX_ISSUE MATCHES "Scientific") + set(CPACK_GENERATOR "RPM") + set(CPACK_SYSTEM_NAME "scientific") + if(PACKAGING_MODE) + set(PYTHON_SITE_PATH "/usr/lib/python2.7/site-packages") + set(INSTALL_LATEX_DIR "/usr/share/texmf") + endif() + set(CPACK_RPM_PACKAGE_REQUIRES "python-libs, pcre, gmp, libuuid, sqlite, gtkmm30, boost-system, boost-filesystem, boost-program-options, boost-regex, libstdc++, python-matplotlib, dvipng, texlive") + message("-- This is a Scientific Linux system") + endif() + else() if(EXISTS "/etc/issue") file(READ "/etc/issue" LINUX_ISSUE) if(LINUX_ISSUE MATCHES "openSUSE") @@ -105,7 +115,12 @@ if(LINUX_ISSUE MATCHES "8") set(CPACK_SYSTEM_NAME "jessie") set(CPACK_DEBIAN_PACKAGE_DEPENDS "python3, libpcre3, libpcrecpp0, libgmpxx4ldbl, libboost-python1.55.0, libboost-system1.55.0, libboost-filesystem1.55.0, libboost-program-options1.55.0, libboost-regex1.55.0, libstdc++6, uuid-runtime, libgtkmm-3.0-1, texlive, texlive-latex-extra, python3-matplotlib, python3-mpmath, dvipng, python-sympy") - message("-- This is a Debian 8.6 system") + message("-- This is a Debian 8.x system") + endif() + if(LINUX_ISSUE MATCHES "9") + set(CPACK_SYSTEM_NAME "stretch") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "python3, libpcre3, libpcrecpp0v5, libgmpxx4ldbl, libboost-python1.62.0, libboost-system1.62.0, libboost-filesystem1.62.0, libboost-program-options1.62.0, libboost-regex1.62.0, libstdc++6, uuid-runtime, libgtkmm-3.0-1v5, texlive, texlive-latex-extra, python3-matplotlib, python3-mpmath, dvipng, python-sympy") + message("-- This is a Debian 9.x system") endif() endif() if(LINUX_ISSUE MATCHES "Ubuntu") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/config/buildbot.sh new/cadabra2-2.1.7/config/buildbot.sh --- old/cadabra2-2.1.6/config/buildbot.sh 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/config/buildbot.sh 2017-11-19 20:27:27.000000000 +0100 @@ -53,12 +53,14 @@ # Parameters: VM name, package type, local ssh port, folder name on web server. -#runbuild "Ubuntu_16.04_build" ".deb" 7000 ubuntu1604 -#runbuild "Fedora_24_build" ".rpm" 7001 fedora24 -#runbuild "Mint_18" ".deb" 7002 mint18 -#runbuild "OpenSUSE_Leap" ".rpm" 7003 opensuse421 -#runbuild "CentOS_7" ".rpm" 7004 centos7 -#runbuild "Ubuntu_14.04_build" ".deb" 7005 ubuntu1404 -#runbuild "Fedora_26" ".rpm" 7011 fedora26 +runbuild "Ubuntu_16.04_build" ".deb" 7000 ubuntu1604 +runbuild "Fedora_24_build" ".rpm" 7001 fedora24 +runbuild "Mint_18" ".deb" 7002 mint18 +runbuild "OpenSUSE_Leap" ".rpm" 7003 opensuse421 +runbuild "CentOS_7" ".rpm" 7004 centos7 +runbuild "Ubuntu_14.04_build" ".deb" 7005 ubuntu1404 +runbuild "Fedora_26" ".rpm" 7011 fedora26 runbuild "Ubuntu_17.10" ".deb" 7012 ubuntu1710 -#runbuild "Debian86" ".deb" 7006 debian86 +runbuild "Debian86" ".deb" 7006 debian86 +runbuild "Scientific_Linux_74" ".rpm" 7013 scientific74 +runbuild "Debian_921" ".deb" 7014 debian9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/config/buildpkg.sh new/cadabra2-2.1.7/config/buildpkg.sh --- old/cadabra2-2.1.6/config/buildpkg.sh 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/config/buildpkg.sh 2017-11-19 20:27:27.000000000 +0100 @@ -16,7 +16,7 @@ cmake .. -DPACKAGING_MODE=ON -DCMAKE_INSTALL_PREFIX=/usr fi else - cmake .. + cmake .. -DPACKAGING_MODE=ON -DCMAKE_INSTALL_PREFIX=/usr fi make sudo cpack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/core/Cleanup.cc new/cadabra2-2.1.7/core/Cleanup.cc --- old/cadabra2-2.1.6/core/Cleanup.cc 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/core/Cleanup.cc 2017-11-19 20:27:27.000000000 +0100 @@ -6,6 +6,7 @@ #include "properties/SelfAntiCommuting.hh" #include "properties/Diagonal.hh" #include "properties/ExteriorDerivative.hh" +#include "properties/DifferentialForm.hh" #include "properties/KroneckerDelta.hh" #include "properties/NumericalFlat.hh" #include "properties/PartialDerivative.hh" @@ -158,17 +159,29 @@ } } - // Turn wedge products containing two identical siblings to zero. + // Turn wedge products containing two identical siblings of odd degree to zero. if(nm=="\\wedge") { auto s1=tr.begin(it); auto s2=s1; ++s2; while(s2!=tr.end(it)) { if(subtree_compare(0, s1, s2)==0) { - tr.erase_children(it); - zero(it->multiplier); - ret=true; - break; + auto df1 = k.properties.get<DifferentialForm>(s1); + auto df2 = k.properties.get<DifferentialForm>(s2); + if(df1 && df2) { + auto degree1 = df1->degree(k.properties, s1); + auto degree2 = df2->degree(k.properties, s2); + if(degree1.is_rational() && degree2.is_rational()) { + long d1 = to_long(degree1.to_rational()); + long d2 = to_long(degree2.to_rational()); + if(d1==d2 && d1%2==1) { + tr.erase_children(it); + zero(it->multiplier); + ret=true; + break; + } + } + } } ++s2; ++s1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/core/Compare.cc new/cadabra2-2.1.7/core/Compare.cc --- old/cadabra2-2.1.6/core/Compare.cc 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/core/Compare.cc 2017-11-19 20:27:27.000000000 +0100 @@ -1247,8 +1247,9 @@ return 1; else { if(Ex::is_head(one) || *(Ex::parent(one)->name)=="\\wedge") { -// if(df1->degree.is_rational()==false || df2->degree.is_rational()==false) -// throw NotYetImplemented("Cannot yet order forms with non-numerical degrees"); + if(df1->degree(properties, one).is_rational()==false || + df2->degree(properties, two).is_rational()==false) + return 0; // Cannot yet order forms with non-numerical degrees. long d1 = to_long(df1->degree(properties, one).to_rational()); long d2 = to_long(df2->degree(properties, two).to_rational()); if( (d1*d2) % 2 == 1) return -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/core/DisplaySympy.cc new/cadabra2-2.1.7/core/DisplaySympy.cc --- old/cadabra2-2.1.6/core/DisplaySympy.cc 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/core/DisplaySympy.cc 2017-11-19 20:27:27.000000000 +0100 @@ -76,7 +76,12 @@ {"\\partial", "Derivative"}, {"\\dot", "dot"}, - {"\\ddot", "ddot"} + {"\\ddot", "ddot"}, + + // A few symbols are reserved by sympy. + {"N", "sympyN"}, + {"O", "sympyO"}, + {"S", "sympyS"} }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/core/SympyCdb.cc new/cadabra2-2.1.7/core/SympyCdb.cc --- old/cadabra2-2.1.6/core/SympyCdb.cc 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/core/SympyCdb.cc 2017-11-19 20:27:27.000000000 +0100 @@ -11,7 +11,7 @@ using namespace cadabra; -//#define DEBUG +// #define DEBUG Ex::iterator sympy::apply(const Kernel& kernel, Ex& ex, Ex::iterator& it, const std::vectorstd::string& wrap, const std::string& args, const std::string& method) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/examples/exterior.cnb new/cadabra2-2.1.7/examples/exterior.cnb --- old/cadabra2-2.1.6/examples/exterior.cnb 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/examples/exterior.cnb 2017-11-19 20:27:27.000000000 +0100 @@ -110,7 +110,7 @@ { "cell_origin" : "server", "cell_type" : "latex_view", - "source" : "\\begin{dmath*}{}\\text{Attached property ExteriorDerivative to~}{\\rm d}{\\#}.\\end{dmath*}" + "source" : "\\begin{dmath*}{}\\text{Attached property ExteriorDerivative to~}d{\\#}.\\end{dmath*}" } ], "source" : "d{#}::ExteriorDerivative;\nd{#}::LaTeXForm(\"{\\rm d}\")." @@ -266,7 +266,7 @@ { "cell_origin" : "server", "cell_type" : "latex_view", - "source" : "\\begin{dmath*}{}\\text{Attached property Indices(position=free) to~}\\left\\{a, \\linebreak[0] b, \\linebreak[0] c\\right\\}.\\end{dmath*}" + "source" : "\\begin{dmath*}{}\\text{Attached property Indices(position=free) to~}\\left[a,~\\discretionary{}{}{} b,~\\discretionary{}{}{} c\\right].\\end{dmath*}" }, { "cell_origin" : "server", @@ -346,11 +346,11 @@ { "cell_origin" : "client", "cell_type" : "latex_view", - "source" : "Some more random assorted ramblings below, not finished yet." + "source" : "Some more random assorted ramblings below, not finished yet!!!" } ], "hidden" : true, - "source" : "Some more random assorted ramblings below, not finished yet." + "source" : "Some more random assorted ramblings below, not finished yet!!!" }, { "cell_origin" : "client", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/tests/derivative.cdb new/cadabra2-2.1.7/tests/derivative.cdb --- old/cadabra2-2.1.6/tests/derivative.cdb 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/tests/derivative.cdb 2017-11-19 20:27:27.000000000 +0100 @@ -644,3 +644,17 @@ print("Test 38 passed") test38() + +def test39(): + __cdbkernel__=create_scope() + A0::DifferentialForm(degree=0). + A1::DifferentialForm(degree=1). + A2::DifferentialForm(degree=2). + A3::DifferentialForm(degree=3). + ex:= A3 ^ A1 - A1 ^ A3 + A2 ^ A2 ^ A0; + sort_product(_); + tst:= - 2 A1 ^ A3 + A0 ^ A2 ^ A2 - @(ex); + assert(tst==0) + print("Test 39 passed") + +test39() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/web2/CMakeLists.txt new/cadabra2-2.1.7/web2/CMakeLists.txt --- old/cadabra2-2.1.6/web2/CMakeLists.txt 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/web2/CMakeLists.txt 2017-11-19 20:27:27.000000000 +0100 @@ -21,6 +21,7 @@ string_states bianchi_identities schwarzschild + exterior kaluza_klein plotting scalar_manipulations diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/web2/cadabra2/source/download.html new/cadabra2-2.1.7/web2/cadabra2/source/download.html --- old/cadabra2-2.1.6/web2/cadabra2/source/download.html 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/web2/cadabra2/source/download.html 2017-11-19 20:27:27.000000000 +0100 @@ -23,47 +23,50 @@ </p> <table class="packages"> - <tr><th>distribution</th><th>package</th></tr> + <tr><th>distribution</th></tr> <tr> - <td class="system">• Ubuntu Trusty Tahr 14.04</td> - <td><a href="/packages/ubuntu1404">download folder</a></td> + <td class="system">• <a href="/packages/ubuntu1404">Ubuntu Trusty Tahr 14.04</a></td> </tr> <tr> - <td class="system">• Ubuntu Xenial Xerus 16.04</td> - <td><a href="/packages/ubuntu1604">download folder</a></td> + <td class="system">• <a href="/packages/ubuntu1604">Ubuntu Xenial Xerus 16.04</a></td> </tr> <tr> - <td class="system">• Ubuntu Artful Aardvark 17.10</td> - <td><a href="/packages/ubuntu1710">download folder</a></td> + <td class="system">• <a href="/packages/ubuntu1710">Ubuntu Artful Aardvark 17.10</a></td> </tr> <tr> - <td class="system">• Fedora 24</td> - <td><a href="/packages/fedora24">download folder</a></td> + <td class="system">• <a href="/packages/fedora24">Fedora 24</a></td> </tr> <tr> - <td class="system">• Fedora 26</td> - <td><a href="/packages/fedora26">download folder</a></td> + <td class="system">• <a href="/packages/fedora26">Fedora 26</a></td> </tr> <tr> - <td class="system">• Mint Sarah 18</td> - <td><a href="/packages/mint18">download folder</a></td> + <td class="system">• <a href="/packages/mint18">Mint Sarah 18</a></td> </tr> <tr> - <td class="system">• CentOS 7 / Scientific Linux 7</td> - <td><a href="/packages/centos7">download folder</a></td> + <td class="system">• <a href="/packages/centos7">CentOS 7</a></td> </tr> <tr> <td colspan=2 class="instructions"> After installation you also need to run<br/> - <code>sudo yum install epel-release</code><br/><code>sudo yum - install python-pip</code><br/><code>sudo pip install - sympy</code><br/> + <code>sudo yum install epel-release; sudo yum + install python-pip; sudo pip install sympy</code><br/> in order to enable component computations. </td> </tr> <tr> - <td class="system">• OpenSUSE Leap 42.1</td> - <td><a href="/packages/opensuse421">download folder</a></td> + <td class="system">• <a href="/packages/scientific7x">Scientific + Linux 7x</a></td> + </tr> + <tr> + <td colspan=2 class="instructions"> + After installation you also need to run<br/> + <code>sudo yum install epel-release; sudo yum + install python-pip; sudo pip install sympy</code><br/> + in order to enable component computations. + </td> + </tr> + <tr> + <td class="system">• <a href="/packages/opensuse421">OpenSUSE Leap 42.1</a></td> </tr> <tr> <td colspan=2 class="instructions"> @@ -75,8 +78,10 @@ </td> </tr> <tr> - <td class="system">• Debian Jessie 8.6</td> - <td><a href="/packages/debian86">download folder</a></td> + <td class="system">• <a href="/packages/debian86">Debian Jessie 8.6</a></td> + </tr> + <tr> + <td class="system">• <a href="/packages/debian9">Debian Stretch 9</a></td> </tr> </table> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/web2/cadabra2/source/static/styles/cadabra-web.css new/cadabra2-2.1.7/web2/cadabra2/source/static/styles/cadabra-web.css --- old/cadabra2-2.1.6/web2/cadabra2/source/static/styles/cadabra-web.css 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/web2/cadabra2/source/static/styles/cadabra-web.css 2017-11-19 20:27:27.000000000 +0100 @@ -398,6 +398,8 @@ table.packages code { font-size: 12px; margin-left: 10px; + margin-top: 0px; + margin-bottom:0px; } /* Young tableaux */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cadabra2-2.1.6/web2/cadabra2/source/tutorials.html new/cadabra2-2.1.7/web2/cadabra2/source/tutorials.html --- old/cadabra2-2.1.6/web2/cadabra2/source/tutorials.html 2017-11-01 18:34:55.000000000 +0100 +++ new/cadabra2-2.1.7/web2/cadabra2/source/tutorials.html 2017-11-19 20:27:27.000000000 +0100 @@ -120,7 +120,7 @@ <a href="notebooks/string_states.cnb">download notebook</a> </div> -<h2>Abstract general relativity</h2> +<h2>Abstract general relativity and differential geometry</h2> <p> Cadabra was originally written in order to facilitate computations in extensions of general relativity. The following example shows how @@ -132,6 +132,14 @@ <a href="notebooks/bianchi_identities.html">read online</a> <a href="notebooks/bianchi_identities.cnb">download notebook</a> </div> +<p> + You can also do computations with abstract differential forms and + the exterior derivative, as in the example below. +<div class="view_options"> + <span>Differential forms:</span> + <a href="notebooks/exterior.html">read online</a> + <a href="notebooks/exterior.cnb">download notebook</a> +</div> </p> <h2>Component computations</h2>