Change:
Steps to reproduce the behavior: Stumbled upon this when upgrading my NixOS flake from to No maintainers so I'll just ping the last person to touch this <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
It broke in this PR merge Okay, the problem's with libxml2, which changed its interface a bit
Okay, I managed to fix the build, will open a PR shortly.
Thank you for writing the fix and creating the PR. Is something holding up the pull request? It's been open for over a week now.
I guess noone really reviewed the PR. I can maybe ask for a review.
I tried building mysql-workbench again today but it is still failing. Is it building properly for you? Or is it something on my end? output of
the pr that fixed this hasn't hit nixos-unstable yet, wait until it does. You can check here

Discussion:
<del> { lib, stdenv </del> <ins> { lib , stdenv </ins> , fetchurl , substituteAll , cmake

let inherit (python3.pkgs) paramiko pycairo pyodbc; <del> in stdenv.mkDerivation rec { </del> <ins> in stdenv.mkDerivation (finalAttrs: { </ins> pname = "mysql-workbench"; version = "8.0.34"; src = fetchurl { <del> url = "https://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; sha256 = "sha256-ub/D6HRtXOvX+lai71t1UjMmMzBsz5ljCrJCuf9aq7U="; </del> <ins> url = "https://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-${finalAttrs.version}-src.tar.gz"; hash = "sha256-ub/D6HRtXOvX+lai71t1UjMmMzBsz5ljCrJCuf9aq7U="; </ins> }; patches = [

src = ./fix-swig-build.patch; cairoDev = "${cairo.dev}"; }) <ins> # a newer libxml2 version has changed some interfaces ./fix-xml2.patch </ins> ]; # 1. have it look for 4.12.0 instead of 4.11.1

patchShebangs tools/get_wb_version.sh ''; <ins> # 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"; </ins> env.NIX_CFLAGS_COMPILE = toString ([ # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated "-Wno-error=deprecated-declarations"

done ''; <del> meta = with lib; { </del> <ins> meta = { </ins> description = "Visual MySQL database modeling, administration and querying tool"; longDescription = '' MySQL Workbench is a modeling tool that allows you to design

and query development modules where you can manage MySQL server instances and execute SQL queries. ''; homepage = "http://wb.mysql.com/"; <del> license = licenses.gpl2; maintainers = [ ]; platforms = platforms.linux; </del> <ins> license = lib.licenses.gpl2Only; </ins> mainProgram = "mysql-workbench"; <ins> maintainers = with lib.maintainers; [ tomasajt ]; platforms = lib.platforms.linux; </ins> }; <del> } </del> <ins> }) </ins>

<ins> 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)); </ins>