diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2024-01-23 14:45:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-23 14:45:32 +0100 |
commit | c5869d429946826efda2b9ab71934eabf44f2fc2 (patch) | |
tree | 55c63cee6d22b2b36c6560d5a1c1909efe3dd6c3 /pkgs/applications/misc | |
parent | 2a4b2aa7a4e27a8849cf0182f34081d54045ab7c (diff) | |
parent | 1f3bcdf27686e9d2c43a53cf3ba7cd0ee7978ff5 (diff) |
Merge pull request #281207 from TomaSajt/mysql-workbench
mysql-workbench: fix build, small refactor
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r-- | pkgs/applications/misc/mysql-workbench/default.nix | 28 | ||||
-rw-r--r-- | pkgs/applications/misc/mysql-workbench/fix-xml2.patch | 25 |
2 files changed, 43 insertions, 10 deletions
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index ff9fb7c6b2cbe..6b5933b3ebd0f 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl , substituteAll , cmake @@ -44,13 +45,14 @@ let inherit (python3.pkgs) paramiko pycairo pyodbc; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation (finalAttrs: { pname = "mysql-workbench"; version = "8.0.34"; src = fetchurl { - url = "https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; - sha256 = "sha256-ub/D6HRtXOvX+lai71t1UjMmMzBsz5ljCrJCuf9aq7U="; + url = "https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-${finalAttrs.version}-src.tar.gz"; + hash = "sha256-ub/D6HRtXOvX+lai71t1UjMmMzBsz5ljCrJCuf9aq7U="; }; patches = [ @@ -75,6 +77,9 @@ in stdenv.mkDerivation rec { src = ./fix-swig-build.patch; cairoDev = "${cairo.dev}"; }) + + # a newer libxml2 version has changed some interfaces + ./fix-xml2.patch ]; # 1. have it look for 4.12.0 instead of 4.11.1 @@ -138,6 +143,10 @@ in stdenv.mkDerivation rec { patchShebangs tools/get_wb_version.sh ''; + # GCC 13: error: 'int64_t' in namespace 'std' does not name a type + # when updating the version make sure this is still needed + env.CXXFLAGS = "-include cstdint"; + env.NIX_CFLAGS_COMPILE = toString ([ # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated "-Wno-error=deprecated-declarations" @@ -183,7 +192,7 @@ in stdenv.mkDerivation rec { done ''; - meta = with lib; { + meta = { description = "Visual MySQL database modeling, administration and querying tool"; longDescription = '' MySQL Workbench is a modeling tool that allows you to design @@ -191,11 +200,10 @@ in stdenv.mkDerivation rec { and query development modules where you can manage MySQL server instances and execute SQL queries. ''; - homepage = "http://wb.mysql.com/"; - license = licenses.gpl2; - maintainers = [ ]; - platforms = platforms.linux; + license = lib.licenses.gpl2Only; mainProgram = "mysql-workbench"; + maintainers = with lib.maintainers; [ tomasajt ]; + platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/applications/misc/mysql-workbench/fix-xml2.patch b/pkgs/applications/misc/mysql-workbench/fix-xml2.patch new file mode 100644 index 0000000000000..857c3f9add4ca --- /dev/null +++ b/pkgs/applications/misc/mysql-workbench/fix-xml2.patch @@ -0,0 +1,25 @@ +diff --git a/library/grt/src/grt.h b/library/grt/src/grt.h +index 47bfd63..59e664b 100644 +--- a/library/grt/src/grt.h ++++ b/library/grt/src/grt.h +@@ -35,6 +35,7 @@ + #include <stdexcept> + #include <boost/function.hpp> + #include <libxml/xmlmemory.h> ++#include <libxml/tree.h> + #include "base/threading.h" + #include <string> + #include <gmodule.h> +diff --git a/library/grt/src/unserializer.cpp b/library/grt/src/unserializer.cpp +index 6dda76d..a6f6a3c 100644 +--- a/library/grt/src/unserializer.cpp ++++ b/library/grt/src/unserializer.cpp +@@ -401,7 +401,7 @@ ValueRef internal::Unserializer::unserialize_xmldata(const char *data, size_t si + xmlDocPtr doc = xmlReadMemory(data, (int)size, NULL, NULL, XML_PARSE_NOENT); + + if (!doc) { +- xmlErrorPtr error = xmlGetLastError(); ++ const xmlError* error = xmlGetLastError(); + + if (error) + throw std::runtime_error(base::strfmt("Could not parse XML data. Line %d, %s", error->line, error->message)); |