aboutsummaryrefslogtreecommitdiff
path: root/development/mysql-workbench
diff options
context:
space:
mode:
Diffstat (limited to 'development/mysql-workbench')
-rw-r--r--development/mysql-workbench/0003-swig-4-3.patch44
-rw-r--r--development/mysql-workbench/0005-gcc-15.patch11
-rw-r--r--development/mysql-workbench/README7
-rw-r--r--development/mysql-workbench/mysql-workbench.SlackBuild37
-rw-r--r--development/mysql-workbench/mysql-workbench.info22
5 files changed, 101 insertions, 20 deletions
diff --git a/development/mysql-workbench/0003-swig-4-3.patch b/development/mysql-workbench/0003-swig-4-3.patch
new file mode 100644
index 0000000000..70205e96dc
--- /dev/null
+++ b/development/mysql-workbench/0003-swig-4-3.patch
@@ -0,0 +1,44 @@
+diff --git a/library/forms/swig/cairo.i b/library/forms/swig/cairo.i
+index a02efdcd1..d9091fca0 100644
+--- a/library/forms/swig/cairo.i
++++ b/library/forms/swig/cairo.i
+@@ -125,7 +125,7 @@
+
+ %typemap(argout) cairo_text_extents_t *extents {
+ PyObject *o= SWIG_NewPointerObj(new cairo_text_extents_t(*$1), SWIGTYPE_p_cairo_text_extents_t, 0 | 0 );
+- $result= SWIG_Python_AppendOutput($result, o);
++ $result= SWIG_Python_AppendOutput($result, o, 0);
+ }
+
+ %typemap(in) const char* (std::string s) {
+diff --git a/library/forms/swig/mforms.i b/library/forms/swig/mforms.i
+index ac4c6e36a..e46459966 100644
+--- a/library/forms/swig/mforms.i
++++ b/library/forms/swig/mforms.i
+@@ -722,7 +722,7 @@ inline boost::function<void (mforms::TextEntryAction)> pycall_void_entryaction_f
+
+ %typemap(argout) std::string &ret_password {
+ PyObject *o= PyUnicode_DecodeUTF8(($1)->data(), ($1)->size(), NULL);
+- $result= SWIG_Python_AppendOutput($result, o);
++ $result= SWIG_Python_AppendOutput($result, o, 0);
+ }
+
+ %typemap(in,numinputs=0) std::string &ret_password(std::string temp) {
+@@ -731,7 +731,7 @@ inline boost::function<void (mforms::TextEntryAction)> pycall_void_entryaction_f
+
+ %typemap(argout) std::string &ret_value {
+ PyObject *o= PyUnicode_DecodeUTF8(($1)->data(), ($1)->size(), NULL);
+- $result= SWIG_Python_AppendOutput($result, o);
++ $result= SWIG_Python_AppendOutput($result, o, 0);
+ }
+
+ %typemap(in,numinputs=0) std::string &ret_value(std::string temp) {
+@@ -741,7 +741,7 @@ inline boost::function<void (mforms::TextEntryAction)> pycall_void_entryaction_f
+
+ %typemap(argout) bool &ret_store {
+ if (*$1) Py_INCREF(Py_True); else Py_INCREF(Py_False);
+- $result= SWIG_Python_AppendOutput($result, *$1 ? Py_True : Py_False);
++ $result= SWIG_Python_AppendOutput($result, *$1 ? Py_True : Py_False, 0);
+ }
+
+ %typemap(in,numinputs=0) bool &ret_store(bool temp) {
diff --git a/development/mysql-workbench/0005-gcc-15.patch b/development/mysql-workbench/0005-gcc-15.patch
new file mode 100644
index 0000000000..1ada825ad9
--- /dev/null
+++ b/development/mysql-workbench/0005-gcc-15.patch
@@ -0,0 +1,11 @@
+diff -ru mysql-connector-c++-9.3.0-src.orig/include/mysqlx/common/value.h mysql-connector-c++-9.3.0-src/include/mysqlx/common/value.h
+--- mysql-connector-c++-9.3.0-src.orig/include/mysqlx/common/value.h 2025-05-18 12:30:03.916477018 +0200
++++ mysql-connector-c++-9.3.0-src/include/mysqlx/common/value.h 2025-05-18 12:30:25.042409140 +0200
+@@ -35,6 +35,7 @@
+ #include "api.h"
+ #include "error.h"
+ #include "util.h"
++#include <cstdint>
+
+ PUSH_SYS_WARNINGS
+ #include <string>
diff --git a/development/mysql-workbench/README b/development/mysql-workbench/README
index 06243cfa67..f9b79a2e95 100644
--- a/development/mysql-workbench/README
+++ b/development/mysql-workbench/README
@@ -11,12 +11,19 @@ environment for:
* Database Administration (replacing MySQL Administrator)
You need to allow MySQL to accept incoming connections from outside:
+For Slackware 15.0, this option is in /etc/rc.d/rc.mysqld.
Remove or comment this line: SKIP="--skip-networking" and then do:
/etc/rc.d/rc.mysqld restart
+NOTE: For current, this option is moved to /etc/default/mariadb
+Remove --skip-networking from MARIADB_OPTIONS line
+
Note: MySQL Workbench will be built against Python 2.7 even when
Python 3.x is installed on your system
NOTE: You may need to run mysql_upgrade if mysql-workbench could not
fetch your metadata. You may need to add this into /etc/ld.so.conf:
/usr/lib{64}/mysql-workbench
+
+NOTE: This script requires a lot of RAM in order to build. If you have
+small amount of memory, please consider adding zram.
diff --git a/development/mysql-workbench/mysql-workbench.SlackBuild b/development/mysql-workbench/mysql-workbench.SlackBuild
index 67d2c148e6..5e1c920f5d 100644
--- a/development/mysql-workbench/mysql-workbench.SlackBuild
+++ b/development/mysql-workbench/mysql-workbench.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for mysql-workbench
# Originally written by Andre Geraldo Vieira <andre.geraldo@gmail.com>
-# Copyright 2013-2024 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2013-2025 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,14 +27,15 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mysql-workbench
PRGNAM2=mysql
-VERSION=${VERSION:-8.0.40}
-VERSION_MYSQL=8.4.3
+VERSION=${VERSION:-8.0.43}
+VERSION_MYSQL=8.4.6
PRGNAM3=boost
-VERSION_BOOST=1_77_0
+VERSION_BOOST=1.87.0
+VERSION_BOOST_SRC=`echo $VERSION_BOOST | tr . _`
PRGNAM4=mysql-connector-c++
-VERSION_MYSQL_CONNECTOR=8.4.0
+VERSION_MYSQL_CONNECTOR=9.4.0
PRGNAM5=gdal
-VERSION_GDAL=3.9.3
+VERSION_GDAL=3.11.1
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -79,8 +80,8 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
# Extract Boost
-rm -rf ${PRGNAM3}_${VERSION_BOOST}
-tar xvf $CWD/${PRGNAM3}_${VERSION_BOOST}.tar.bz2
+rm -rf ${PRGNAM3}_${VERSION_BOOST_SRC}
+tar xvf $CWD/${PRGNAM3}_${VERSION_BOOST_SRC}.tar.bz2
# Building MySQL
rm -rf $PRGNAM2-${VERSION_MYSQL}
@@ -125,6 +126,15 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# Thanks to Arch Linux
+sed -i \
+ -e '/cmake_policy/Is|[23]\.[.0-9]\+|3.12|' \
+ -e '/cmake_minimum_required/Is|[23]\.[.0-9]\+|3.12|' \
+ $(find "$TMP/$PRGNAM4-${VERSION_MYSQL_CONNECTOR}-src"/ -name 'CMakeLists.txt')
+
+# Fix for GCC 15
+patch -p1 < $CWD/0005-gcc-15.patch
+
mkdir -p build
cd build
cmake \
@@ -203,6 +213,12 @@ patch -p1 < $CWD/boost-1.73.0.patch
patch -Np1 < $CWD/0003-include-list.patch
+# Only apply this for python 3.12+
+PYTHONVER=$(python3 -c 'import sys; print(f"{sys.version_info[0]}.{sys.version_info[1]}")')
+if [ $PYTHONVER != 3.9 ]; then
+ patch -p1 < $CWD/0003-swig-4-3.patch
+fi
+
# Install antlr Java JAR
cp $CWD/antlr-4.13.2-complete.jar $TMP/install-bundle/antlr-4.13.2-complete.jar
@@ -228,7 +244,7 @@ cmake \
-DGDAL_LIBRARY="$TMP/install-bundle/usr/lib${LIBDIRSUFFIX}/libgdal.so" \
-DWITH_ANTLR_JAR="$TMP/install-bundle/antlr-4.13.0-complete.jar" \
-DUNIXODBC_CONFIG_PATH="/usr/bin/odbc_config" \
- -DUNIXODBC_INCLUDE_DIRS="/usr/include" \
+ -DUNIXODBC_INCLUDE_DIRS="/usr/include/unixodbc" \
-DUSE_BUNDLED_MYSQLDUMP=1 \
..
@@ -263,6 +279,9 @@ done
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+# Fix ldconfig path
+sed -i "s|ldconfig|/sbin/ldconfig|" $PKG/usr/bin/mysql-workbench
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
mv AUTHORS *.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/development/mysql-workbench/mysql-workbench.info b/development/mysql-workbench/mysql-workbench.info
index a847d43a72..d569d5953f 100644
--- a/development/mysql-workbench/mysql-workbench.info
+++ b/development/mysql-workbench/mysql-workbench.info
@@ -1,19 +1,19 @@
PRGNAM="mysql-workbench"
-VERSION="8.0.40"
+VERSION="8.0.43"
HOMEPAGE="https://www.mysql.com/downloads/workbench/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-8.0.40-src.tar.gz \
- https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.3.tar.gz \
- https://sourceforge.net/projects/boost/files/boost/1.77.0/boost_1_77_0.tar.bz2 \
- https://cdn.mysql.com/archives/mysql-connector-c++/mysql-connector-c++-8.4.0-src.tar.gz \
- https://download.osgeo.org/gdal/3.9.3/gdal-3.9.3.tar.xz \
+DOWNLOAD_x86_64="https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-8.0.43-src.tar.gz \
+ https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.6.tar.gz \
+ https://sourceforge.net/projects/boost/files/boost/1.87.0/boost_1_87_0.tar.bz2 \
+ https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-9.4.0-src.tar.gz \
+ https://download.osgeo.org/gdal/3.11.1/gdal-3.11.1.tar.xz \
https://www.antlr.org/download/antlr-4.13.2-complete.jar"
-MD5SUM_x86_64="abf2bb47fa6c409b006f0a4d3a9b9cac \
- 1a8a2a4cd3784579d06ed996dbbbbaee \
- 09dc857466718f27237144c6f2432d86 \
- a2804abf8aab79b15c1191a3a7176348 \
- 00cb1670895713217bbd20b8e914dbec \
+MD5SUM_x86_64="cb7029cf9643a2728bd5a814f4a36589 \
+ 33a1d8f60875f1f28cc7551015082c63 \
+ ccdfe37d3bad682d841782f760faf141 \
+ 157af2d92e29b8dafb0785e621b212e2 \
+ 687821829a2312e670ba3936152aa9a7 \
3c8bf23796901bbadaccf6e4c1f923e7"
REQUIRES="antlr4 ctemplate proj python2-paramiko vsqlite++ jdk19 unixODBC rapidjson"
MAINTAINER="Willy Sudiarto Raharjo"