diff options
Diffstat (limited to 'extra')
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 |