summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarn Burton2016-03-01 16:28:46 -0500
committerTarn Burton2016-03-01 16:28:46 -0500
commit48aa2eb7d399abbfdd098bf5311d477713741c64 (patch)
tree86872e7682dd2189744bd7289d396c5967420cb3
parent3e42b3154af47c2f014906d8f480ff221a67ee8b (diff)
downloadaur-48aa2eb7d399abbfdd098bf5311d477713741c64.tar.gz
Added patch for C++11
-rwxr-xr-xPKGBUILD11
-rw-r--r--package.patch148
2 files changed, 156 insertions, 3 deletions
diff --git a/PKGBUILD b/PKGBUILD
index fb81711d015c..3dd5da4eec90 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,13 +10,18 @@ url="http://cadabra.phi-sci.com/"
license=('GPL')
depends=('conlie' 'modglue' 'gmp' 'pcre') # for gui: 'gtkmm' 'dvipng' 'texlive' 'breqn' http://www.ctan.org/pkg/breqn
install="$pkgname.install"
-source=("http://cadabra.phi-sci.com/$pkgname-$pkgver.tar.gz")
-md5sums=('cee8ae23c169958aba09b64e4ea479ce')
+source=("http://cadabra.phi-sci.com/$pkgname-$pkgver.tar.gz" "package.patch")
+md5sums=('cee8ae23c169958aba09b64e4ea479ce'
+ '4e7d46604748a7f5df1ad982115d969b')
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i ../package.patch
+}
build() {
cd $srcdir/$pkgname-$pkgver/
- ./configure --prefix=/usr #--enable-gui
+ ./configure --prefix=/usr CXXFLAGS="-std=c++11" #--enable-gui
make
}
diff --git a/package.patch b/package.patch
new file mode 100644
index 000000000000..3a865537dfff
--- /dev/null
+++ b/package.patch
@@ -0,0 +1,148 @@
+diff -aur -bZwB cadabra-1.33.old/gui/Makefile.in cadabra-1.33/gui/Makefile.in
+--- cadabra-1.33.old/gui/Makefile.in 2016-03-01 15:20:41.350168657 -0500
++++ cadabra-1.33/gui/Makefile.in 2016-03-01 15:20:46.286725541 -0500
+@@ -14,7 +14,7 @@
+ TIMESTAMP = -D"RELEASE=\"${RELEASE}\"" -D"DATETIME=\"`date | sed -e 's/ / /'`\"" -DHOSTNAME=\"`hostname`\"
+
+ %.o: %.cc
+- @CXX@ -Wall @CFLAGS@ -D"DESTDIR=\"@prefix@\"" ${TIMESTAMP} ${CFLAGS} -c -o $@ $<
++ @CXX@ -Wall @CXXFLAGS@ -D"DESTDIR=\"@prefix@\"" ${TIMESTAMP} ${CFLAGS} -c -o $@ $<
+
+ main.o: $(OBJS) Makefile
+
+@@ -50,7 +50,7 @@
+ .depend:
+ rm -f .depend
+ for i in ${SRCS}; \
+- do g++ -E -MM -MT `echo $$i | sed -e 's/\.\///' -e 's/\.cc/\.o/'` ${CFLAGS} $$i >> .depend; \
++ do @CXX@ @CXXFLAGS@ -E -MM -MT `echo $$i | sed -e 's/\.\///' -e 's/\.cc/\.o/'` ${CFLAGS} $$i >> .depend; \
+ done
+
+ include .depend
+diff -aur -bZwB cadabra-1.33.old/src/Makefile.in cadabra-1.33/src/Makefile.in
+--- cadabra-1.33.old/src/Makefile.in 2016-03-01 15:20:41.353501917 -0500
++++ cadabra-1.33/src/Makefile.in 2016-03-01 15:20:46.286725541 -0500
+@@ -27,7 +27,7 @@
+
+
+ %.o: %.cc
+- @CXX@ ${MCFLAGS} ${TIMESTAMP} -c -o $@ $<
++ @CXX@ @CXXFLAGS@ ${MCFLAGS} ${TIMESTAMP} -c -o $@ $<
+
+ modules/xperm.o: modules/xperm.c
+ @CC@ @NESTED@ ${MCFLAGS} ${TIMESTAMP} -c -o $@ $<
+@@ -53,7 +53,7 @@
+
+ cadabra_static: $(OBJS) $(MOBJS)
+ rm -f main.o
+- @CXX@ -Wall -g ${MCFLAGS} ${TIMESTAMP} -DSTATICBUILD -c -o main.o main.cc
++ @CXX@ @CXXFLAGS@ -Wall -g ${MCFLAGS} ${TIMESTAMP} -DSTATICBUILD -c -o main.o main.cc
+ ifeq ($(strip $(MACTEST)),)
+ @CXX@ -o cadabra -static $+ ${LDFLAGS} `pkg-config modglue --libs` -lmodglue \
+ -lgmpxx -lgmp -lpcrecpp -lpcre \
+@@ -170,7 +170,7 @@
+ .depend:
+ rm -f .depend
+ for i in ${SRCS}; \
+- do @CXX@ ${MCFLAGS} -E -MM -MT `echo $$i | sed -e 's/\.\///' -e 's/\.cc/\.o/'` ${CFLAGS} $$i >> .depend; \
++ do @CXX@ @CXXFLAGS@ ${MCFLAGS} -E -MM -MT `echo $$i | sed -e 's/\.\///' -e 's/\.cc/\.o/'` ${CFLAGS} $$i >> .depend; \
+ done
+
+ include .depend
+diff -aur -bZwB cadabra-1.33.old/src/manipulator.hh cadabra-1.33/src/manipulator.hh
+--- cadabra-1.33.old/src/manipulator.hh 2016-03-01 15:20:41.353501917 -0500
++++ cadabra-1.33/src/manipulator.hh 2016-03-01 15:21:52.291923925 -0500
+@@ -21,17 +21,17 @@
+ #ifndef manipulator_hh_
+ #define manipulator_hh_
+
+-#include "storage.hh"
+ #include "algorithm.hh"
+ #include "display.hh"
+-#include <string>
+-#include <map>
+-#include <iostream>
++#include "storage.hh"
+ #include <fstream>
+-#include <utility>
+-#include <stack>
+-#include <sigc++/object.h>
++#include <iostream>
++#include <map>
+ #include <modglue/pipe.hh>
++#include <sigc++/sigc++.h>
++#include <stack>
++#include <string>
++#include <utility>
+
+ // These are initiated in main.cc
+ extern std::ostream *real_txtout;
+@@ -65,8 +65,8 @@
+ exit_exception();
+ };
+
+-
+-/// Singleton object which pulls in data from the input streams, handles switching
++/// Singleton object which pulls in data from the input streams, handles
++/// switching
+ /// between streams, feeds data to the parser, and calls the algorithm objects
+ /// to perform action on the expression tree.
+ class manipulator : public sigc::trackable {
+@@ -92,11 +92,13 @@
+ /// automatically call handle_input to start parsing.
+ bool receive_command(modglue::ipipe&);
+
+- /// Set the prompt to the indicated string. Should be called before the entry points
++ /// Set the prompt to the indicated string. Should be called before the entry
++ /// points
+ /// handle_input or receive_command are called.
+ void set_prompt(const std::string&);
+
+- /// Display the prompt. Used when a prompt is needed before any input handling takes
++ /// Display the prompt. Used when a prompt is needed before any input handling
++ /// takes
+ /// place.
+ void print_prompt() const;
+
+@@ -109,15 +111,18 @@
+
+ std::stack<std::istream *> streamstack;
+
+- void output_comment(const std::string& comment) const; // wrap in xml nodes if necessary
++ void output_comment(
++ const std::string &comment) const; // wrap in xml nodes if necessary
+ void output_status() const;
+ void read_program_file();
+
+- /// Cleans up the stream at the top of streamstack. If it derives from ifstream,
++ /// Cleans up the stream at the top of streamstack. If it derives from
++ /// ifstream,
+ /// will call close on it as well. Pops the stream off the stack.
+ void cleanup_stream();
+
+- /// Replace \\argv[n] in the input with the n-th command line argument as stored
++ /// Replace \\argv[n] in the input with the n-th command line argument as
++ /// stored
+ /// in the global cmdline_arguments vector.
+ void replace_cmdline_args(std::string& oneline);
+
+@@ -131,7 +136,8 @@
+ bool is_whitespace_(const std::string& str) const;
+
+ /// Activate all '@' nodes. The returned iterator points inside the
+- /// expression which has to be printed (though not necessarily to the top node),
++ /// expression which has to be printed (though not necessarily to the top
++ /// node),
+ /// or to expressions.end() if the expression has been removed.
+ exptree::iterator handle_active_nodes_(exptree::iterator);
+ nset_t::iterator collect_labels_(exptree&, exptree::iterator);
+@@ -140,7 +146,8 @@
+ exptree::iterator apply_post_default_rules_(exptree::iterator);
+ void extract_properties_(exptree::iterator);
+ exptree::iterator run_procedure(exptree::iterator, long);
+- bool handle_external_commands_(exptree::iterator&, exptree::iterator, exptree::iterator&);
++ bool handle_external_commands_(exptree::iterator &, exptree::iterator,
++ exptree::iterator &);
+ std::string texify(const std::string&) const;
+
+ /// Class to hold information about a dynamically added algorithm class.