summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/boost/PKGBUILD7
-rw-r--r--extra/cmake/PKGBUILD30
-rw-r--r--extra/git/PKGBUILD18
-rw-r--r--extra/jsoncpp/PKGBUILD18
-rw-r--r--extra/libatomic_ops/PKGBUILD15
-rw-r--r--extra/libatomic_ops/libatomic_ops-7.6.4-libatomic.patch11
-rw-r--r--extra/libunwind/PKGBUILD5
-rw-r--r--extra/libuv/PKGBUILD20
-rw-r--r--extra/mariadb/PKGBUILD21
-rw-r--r--extra/mariadb/mariadb-10.1.32-atomic.patch79
-rw-r--r--extra/meson/PKGBUILD6
-rw-r--r--extra/namcap/PKGBUILD4
-rw-r--r--extra/nasm/PKGBUILD20
-rw-r--r--extra/pyopenssl/PKGBUILD5
-rw-r--r--extra/python-attrs/PKGBUILD4
-rw-r--r--extra/python-cffi/PKGBUILD4
-rw-r--r--extra/python-cryptography/PKGBUILD4
-rw-r--r--extra/python-lxml/PKGBUILD4
-rw-r--r--extra/python-packaging/PKGBUILD4
-rw-r--r--extra/python-pip/PKGBUILD9
-rw-r--r--extra/python-pyparsing/PKGBUILD51
-rw-r--r--extra/python-requests/PKGBUILD4
-rw-r--r--extra/python-setuptools/PKGBUILD4
-rw-r--r--extra/python-six/PKGBUILD4
-rw-r--r--extra/python-urllib3/PKGBUILD16
-rw-r--r--extra/python/PKGBUILD26
-rw-r--r--extra/python2/PKGBUILD35
-rw-r--r--extra/qt5-declarative/Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch122
-rw-r--r--extra/qt5-declarative/PKGBUILD13
-rw-r--r--extra/valgrind/PKGBUILD6
-rw-r--r--extra/w3m/PKGBUILD5
31 files changed, 574 insertions, 0 deletions
diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD
new file mode 100644
index 00000000..e2ce4fe0
--- /dev/null
+++ b/extra/boost/PKGBUILD
@@ -0,0 +1,7 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # no openmpi, no numpy
+ makedepends=(${makedepends[@]//openmpi/})
+ makedepends=(${makedepends[@]//python-numpy/})
+ makedepends=(${makedepends[@]//python2-numpy/})
+fi
diff --git a/extra/cmake/PKGBUILD b/extra/cmake/PKGBUILD
new file mode 100644
index 00000000..e8479e7b
--- /dev/null
+++ b/extra/cmake/PKGBUILD
@@ -0,0 +1,30 @@
+# Patch: https://gitlab.kitware.com/cmake/cmake/commit/2c36dabbeef72e2d9c9697e6dcc5c67fd0a912dd
+
+source+=('cmake-3.11.4-find-libuv.patch')
+sha512sums+=('0477e9380834f8621251a7d81f83bc3851c1d7bba78756616b61dd97680dc3c00d2da222a9e40b615e7020691dbcb0131abcd199cee6a723578d724fcaee7288')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i "$srcdir/cmake-3.11.4-find-libuv.patch"
+}
+
+# 486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # no Python Shinx
+ makedepends=(${makedepends[@]//python-sphinx/})
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--sphinx-man//
+ '
+ )"
+
+ # no Qt5 GUI
+ makedepends=(${makedepends[@]//qt5-base/})
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--qt-gui//
+ '
+ )"
+fi
diff --git a/extra/git/PKGBUILD b/extra/git/PKGBUILD
new file mode 100644
index 00000000..d78c5181
--- /dev/null
+++ b/extra/git/PKGBUILD
@@ -0,0 +1,18 @@
+# 486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # we currently have no Gnome and libsecret, so disable integration
+ makedepends=(${makedepends[@]//libgnome-keyring/})
+ makedepends=(${makedepends[@]//libsecret/})
+ eval "$(
+ declare -f build | \
+ sed '
+ s@\(make -C contrib/credential/gnome-keyring\)@#\1@
+ s@\(make -C contrib/credential/libsecret\)@#\1@
+ '
+ declare -f package | \
+ sed '
+ /gnome-keyring/d
+ /libsecret/d
+ '
+ )"
+fi
diff --git a/extra/jsoncpp/PKGBUILD b/extra/jsoncpp/PKGBUILD
new file mode 100644
index 00000000..a9b60ed8
--- /dev/null
+++ b/extra/jsoncpp/PKGBUILD
@@ -0,0 +1,18 @@
+# 486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # no doxygen or graphviz
+ makedepends=(${makedepends[@]//doxygen/})
+ makedepends=(${makedepends[@]//graphviz/})
+ eval "$(
+ declare -f build | \
+ sed '
+ /python doxybuild.py/d
+ '
+ declare -f package_jsoncpp-doc | \
+ sed '
+ /cp -a dist\/doxygen/d
+ '
+ )"
+fi
+
+
diff --git a/extra/libatomic_ops/PKGBUILD b/extra/libatomic_ops/PKGBUILD
new file mode 100644
index 00000000..cb18a7d9
--- /dev/null
+++ b/extra/libatomic_ops/PKGBUILD
@@ -0,0 +1,15 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # missing a -latomic when linking tests
+ source+=('libatomic_ops-7.6.4-libatomic.patch')
+ sha256sums+=('9309b11f4794c14c09f49df21aa9adb9e490db1d0bffa707af0a36db40e950cc')
+
+ eval "$(
+ declare -f prepare | \
+ sed '
+ /}/ i \
+ patch -Np1 -i "$srcdir/libatomic_ops-7.6.4-libatomic.patch" \
+ autoreconf
+ '
+ )"
+fi
diff --git a/extra/libatomic_ops/libatomic_ops-7.6.4-libatomic.patch b/extra/libatomic_ops/libatomic_ops-7.6.4-libatomic.patch
new file mode 100644
index 00000000..7b2674c2
--- /dev/null
+++ b/extra/libatomic_ops/libatomic_ops-7.6.4-libatomic.patch
@@ -0,0 +1,11 @@
+diff -rauN libatomic_ops-7.6.4/tests/Makefile.am libatomic_ops-7.6.4-libatomic-patch/tests/Makefile.am
+--- libatomic_ops-7.6.4/tests/Makefile.am 2018-03-27 09:06:11.000000000 +0000
++++ libatomic_ops-7.6.4-libatomic-patch/tests/Makefile.am 2018-07-18 19:39:32.145989353 +0000
+@@ -11,6 +11,7 @@
+ -I$(top_builddir)/tests -I$(top_srcdir)/tests
+
+ CFLAGS += $(CFLAGS_EXTRA)
++LDFLAGS += -latomic
+
+ TESTS = test_atomic$(EXEEXT) test_atomic_generalized$(EXEEXT) \
+ test_stack$(EXEEXT) test_malloc$(EXEEXT)
diff --git a/extra/libunwind/PKGBUILD b/extra/libunwind/PKGBUILD
new file mode 100644
index 00000000..8bf87ab2
--- /dev/null
+++ b/extra/libunwind/PKGBUILD
@@ -0,0 +1,5 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # no TeX for documentation
+ makedepends=(${makedepends[@]//texlive-core/})
+fi
diff --git a/extra/libuv/PKGBUILD b/extra/libuv/PKGBUILD
new file mode 100644
index 00000000..875804ad
--- /dev/null
+++ b/extra/libuv/PKGBUILD
@@ -0,0 +1,20 @@
+# 486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # archive link is wrong
+ source[0]="https://github.com/libuv/libuv/archive/v$pkgver.tar.gz"
+
+ # no python sphinx
+ makedepends=(${makedepends[@]//python-sphinx/})
+ eval "$(
+ declare -f build | \
+ sed '
+ /make man/d
+ '
+ declare -f package | \
+ sed '
+ /install.*libuv/d
+ '
+ )"
+fi
+
+
diff --git a/extra/mariadb/PKGBUILD b/extra/mariadb/PKGBUILD
new file mode 100644
index 00000000..f92fe1d3
--- /dev/null
+++ b/extra/mariadb/PKGBUILD
@@ -0,0 +1,21 @@
+# 486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # no java
+ eval "$(
+ declare -f build | \
+ sed '
+ s/cmake /cmake -DCONNECT_WITH_JDBC=0 /
+ '
+ )"
+
+ # add -latomic where needed
+ # e.g.TARGET_LINK_LIBRARIES(mariabackup sql crc atomic)
+ source+=('mariadb-10.1.32-atomic.patch')
+ sha256sums+=('194e43ca5468d4f4634f45eed6aaf08865c2d351fcc500696d4dc578fe94902e')
+ eval "$(
+ declare -f prepare | \
+ sed '
+ /patch -Np1.*openssl-1-1-0.patch/ a \ patch -Np1 -i "${srcdir}/mariadb-10.1.32-atomic.patch"
+ '
+ )"
+fi
diff --git a/extra/mariadb/mariadb-10.1.32-atomic.patch b/extra/mariadb/mariadb-10.1.32-atomic.patch
new file mode 100644
index 00000000..42baf27c
--- /dev/null
+++ b/extra/mariadb/mariadb-10.1.32-atomic.patch
@@ -0,0 +1,79 @@
+diff -rauN mariadb-10.1.32/extra/mariabackup/CMakeLists.txt mariadb-10.1.32-atomic-patch/extra/mariabackup/CMakeLists.txt
+--- mariadb-10.1.32/extra/mariabackup/CMakeLists.txt 2018-03-26 16:18:02.000000000 +0200
++++ mariadb-10.1.32-atomic-patch/extra/mariabackup/CMakeLists.txt 2018-03-28 20:44:20.926068353 +0200
+@@ -86,7 +86,7 @@
+ ADD_SUBDIRECTORY(crc)
+
+
+-TARGET_LINK_LIBRARIES(mariabackup sql crc)
++TARGET_LINK_LIBRARIES(mariabackup sql crc atomic)
+
+ IF(NOT HAVE_SYSTEM_REGEX)
+ TARGET_LINK_LIBRARIES(mariabackup pcreposix)
+diff -rauN mariadb-10.1.32/libmysqld/CMakeLists.txt mariadb-10.1.32-atomic-patch/libmysqld/CMakeLists.txt
+--- mariadb-10.1.32/libmysqld/CMakeLists.txt 2018-03-26 16:18:02.000000000 +0200
++++ mariadb-10.1.32-atomic-patch/libmysqld/CMakeLists.txt 2018-03-28 20:48:26.807077308 +0200
+@@ -184,7 +184,9 @@
+ SET_TARGET_PROPERTIES(libmysqld PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+ SET_TARGET_PROPERTIES(mysqlserver PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+ IF(LIBMYSQLD_SO_EXTRA_LIBS)
+- TARGET_LINK_LIBRARIES(libmysqld ${LIBMYSQLD_SO_EXTRA_LIBS})
++ TARGET_LINK_LIBRARIES(libmysqld ${LIBMYSQLD_SO_EXTRA_LIBS} atomic)
++ ELSE()
++ TARGET_LINK_LIBRARIES(libmysqld atomic)
+ ENDIF()
+ ENDIF()
+ ENDIF()
+diff -rauN mariadb-10.1.32/libmysqld/examples/CMakeLists.txt mariadb-10.1.32-atomic-patch/libmysqld/examples/CMakeLists.txt
+--- mariadb-10.1.32/libmysqld/examples/CMakeLists.txt 2018-03-26 16:18:02.000000000 +0200
++++ mariadb-10.1.32-atomic-patch/libmysqld/examples/CMakeLists.txt 2018-03-28 20:49:49.911092297 +0200
+@@ -27,14 +27,14 @@
+ MYSQL_ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc
+ ../../client/mysql.cc ../../client/readline.cc
+ COMPONENT Client)
+-TARGET_LINK_LIBRARIES(mysql_embedded mysqlserver)
++TARGET_LINK_LIBRARIES(mysql_embedded mysqlserver atomic)
+ IF(UNIX)
+ TARGET_LINK_LIBRARIES(mysql_embedded ${MY_READLINE_LIBRARY})
+ ENDIF(UNIX)
+
+ MYSQL_ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.cc
+ COMPONENT Test)
+-TARGET_LINK_LIBRARIES(mysqltest_embedded mysqlserver pcre pcreposix)
++TARGET_LINK_LIBRARIES(mysqltest_embedded mysqlserver pcre pcreposix atomic)
+
+ IF(CMAKE_GENERATOR MATCHES "Xcode")
+ # It does not seem possible to tell Xcode the resulting target might need
+@@ -53,7 +53,7 @@
+ COMPONENT Test)
+ SET_TARGET_PROPERTIES(mysql_client_test_embedded PROPERTIES HAS_CXX TRUE)
+ ENDIF()
+-TARGET_LINK_LIBRARIES(mysql_client_test_embedded mysqlserver)
++TARGET_LINK_LIBRARIES(mysql_client_test_embedded mysqlserver atomic)
+
+ IF(UNIX)
+ SET_TARGET_PROPERTIES(mysql_embedded PROPERTIES ENABLE_EXPORTS TRUE)
+diff -rauN mariadb-10.1.32/sql/CMakeLists.txt mariadb-10.1.32-atomic-patch/sql/CMakeLists.txt
+--- mariadb-10.1.32/sql/CMakeLists.txt 2018-03-26 16:18:03.000000000 +0200
++++ mariadb-10.1.32-atomic-patch/sql/CMakeLists.txt 2018-03-28 20:47:43.783551473 +0200
+@@ -276,7 +276,7 @@
+ ENDIF()
+ ENDIF(NOT WITHOUT_DYNAMIC_PLUGINS)
+
+-TARGET_LINK_LIBRARIES(mysqld sql)
++TARGET_LINK_LIBRARIES(mysqld sql atomic)
+
+ # Provide plugins with minimal set of libraries
+ SET(INTERFACE_LIBS ${LIBRT})
+diff -rauN mariadb-10.1.32/unittest/sql/CMakeLists.txt mariadb-10.1.32-atomic-patch/unittest/sql/CMakeLists.txt
+--- mariadb-10.1.32/unittest/sql/CMakeLists.txt 2018-03-26 16:18:05.000000000 +0200
++++ mariadb-10.1.32-atomic-patch/unittest/sql/CMakeLists.txt 2018-03-28 20:45:33.566958289 +0200
+@@ -27,7 +27,7 @@
+ ADD_EXECUTABLE(explain_filename-t explain_filename-t.cc)
+ ENDIF()
+
+-TARGET_LINK_LIBRARIES(explain_filename-t sql mytap)
++TARGET_LINK_LIBRARIES(explain_filename-t sql mytap atomic)
+ MY_ADD_TEST(explain_filename)
+
+ ADD_EXECUTABLE(mf_iocache-t mf_iocache-t.cc ../../sql/mf_iocache_encr.cc)
diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD
index 5f193aa9..049f3375 100644
--- a/extra/meson/PKGBUILD
+++ b/extra/meson/PKGBUILD
@@ -5,3 +5,9 @@ eval "$(
s,./run_tests.py,./run_tests.py || true,
'
)"
+
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # too many dependencies
+ unset check
+fi
diff --git a/extra/namcap/PKGBUILD b/extra/namcap/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/namcap/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/nasm/PKGBUILD b/extra/nasm/PKGBUILD
new file mode 100644
index 00000000..f644e426
--- /dev/null
+++ b/extra/nasm/PKGBUILD
@@ -0,0 +1,20 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # remove all fonts and ghostscript (we don't build the manual)
+ makedepends=(${makedepends[@]//perl-font-ttf/})
+ makedepends=(${makedepends[@]//perl-sort-versions/})
+ makedepends=(${makedepends[@]//fontconfig/})
+ makedepends=(${makedepends[@]//adobe-source-sans-pro-fonts/})
+ makedepends=(${makedepends[@]//ttf-liberation/})
+ makedepends=(${makedepends[@]//ghostscript/})
+
+ eval "$(
+ declare -f build | \
+ sed '
+ /make .*doc/d
+ '
+ )"
+fi
+
+# orginal download link unstable
+#sed -i 's@http://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${pkgname}-${pkgver}.tar.xz@https://ftp.osuosl.org/pub/blfs/conglomeration/${pkgname}/${pkgname}-${pkgver}.tar.xz@' PKGBUILD
diff --git a/extra/pyopenssl/PKGBUILD b/extra/pyopenssl/PKGBUILD
new file mode 100644
index 00000000..aa4776cc
--- /dev/null
+++ b/extra/pyopenssl/PKGBUILD
@@ -0,0 +1,5 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
+unset -f pkgver
diff --git a/extra/python-attrs/PKGBUILD b/extra/python-attrs/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-attrs/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-cffi/PKGBUILD b/extra/python-cffi/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-cffi/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-cryptography/PKGBUILD b/extra/python-cryptography/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-cryptography/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-lxml/PKGBUILD b/extra/python-lxml/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-lxml/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-packaging/PKGBUILD b/extra/python-packaging/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-packaging/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-pip/PKGBUILD b/extra/python-pip/PKGBUILD
new file mode 100644
index 00000000..55d77113
--- /dev/null
+++ b/extra/python-pip/PKGBUILD
@@ -0,0 +1,9 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ md5sums[1]='71cb8b43efaa6af0d6cd98576ca2f932'
+ sha256sums[1]='ff81c9d48be20765145cb04953c54c5b9059bd193e3d82cec870d3391e6e6dd1'
+
+ unset check
+fi
+
+
diff --git a/extra/python-pyparsing/PKGBUILD b/extra/python-pyparsing/PKGBUILD
new file mode 100644
index 00000000..7f88e0ac
--- /dev/null
+++ b/extra/python-pyparsing/PKGBUILD
@@ -0,0 +1,51 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # subversion introduces a crazy amount of build dependencies, take
+ # official tarball
+ makedepends=(${makedepends[@]//subversion/})
+ source=('https://pypi.python.org/packages/3c/ec/a94f8cf7274ea60b5413df054f82a8980523efd712ec55a59e7c3357cf7c/pyparsing-2.2.0.tar.gz')
+
+ eval "$(
+ declare -f prepare | \
+ sed '
+ s/pyparsing_$pkgver/pyparsing-$pkgver/g
+ s,pyparsing-$pkgver/src,pyparsing-$pkgver,g
+ s,pyparsing-$pkgver-py2/src,pyparsing-$pkgver-py2,g
+ /sed/d
+ '
+ )"
+
+ eval "$(
+ declare -f build | \
+ sed '
+ s/pyparsing_$pkgver/pyparsing-$pkgver/g
+ s,pyparsing-$pkgver/src,pyparsing-$pkgver,g
+ s,pyparsing-$pkgver-py2/src,pyparsing-$pkgver-py2,g
+ '
+ )"
+
+ eval "$(
+ declare -f package_python-pyparsing | \
+ sed '
+ s/pyparsing_$pkgver/pyparsing-$pkgver/g
+ s,pyparsing-$pkgver/src,pyparsing-$pkgver,g
+ '
+ )"
+
+ eval "$(
+ declare -f package_python2-pyparsing | \
+ sed '
+ s/pyparsing_$pkgver/pyparsing-$pkgver/g
+ s,pyparsing-$pkgver-py2/src,pyparsing-$pkgver-py2,g
+ '
+ )"
+
+ # needed?
+ # remove a really weird sed
+ #sed -i 's/sed/#sed/g' PKGBUILD
+
+ unset check
+fi
+
+
+
diff --git a/extra/python-requests/PKGBUILD b/extra/python-requests/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-requests/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-setuptools/PKGBUILD b/extra/python-setuptools/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-setuptools/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-six/PKGBUILD b/extra/python-six/PKGBUILD
new file mode 100644
index 00000000..ed73f8de
--- /dev/null
+++ b/extra/python-six/PKGBUILD
@@ -0,0 +1,4 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
diff --git a/extra/python-urllib3/PKGBUILD b/extra/python-urllib3/PKGBUILD
new file mode 100644
index 00000000..f7e86cb1
--- /dev/null
+++ b/extra/python-urllib3/PKGBUILD
@@ -0,0 +1,16 @@
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # disable sphinx for now, needs too many packages
+ makedepends=(${makedepends[@]//python2-sphinx/})
+
+ eval "$(
+ declare -f build | \
+ sed '
+ /make.*html/d
+ '
+ )"
+
+ pkgname=(${pkgname[@]//python-urllib3-doc})
+
+ unset check
+fi
diff --git a/extra/python/PKGBUILD b/extra/python/PKGBUILD
index 30e16fe8..407d9333 100644
--- a/extra/python/PKGBUILD
+++ b/extra/python/PKGBUILD
@@ -14,3 +14,29 @@ eval "$(
s/ -m test.regrtest/ -m test.regrtest -j1/
"
)"
+
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # remove dependency on most things, we want only a simple interpreter
+ # a little bit smarter than a shell for building and code generation
+ makedepends=(${makedepends[@]//tk/})
+ makedepends=(${makedepends[@]//bluez-libs/})
+ makedepends=(${makedepends[@]//llvm/})
+
+ # do not start X servers just for building software!
+ makedepends=(${makedepends[@]//xorg-server-xvfb/})
+ eval "$(
+ declare -f build | \
+ sed '
+ /export servernum=99/,/done/d
+ s/.*make/make/
+ '
+ )"
+ eval "$(
+ declare -f check | \
+ sed '
+ /export servernum=99/,/done/d
+ s/xvfb-run -s "-screen 0 1280x720x24 -ac +extension GLX" -a -n "$servernum"//
+ '
+ )"
+fi
diff --git a/extra/python2/PKGBUILD b/extra/python2/PKGBUILD
index c93cac57..8dea0a15 100644
--- a/extra/python2/PKGBUILD
+++ b/extra/python2/PKGBUILD
@@ -30,3 +30,38 @@ eval "$(
s/ -m test.regrtest/ -m test.regrtest -j1/
"
)"
+
+# i486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # remove dependency on most things, we want only a simple interpreter
+ # a little bit smarter than a shell for building and code generation
+ makedepends=(${makedepends[@]//tk/})
+ makedepends=(${makedepends[@]//bluez-libs/})
+ makedepends=(${makedepends[@]//llvm/})
+
+ # do not start X servers just for building software!
+ checkdepends=(${checkdepends[@]//xorg-server-xvfb/})
+ eval "$(
+ declare -f build | \
+ sed '
+ /export servernum=99/,/done/d
+ s/.*make/make/
+ '
+ )"
+ eval "$(
+ declare -f check | \
+ sed '
+ /export servernum=99/,/done/d
+ s/xvfb-run//
+ '
+ )"
+
+ # ignore even more tests
+ eval "$(
+ declare -f check | \
+ sed '
+ s/-v -uall -x/-v -uall -x test_gdb test_ssl test_urllib2net/
+ '
+ )"
+fi
+
diff --git a/extra/qt5-declarative/Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch b/extra/qt5-declarative/Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch
new file mode 100644
index 00000000..a4ce8465
--- /dev/null
+++ b/extra/qt5-declarative/Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch
@@ -0,0 +1,122 @@
+From 4950c366b12265f1ea390a6feb8dbbd0d850d206 Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Mon, 12 Oct 2015 01:45:37 +0200
+Subject: [PATCH v2] Do not make lack of SSE2 support on x86-32 fatal
+
+When an x86-32 CPU does not have SSE2 support (which is the case for
+all AMD CPUs, and older Intel CPUs), fallback to use the interpreter,
+otherwise use the JIT engine.
+
+Even then, make the lack of SSE2 support on x86-32 fatal when trying
+to instantiate a JIT engine, which does require it.
+
+Refactor the required CPU support check into a new pair of privately
+exported functions to avoid duplicating the logic, and do so in
+functions instead of class members to avoid changing the class
+signatures.
+
+Version: 5.7.x
+Bug-Debian: https://bugs.debian.org/792594
+---
+ src/qml/jit/qv4isel_masm.cpp | 2 ++
+ src/qml/jit/qv4isel_masm_p.h | 18 ++++++++++++++++++
+ src/qml/jsruntime/qv4engine.cpp | 1 +
+ src/qml/qml/v8/qv8engine.cpp | 7 -------
+ tools/qmljs/qmljs.cpp | 7 +++----
+ 5 files changed, 24 insertions(+), 11 deletions(-)
+
+--- a/src/qml/jit/qv4isel_masm.cpp
++++ b/src/qml/jit/qv4isel_masm.cpp
+@@ -72,6 +72,8 @@ InstructionSelection<JITAssembler>::Inst
+ , compilationUnit(new CompilationUnit)
+ , qmlEngine(qmlEngine)
+ {
++ checkRequiredCpuSupport();
++
+ compilationUnit->codeRefs.resize(module->functions.size());
+ module->unitFlags |= QV4::CompiledData::Unit::ContainsMachineCode;
+ }
+--- a/src/qml/jit/qv4isel_masm_p.h
++++ b/src/qml/jit/qv4isel_masm_p.h
+@@ -60,6 +60,7 @@
+
+ #include <QtCore/QHash>
+ #include <QtCore/QStack>
++#include <private/qsimd_p.h>
+ #include <config.h>
+ #include <wtf/Vector.h>
+
+@@ -72,6 +73,23 @@ QT_BEGIN_NAMESPACE
+ namespace QV4 {
+ namespace JIT {
+
++Q_QML_PRIVATE_EXPORT inline bool hasRequiredCpuSupport()
++{
++#ifdef Q_PROCESSOR_X86_32
++ return qCpuHasFeature(SSE2);
++#else
++ return true;
++#endif
++}
++
++Q_QML_PRIVATE_EXPORT inline void checkRequiredCpuSupport()
++{
++#ifdef Q_PROCESSOR_X86_32
++ if (!qCpuHasFeature(SSE2))
++ qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer");
++#endif
++}
++
+ template <typename JITAssembler = Assembler<DefaultAssemblerTargetConfiguration>>
+ class Q_QML_EXPORT InstructionSelection:
+ protected IR::IRDecoder,
+--- a/src/qml/jsruntime/qv4engine.cpp
++++ b/src/qml/jsruntime/qv4engine.cpp
+@@ -159,6 +159,7 @@
+
+ #ifdef V4_ENABLE_JIT
+ static const bool forceMoth = !qEnvironmentVariableIsEmpty("QV4_FORCE_INTERPRETER") ||
++ !JIT::hasRequiredCpuSupport() ||
+ !OSAllocator::canAllocateExecutableMemory();
+ if (forceMoth) {
+ factory = new Moth::ISelFactory;
+--- a/src/qml/qml/v8/qv8engine.cpp
++++ b/src/qml/qml/v8/qv8engine.cpp
+@@ -64,7 +64,6 @@
+ #include <QtCore/qjsonvalue.h>
+ #include <QtCore/qdatetime.h>
+ #include <QtCore/qdatastream.h>
+-#include <private/qsimd_p.h>
+
+ #include <private/qv4value_p.h>
+ #include <private/qv4dateobject_p.h>
+@@ -129,12 +128,6 @@ QV8Engine::QV8Engine(QJSEngine* qq)
+ , m_xmlHttpRequestData(0)
+ , m_listModelData(0)
+ {
+-#ifdef Q_PROCESSOR_X86_32
+- if (!qCpuHasFeature(SSE2)) {
+- qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer");
+- }
+-#endif
+-
+ QML_MEMORY_SCOPE_STRING("QV8Engine::QV8Engine");
+ qMetaTypeId<QJSValue>();
+ qMetaTypeId<QList<int> >();
+--- a/tools/qmljs/qmljs.cpp
++++ b/tools/qmljs/qmljs.cpp
+@@ -92,11 +92,10 @@ int main(int argc, char *argv[])
+ enum {
+ use_masm,
+ use_moth
+- } mode;
++ } mode = use_moth;
+ #ifdef V4_ENABLE_JIT
+- mode = use_masm;
+-#else
+- mode = use_moth;
++ if (QV4::JIT::hasRequiredCpuSupport())
++ mode = use_masm;
+ #endif
+
+ bool runAsQml = false;
diff --git a/extra/qt5-declarative/PKGBUILD b/extra/qt5-declarative/PKGBUILD
new file mode 100644
index 00000000..4b0c4b87
--- /dev/null
+++ b/extra/qt5-declarative/PKGBUILD
@@ -0,0 +1,13 @@
+# see https://bugreports.qt.io/browse/QTBUG-35430
+# and https://lists.debian.org/debian-qt-kde/2015/10/msg00388.html
+# and https://packages.debian.org/sid/qtdeclarative5-dev
+
+source+=(Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch)
+sha256sums+=('26120747f744571f2ead15c904fcd8d60e0c94fb538c711ae6051ab02d418e0d')
+
+eval "$(
+ declare -f prepare | \
+ sed '
+ /cd/a patch -Np1 -i ../Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch
+ '
+)"
diff --git a/extra/valgrind/PKGBUILD b/extra/valgrind/PKGBUILD
index d13816e2..82e85edc 100644
--- a/extra/valgrind/PKGBUILD
+++ b/extra/valgrind/PKGBUILD
@@ -17,3 +17,9 @@ replaces=("${replaces[@]/$pkgname-multilib}")
unset checkdepends
unset check
+
+# 486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # disable OpenMPI support
+ makedepends=(${makedepends[@]//openmpi/})
+fi
diff --git a/extra/w3m/PKGBUILD b/extra/w3m/PKGBUILD
new file mode 100644
index 00000000..913d7e12
--- /dev/null
+++ b/extra/w3m/PKGBUILD
@@ -0,0 +1,5 @@
+# 486-specific
+if [ "${CARCH}" = "i486" ]; then
+ # no imlib2
+ makedepends=(${makedepends[@]//imlib2/})
+fi