[arch-commits] Commit in zn_poly/trunk (PKGBUILD zn_poly-python3.patch)

Antonio Rojas arojas at archlinux.org
Mon Dec 23 07:31:35 UTC 2019


    Date: Monday, December 23, 2019 @ 07:31:35
  Author: arojas
Revision: 538949

Port build script to python3

Added:
  zn_poly/trunk/zn_poly-python3.patch
Modified:
  zn_poly/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |   17 +
 zn_poly-python3.patch |  433 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 445 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-12-23 02:31:56 UTC (rev 538948)
+++ PKGBUILD	2019-12-23 07:31:35 UTC (rev 538949)
@@ -9,13 +9,20 @@
 url="https://gitlab.com/sagemath/zn_poly/"
 license=(GPL)
 depends=(gmp)
-makedepends=(python2)
-source=("https://gitlab.com/sagemath/zn_poly/-/archive/$pkgver/$pkgname-$pkgver.tar.gz")
-sha256sums=('d11aea5646cd72ea44ce8dd0d996cf2ea498e882ed96304a74481c4eb6e01093')
+makedepends=(python)
+source=("https://gitlab.com/sagemath/zn_poly/-/archive/$pkgver/$pkgname-$pkgver.tar.gz"
+         zn_poly-python3.patch)
+sha256sums=('d11aea5646cd72ea44ce8dd0d996cf2ea498e882ed96304a74481c4eb6e01093'
+            'c72736011693c9d603f0f4f8e58208b7e7923747fac2d63aadc3fec13f3d9e77')
 
+prepare() {
+  cd $pkgname-$pkgver
+  patch -p1 -i ../zn_poly-python3.patch # Fix build with python3
+}
+
 build() {
   cd $pkgname-$pkgver
-  python2 makemakefile.py --prefix=/usr --cflags="$CFLAGS -fPIC" --cxxflags="$CXXFLAGS" --ldflags="$LDFLAGS" > makefile
+  python makemakefile.py --prefix=/usr --cflags="$CFLAGS -fPIC" --cxxflags="$CXXFLAGS" --ldflags="$LDFLAGS" > makefile
   make
   make libzn_poly.so
 }
@@ -22,7 +29,7 @@
 
 package() {
   cd $pkgname-$pkgver
-  python2 makemakefile.py --prefix="$pkgdir"/usr > makefile
+  python makemakefile.py --prefix="$pkgdir"/usr > makefile
   make install
 # Install shared library
   cp libzn_poly.so "$pkgdir"/usr/lib

Added: zn_poly-python3.patch
===================================================================
--- zn_poly-python3.patch	                        (rev 0)
+++ zn_poly-python3.patch	2019-12-23 07:31:35 UTC (rev 538949)
@@ -0,0 +1,433 @@
+commit f2bada31fd09f09c744d8ff0e1fab82c53dbf830
+Author: Jeroen Demeyer <J.Demeyer at UGent.be>
+Date:   Tue Feb 12 15:08:39 2019 +0100
+
+    Make makemakefile.py compatible with Python 3
+
+diff --git a/makemakefile.py b/makemakefile.py
+index fa2b851..acb6084 100644
+--- a/makemakefile.py
++++ b/makemakefile.py
+@@ -147,213 +147,221 @@ cpp_libs = libs + " -L" + ntl_lib_dir + " -lntl"
+ 
+ import time
+ 
+-print "#"
+-print "# Do not edit directly -- this file was auto-generated"
+-print "# by makemakefile.py on " + time.strftime("%a, %d %b %Y %H:%M:%S +0000",
+-                                                 time.gmtime())
+-print "#"
+-print "# (makemakefile.py patched for Sage, 04/2012)"
+-print
+-
+-print
+-print "CC ?= gcc"
+-print "CPP ?= cpp"
+-print "CFLAGS = " + cflags
+-print "CPPFLAGS = " + cppflags
+-print "LDFLAGS = " + ldflags
+-print "INCLUDES = " + includes # These are options to the C preprocessor.
+-print "LIBS = " + libs # These are linker options passed to the compiler.
+-print
+-print "AR ?= ar"
+-print "RANLIB ?= ranlib"
+-print
+-print "SHARED_FLAG ?= -shared"
+-print "SONAME_FLAG ?= -soname" # '-h' for the Sun/Solaris linker
+-
+-print
+-print "CXX ?= g++"             # The C++ compiler.
+-print "CXXFLAGS = " + cxxflags # Options passed to the C++ compiler.
+-print "CPP_INCLUDES = " + cpp_includes
+-print "CPP_LIBS = " + cpp_libs
+-
+-print
+-print "HEADERS = " + " ".join(install_headers + other_headers)
+-print "LIBOBJS = " + " ".join([x + ".o" for x in lib_modules])
+-print "TESTOBJS = " + " ".join([x + "-DEBUG.o" for x in
+-   lib_modules + test_modules + testprof_modules])
+-print "PROFOBJS = " + " ".join([x + ".o" for x in
+-   lib_modules + prof_modules + noncpp_prof_modules + testprof_modules])
+-print "CPP_PROFOBJS = " + " ".join([x + ".o" for x in
+-   lib_modules + prof_modules + cpp_prof_modules + testprof_modules])
+-print "TUNEOBJS = " + " ".join([x + ".o" for x in
+-   lib_modules + tune_modules + testprof_modules + prof_modules +
+-   noncpp_prof_modules if x not in ("src/tuning", "profile/prof_main")])
+-print "ZN_POLY_TUNING = " + str(int(zn_poly_tuning))
+-print "ZN_POLY_VERSION = " + version
+-print "ZN_POLY_ABI_VERSION = " + abi_version
+-
+-print
+-print "all: libzn_poly.a"
+-print
+-print "test: test/test"
+-print "tune: tune/tune"
+-print
+-print "check: test"
+-print "\ttest/test -quick all"
+-print
+-print "install:"
+-print "\tmkdir -p %s/include/zn_poly" % prefix
+-print "\tmkdir -p %s/lib" % prefix
+-print "\tcp libzn_poly.a %s/lib" % prefix
+-print "\tcp include/zn_poly.h %s/include/zn_poly" % prefix
+-print "\tcp include/wide_arith.h %s/include/zn_poly" % prefix
+-print
+-print "clean:"
+-print "\trm -f *.o"
+-print "\trm -f test/*.o"
+-print "\trm -f profile/*.o"
+-print "\trm -f tune/*.o"
+-print "\trm -f src/tuning.c"
+-print "\trm -f src/*.o"
+-print "\trm -f demo/bernoulli/*.o"
+-print "\trm -f libzn_poly.a"
+-print "\trm -f libzn_poly.dylib"
+-print "\trm -f libzn_poly*.so*"
+-print "\trm -f libzn_poly*.dll.a"
+-print "\trm -f cygzn_poly.dll"
+-print "\trm -f test/test"
+-print "\trm -f tune/tune"
++now = time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime())
++print(
++"""#
++# Do not edit directly -- this file was auto-generated
++# by {} on {}
++#
++# (makemakefile.py patched for Sage, 04/2012)
++""".format(__file__, now))
++
++
++print(
++"""
++CC ?= gcc
++CPP ?= cpp
++CFLAGS = {}
++CPPFLAGS = {}
++LDFLAGS = {}
++INCLUDES = {}  # These are options to the C preprocessor.
++LIBS = {}  # These are linker options passed to the compiler.
++
++AR ?= ar
++RANLIB ?= ranlib
++
++SHARED_FLAG ?= -shared
++SONAME_FLAG ?= -soname  # '-h' for the Sun/Solaris linker
++""".format(cflags, cppflags, ldflags, includes, libs))
++
++
++print(
++"""CXX ?= g++  # The C++ compiler.
++CXXFLAGS = {}  # Options passed to the C++ compiler.
++CPP_INCLUDES = {}
++CPP_LIBS = {}
++""".format(cxxflags, cpp_includes, cpp_libs))
++
++
++print(
++"""HEADERS = {}
++LIBOBJS = {}
++TESTOBJS = {}
++PROFOBJS = {}
++CPP_PROFOBJS = {}
++TUNEOBJS = {}""".format(
++    " ".join(install_headers + other_headers),
++    " ".join([x + ".o" for x in lib_modules]),
++    " ".join([x + "-DEBUG.o" for x in
++              lib_modules + test_modules + testprof_modules]),
++    " ".join([x + ".o" for x in
++              lib_modules + prof_modules + noncpp_prof_modules + testprof_modules]),
++    " ".join([x + ".o" for x in
++              lib_modules + prof_modules + cpp_prof_modules + testprof_modules]),
++    " ".join([x + ".o" for x in
++              lib_modules + tune_modules + testprof_modules + prof_modules +
++              noncpp_prof_modules if x not in ("src/tuning", "profile/prof_main")])
++))
++
++
++print(
++"""ZN_POLY_TUNING = {}
++ZN_POLY_VERSION = {}
++ZN_POLY_ABI_VERSION = {}
++""".format(int(zn_poly_tuning), version, abi_version))
++
++
++print(
++"""all: libzn_poly.a
++
++test: test/test
++tune: tune/tune
++
++check: test
++\ttest/test -quick all
++
++install:
++\tmkdir -p {prefix}/include/zn_poly
++\tmkdir -p {prefix}/lib
++\tcp libzn_poly.a {prefix}/lib
++\tcp include/zn_poly.h {prefix}/include/zn_poly
++\tcp include/wide_arith.h {prefix}/include/zn_poly
++""".format(prefix=prefix))
++
++
++print(
++"""clean:
++\trm -f *.o
++\trm -f test/*.o
++\trm -f profile/*.o
++\trm -f tune/*.o
++\trm -f src/tuning.c
++\trm -f src/*.o
++\trm -f demo/bernoulli/*.o
++\trm -f libzn_poly.a
++\trm -f libzn_poly.dylib
++\trm -f libzn_poly*.so*
++\trm -f libzn_poly*.dll.a
++\trm -f cygzn_poly.dll
++\trm -f test/test
++\trm -f tune/tune""")
+ for x in prof_progs:
+-   print "\trm -f " + x
+-   print "\trm -f " + x + "-ntl"
++   print("\trm -f " + x)
++   print("\trm -f " + x + "-ntl")
+ for x in demo_progs:
+-   print "\trm -f " + x
+-print
+-print "distclean: clean"
+-print "\trm -f makefile"
+-print
+-print "dist: distclean"
+-print "\ttar --exclude-vcs --exclude=.gitignore -czf zn_poly-$(ZN_POLY_VERSION).tar.gz *"
+-
+-
+-print
+-print
+-print "##### library targets"
+-print
+-print "ifeq ($(ZN_POLY_TUNING), 1)"
+-print "src/tuning.c: tune/tune"
+-print "\ttune/tune > src/tuning.c"
+-print "else"
+-print "src/tuning.c: tune/tuning.c"
+-print "\tcp tune/tuning.c src/tuning.c"
+-print "endif"
+-print
+-print "libzn_poly.a: $(LIBOBJS)"
+-print "\t$(AR) -r libzn_poly.a $(LIBOBJS)"
+-print "\t$(RANLIB) libzn_poly.a"
+-print
+-print "# TODO: Put '-single_module -fPIC -dynamiclib' into $(SHARED_FLAG)"
+-print "#       and use that; also support $(SO_EXTENSION)..."
+-print "libzn_poly.dylib: $(LIBOBJS)"
+-print "\t$(CC) $(LDFLAGS) -single_module -fPIC -dynamiclib -o libzn_poly.dylib " \
+-      "$(LIBOBJS) $(LIBS)"
+-print
+-print "# Left for compatibility with previous versions of Sage's 'spkg-install':"
+-print "libzn_poly.dylib64: $(LIBOBJS)"
+-print "\t$(CC) -m64 -single_module -fPIC -dynamiclib -o libzn_poly.dylib $(LIBOBJS) $(LIBS)"
+-print
+-print "cygzn_poly.dll: $(LIBOBJS)"
+-print "\t$(CC) $(SHARED_FLAG) $(LDFLAGS) " \
+-      "-Wl,--out-implib,libzn_poly-$(ZN_POLY_VERSION).dll.a " \
+-      "-o cygzn_poly.dll $(LIBOBJS) $(LIBS)"
+-print
+-print "libzn_poly-$(ZN_POLY_VERSION).dll.a: cygzn_poly.dll"
+-print
+-print "libzn_poly.dll.a: libzn_poly-$(ZN_POLY_VERSION).dll.a"
+-print "\tln -sf libzn_poly-$(ZN_POLY_VERSION).dll.a libzn_poly.dll.a"
+-print "\tln -sf libzn_poly-$(ZN_POLY_VERSION).dll.a libzn_poly-$(ZN_POLY_ABI_VERSION).dll.a"
+-print
+-print "libzn_poly.so: libzn_poly-$(ZN_POLY_VERSION).so"
+-print "\tln -sf libzn_poly-$(ZN_POLY_VERSION).so libzn_poly.so"
+-print "\tln -sf libzn_poly-$(ZN_POLY_VERSION).so libzn_poly-$(ZN_POLY_ABI_VERSION).so"
+-
+-print
+-print "libzn_poly-$(ZN_POLY_VERSION).so: $(LIBOBJS)"
+-print "\t$(CC) $(SHARED_FLAG) $(LDFLAGS) -Wl,-soname,libzn_poly-$(ZN_POLY_ABI_VERSION).so " \
+-      "-o libzn_poly-$(ZN_POLY_VERSION).so $(LIBOBJS) $(LIBS)"
+-
+-print
+-print
+-print "##### test program"
+-print
+-print "test/test: $(TESTOBJS) $(HEADERS)"
+-print "\t$(CC) -g $(LDFLAGS) -o test/test $(TESTOBJS) $(LIBS)"
+-
+-print
+-print
+-print "##### profiling programs"
+-print
++   print("\trm -f " + x)
++print(
++"""
++distclean: clean
++\trm -f makefile
++
++dist: distclean
++\ttar --exclude-vcs --exclude=.gitignore -czf zn_poly-$(ZN_POLY_VERSION).tar.gz *
++
++
++##### library targets
++
++ifeq ($(ZN_POLY_TUNING), 1)
++src/tuning.c: tune/tune
++\ttune/tune > src/tuning.c
++else
++src/tuning.c: tune/tuning.c
++\tcp tune/tuning.c src/tuning.c
++endif
++
++libzn_poly.a: $(LIBOBJS)
++\t$(AR) -r libzn_poly.a $(LIBOBJS)
++\t$(RANLIB) libzn_poly.a
++
++# TODO: Put '-single_module -fPIC -dynamiclib' into $(SHARED_FLAG)
++#       and use that; also support $(SO_EXTENSION)...
++libzn_poly.dylib: $(LIBOBJS)
++\t$(CC) $(LDFLAGS) -single_module -fPIC -dynamiclib -o libzn_poly.dylib $(LIBOBJS) $(LIBS)
++
++# Left for compatibility with previous versions of Sage's 'spkg-install':
++libzn_poly.dylib64: $(LIBOBJS)
++\t$(CC) -m64 -single_module -fPIC -dynamiclib -o libzn_poly.dylib $(LIBOBJS) $(LIBS)
++
++cygzn_poly.dll: $(LIBOBJS)
++\t$(CC) $(SHARED_FLAG) $(LDFLAGS) -Wl,--out-implib,libzn_poly-$(ZN_POLY_VERSION).dll.a -o cygzn_poly.dll $(LIBOBJS) $(LIBS)
++
++libzn_poly-$(ZN_POLY_VERSION).dll.a: cygzn_poly.dll
++
++libzn_poly.dll.a: libzn_poly-$(ZN_POLY_VERSION).dll.a
++\tln -sf libzn_poly-$(ZN_POLY_VERSION).dll.a libzn_poly.dll.a
++\tln -sf libzn_poly-$(ZN_POLY_VERSION).dll.a libzn_poly-$(ZN_POLY_ABI_VERSION).dll.a
++
++libzn_poly.so: libzn_poly-$(ZN_POLY_VERSION).so
++\tln -sf libzn_poly-$(ZN_POLY_VERSION).so libzn_poly.so
++\tln -sf libzn_poly-$(ZN_POLY_VERSION).so libzn_poly-$(ZN_POLY_ABI_VERSION).so
++
++libzn_poly-$(ZN_POLY_VERSION).so: $(LIBOBJS)
++\t$(CC) $(SHARED_FLAG) $(LDFLAGS) -Wl,-soname,libzn_poly-$(ZN_POLY_ABI_VERSION).so -o libzn_poly-$(ZN_POLY_VERSION).so $(LIBOBJS) $(LIBS)
++
++
++##### test program
++
++test/test: $(TESTOBJS) $(HEADERS)
++\t$(CC) -g $(LDFLAGS) -o test/test $(TESTOBJS) $(LIBS)
++
++
++##### profiling programs
++""")
++
+ for x in prof_progs:
+-   print "%s-main.o: %s-main.c $(HEADERS)" % (x, x)
+-   print "\t$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DNDEBUG -o %s-main.o -c %s-main.c" \
+-         % (x, x)
+-   print
+-   print "%s: %s-main.o $(PROFOBJS)" % (x, x)
+-   print "\t$(CC) $(CFLAGS) $(LDFLAGS) -o %s %s-main.o $(PROFOBJS) $(LIBS)" \
+-         % (x, x)
+-   print
+-   print "%s-main-ntl.o: %s-main.c $(HEADERS)" % (x, x)
+-   print "\t$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DPROFILE_NTL -DNDEBUG " \
+-         "-o %s-main-ntl.o -c %s-main.c" % (x, x)
+-   print
+-   print "%s-ntl: %s-main-ntl.o $(CPP_PROFOBJS)" % (x, x)
+-   print "\t$(CXX) $(CXXFLAGS) $(LDFLAGS) -o %s-ntl %s-main-ntl.o " \
+-         "$(CPP_PROFOBJS) $(CPP_LIBS)" % (x, x)
+-   print
+-
+-print
+-print
+-print "##### tuning utility"
+-print
+-print "tune/tune: $(TUNEOBJS)"
+-print "\t$(CC) $(CFLAGS) $(LDFLAGS) -o tune/tune $(TUNEOBJS) $(LIBS)"
+-
+-
+-print
+-print
+-print "##### demo programs"
++    print(
++"""{0}-main.o: {0}-main.c $(HEADERS)
++\t$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DNDEBUG -o {0}-main.o -c {0}-main.c
++
++{0}: {0}-main.o $(PROFOBJS)
++\t$(CC) $(CFLAGS) $(LDFLAGS) -o {0} {0}-main.o $(PROFOBJS) $(LIBS)
++
++{0}-main-ntl.o: {0}-main.c $(HEADERS)
++\t$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DPROFILE_NTL -DNDEBUG -o {0}-main-ntl.o -c {0}-main.c
++
++{0}-ntl: {0}-main-ntl.o $(CPP_PROFOBJS)
++\t$(CXX) $(CXXFLAGS) $(LDFLAGS) -o {0}-ntl {0}-main-ntl.o $(CPP_PROFOBJS) $(CPP_LIBS)
++""".format(x))
++
++
++print(
++"""
++
++##### tuning utility
++
++tune/tune: $(TUNEOBJS)
++\t$(CC) $(CFLAGS) $(LDFLAGS) -o tune/tune $(TUNEOBJS) $(LIBS)
++
++
++##### demo programs
++""")
+ for x in demo_progs:
+-   print
+-   print "%s: %s.o $(LIBOBJS)" % (x, x)
+-   print "\t$(CC) $(CFLAGS) $(LDFLAGS) -o %s %s.o $(LIBOBJS) $(LIBS)" % (x, x)
++    print(
++"""{0}: {0}.o $(LIBOBJS)
++\t$(CC) $(CFLAGS) $(LDFLAGS) -o {0} {0}.o $(LIBOBJS) $(LIBS)
++""".format(x))
+ 
+ 
+-print
+-print
+-print "##### object files (with debug code)"
++print("\n##### object files (with debug code)\n")
+ for x in lib_modules + test_modules + testprof_modules + demo_progs:
+-   print
+-   print "%s-DEBUG.o: %s.c $(HEADERS)" % (x, x)
+-   print "\t$(CC) -g $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DDEBUG -o %s-DEBUG.o -c %s.c" \
+-         % (x, x)
+-
+-print
+-print
+-print "##### object files (no debug code)"
+-for x in lib_modules + prof_modules + testprof_modules + \
+-                       tune_modules + demo_progs:
+-   print
+-   print "%s.o: %s.c $(HEADERS)" % (x, x)
+-   print "\t$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DNDEBUG -o %s.o -c %s.c" % (x, x)
+-
+-print
+-print
+-print "##### object files (C++, no debug code)"
+-for x in cpp_prof_modules:
+-   print
+-   print "%s.o: %s.c $(HEADERS)" % (x, x)
+-   print "\t$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(CPP_INCLUDES) -DNDEBUG -o %s.o -c %s.c" \
+-         % (x, x)
++   print(
++"""{0}-DEBUG.o: {0}.c $(HEADERS)
++\t$(CC) -g $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DDEBUG -o {0}-DEBUG.o -c {0}.c
++""".format(x))
++
+ 
++print("\n##### object files (no debug code)\n")
++for x in (lib_modules + prof_modules + testprof_modules +
++          tune_modules + demo_progs):
++   print(
++"""{0}.o: {0}.c $(HEADERS)
++\t$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -DNDEBUG -o {0}.o -c {0}.c
++""".format(x))
+ 
+-### end of file
++
++print("\n##### object files (C++, no debug code)\n")
++for x in cpp_prof_modules:
++   print(
++"""{0}.o: {0}.c $(HEADERS)
++\t$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(CPP_INCLUDES) -DNDEBUG -o {0}.o -c {0}.c
++""".format(x))


More information about the arch-commits mailing list