diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index a81de0fdb95e..576f3c6db4c4 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -206,6 +206,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - `rocmPackages_6` has been removed. `rocmPackages` has been updated to ROCm 7.x. Out of tree packages may rely on obsolete hipblas APIs or compile time constant warp size and need to be updated. +- `mysql80` has been removed. Please update to `mysql84` or `mariadb`. See the [upgrade guide](https://mariadb.com/kb/en/upgrading-from-mysql-to-mariadb/) for more information. + - `services.prometheus.exporters.rspamd` has been removed. It relied on the Rspamd /stat endpoint via the JSON exporter. You can use the Rspamd [/metrics](https://docs.rspamd.com/developers/protocol#controller-http-endpoints) endpoint directly instead. - The Bash implementation of the `nixos-rebuild` program is removed. All switchable systems now use the Python rewrite. Any prior usage of `system.rebuild.enableNg` must now be removed. If you have any outstanding issues with the new implementation, please open an issue on GitHub. diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 176c3fd4548c..73f8644b2d36 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -9,7 +9,7 @@ let cfg = config.services.mysql; isMariaDB = lib.getName cfg.package == lib.getName pkgs.mariadb; - isOracle = lib.getName cfg.package == lib.getName pkgs.mysql80; + isOracle = lib.getName cfg.package == lib.getName pkgs.mysql84; # Oracle MySQL has supported "notify" service type since 8.0 hasNotify = isMariaDB || (isOracle && lib.versionAtLeast cfg.package.version "8.0"); diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix index 31ee97320492..1be7f974c687 100644 --- a/nixos/modules/services/web-apps/keycloak.nix +++ b/nixos/modules/services/web-apps/keycloak.nix @@ -802,7 +802,7 @@ in services.mysql.enable = mkDefault createLocalMySQL; services.mysql.package = let - dbPkg = if cfg.database.type == "mariadb" then pkgs.mariadb else pkgs.mysql80; + dbPkg = if cfg.database.type == "mariadb" then pkgs.mariadb else pkgs.mysql84; in mkIf createLocalMySQL (mkDefault dbPkg); }; diff --git a/nixos/tests/mysql/common.nix b/nixos/tests/mysql/common.nix index 17e961021f14..04be129482fe 100644 --- a/nixos/tests/mysql/common.nix +++ b/nixos/tests/mysql/common.nix @@ -4,7 +4,7 @@ import ../../../pkgs/servers/sql/mariadb pkgs ); mysqlPackages = { - inherit (pkgs) mysql80; + inherit (pkgs) mysql84; }; perconaPackages = { inherit (pkgs) percona-server_8_0 percona-server_8_4; diff --git a/pkgs/by-name/li/libcbor/package.nix b/pkgs/by-name/li/libcbor/package.nix index c2445e7d8965..31ad8ed2fbd1 100644 --- a/pkgs/by-name/li/libcbor/package.nix +++ b/pkgs/by-name/li/libcbor/package.nix @@ -7,7 +7,7 @@ # for passthru.tests libfido2, - mysql80, + mysql84, openssh, systemd, }: @@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { nativeCheckInputs = [ cmocka ]; passthru.tests = { - inherit libfido2 mysql80; + inherit libfido2 mysql84; openssh = (openssh.override { withFIDO = true; }); systemd = ( systemd.override { diff --git a/pkgs/by-name/li/libmysqlconnectorcpp/package.nix b/pkgs/by-name/li/libmysqlconnectorcpp/package.nix index 5ea9bff13894..3caf6b592b1f 100644 --- a/pkgs/by-name/li/libmysqlconnectorcpp/package.nix +++ b/pkgs/by-name/li/libmysqlconnectorcpp/package.nix @@ -5,7 +5,7 @@ cmake, boost, openssl, - mysql80, + mysql84, }: stdenv.mkDerivation (finalAttrs: { @@ -26,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake - mysql80 + mysql84 ]; buildInputs = [ boost openssl - mysql80 + mysql84 ]; strictDeps = true; diff --git a/pkgs/by-name/my/mysql-workbench/package.nix b/pkgs/by-name/my/mysql-workbench/package.nix index f0217144bb0c..63ac0e07f947 100644 --- a/pkgs/by-name/my/mysql-workbench/package.nix +++ b/pkgs/by-name/my/mysql-workbench/package.nix @@ -20,7 +20,7 @@ python3Packages, cairo, - mysql80, + mysql84, libiodbc, proj, @@ -41,7 +41,7 @@ }: let - mysql = mysql80; + mysql = mysql84; gdal' = gdal.override { libmysqlclient = mysql; }; antlr = antlr4_13; diff --git a/pkgs/by-name/sq/sqlite3-to-mysql/package.nix b/pkgs/by-name/sq/sqlite3-to-mysql/package.nix index 8ff3ff9c4542..1cedbdeef6e5 100644 --- a/pkgs/by-name/sq/sqlite3-to-mysql/package.nix +++ b/pkgs/by-name/sq/sqlite3-to-mysql/package.nix @@ -5,7 +5,7 @@ nixosTests, testers, sqlite3-to-mysql, - mysql80, + mysql84, }: python3Packages.buildPythonApplication (finalAttrs: { @@ -37,7 +37,7 @@ python3Packages.buildPythonApplication (finalAttrs: { tabulate unidecode packaging - mysql80 + mysql84 python-dateutil sqlglot ]; diff --git a/pkgs/development/python-modules/mysql-connector/default.nix b/pkgs/development/python-modules/mysql-connector/default.nix index 87ee1887ed02..e97df02712ac 100644 --- a/pkgs/development/python-modules/mysql-connector/default.nix +++ b/pkgs/development/python-modules/mysql-connector/default.nix @@ -4,7 +4,7 @@ dnspython, fetchFromGitHub, protobuf, - mysql80, + mysql84, openssl, pkgs, }: @@ -15,11 +15,11 @@ buildPythonPackage rec { format = "setuptools"; setupPyBuildFlags = [ - "--with-mysql-capi=${mysql80}" + "--with-mysql-capi=${mysql84}" "--with-openssl-include-dir=${openssl.dev}/include" "--with-openssl-lib-dir=${lib.getLib openssl}/lib" "-L" - "${lib.getLib pkgs.zstd}/lib:${lib.getLib mysql80}/lib" + "${lib.getLib pkgs.zstd}/lib:${lib.getLib mysql84}/lib" ]; src = fetchFromGitHub { @@ -40,14 +40,18 @@ buildPythonPackage rec { ./0001-Revert-Fix-MacOS-wheels-platform-tag.patch ]; - nativeBuildInputs = [ mysql80 ]; + nativeBuildInputs = [ mysql84 ]; + + buildInputs = [ + mysql84 + openssl + pkgs.zlib + pkgs.zstd + ]; propagatedBuildInputs = [ dnspython protobuf - mysql80 - openssl - pkgs.zstd ]; pythonImportsCheck = [ "mysql" ]; diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix deleted file mode 100644 index 868d9b2b9ca3..000000000000 --- a/pkgs/servers/sql/mysql/8.0.x.nix +++ /dev/null @@ -1,130 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - bison, - cmake, - pkg-config, - boost, - icu, - libedit, - libevent, - lz4, - ncurses, - openssl, - protobuf, - re2, - readline, - zlib, - zstd, - libfido2, - numactl, - cctools, - developer_cmds, - libtirpc, - rpcsvc-proto, - curl, - DarwinTools, - nixosTests, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "mysql"; - version = "8.0.45"; - - src = fetchurl { - url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz"; - hash = "sha256-tDXyLmWMj8k7gWmPo0uaVjJaMEs/Pf+H8n+2dMkKu8s="; - }; - - nativeBuildInputs = [ - bison - cmake - pkg-config - protobuf - ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ rpcsvc-proto ]; - - patches = [ - ./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch - ]; - - ## NOTE: MySQL upstream frequently twiddles the invocations of libtool. When updating, you might proactively grep for libtool references. - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace cmake/libutils.cmake --replace-fail /usr/bin/libtool ${cctools}/bin/libtool - substituteInPlace cmake/os/Darwin.cmake --replace-fail /usr/bin/libtool ${cctools}/bin/libtool - substituteInPlace cmake/package_name.cmake --replace-fail "COMMAND sw_vers" "COMMAND ${DarwinTools}/bin/sw_vers" - ''; - - buildInputs = [ - boost - (curl.override { inherit openssl; }) - icu - libedit - libevent - lz4 - ncurses - openssl - protobuf - re2 - readline - zlib - zstd - libfido2 - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - numactl - libtirpc - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - developer_cmds - ]; - - strictDeps = true; - - outputs = [ - "out" - "static" - ]; - - cmakeFlags = [ - "-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin. - "-DWITH_ROUTER=OFF" # It may be packaged separately. - "-DWITH_SYSTEM_LIBS=ON" - "-DWITH_UNIT_TESTS=OFF" - "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" - "-DMYSQL_DATADIR=/var/lib/mysql" - "-DINSTALL_INFODIR=share/mysql/docs" - "-DINSTALL_MANDIR=share/man" - "-DINSTALL_PLUGINDIR=lib/mysql/plugin" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_DOCREADMEDIR=share/mysql" - "-DINSTALL_SUPPORTFILESDIR=share/mysql" - "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_MYSQLTESTDIR=" - "-DINSTALL_DOCDIR=share/mysql/docs" - "-DINSTALL_SHAREDIR=share/mysql" - ]; - - postInstall = '' - moveToOutput "lib/*.a" $static - so=${stdenv.hostPlatform.extensions.sharedLibrary} - ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so - ''; - - passthru = { - client = finalAttrs.finalPackage; - connector-c = finalAttrs.finalPackage; - server = finalAttrs.finalPackage; - mysqlVersion = lib.versions.majorMinor finalAttrs.version; - tests = nixosTests.mysql.mysql80; - }; - - meta = { - homepage = "https://www.mysql.com/"; - description = "World's most popular open source database"; - license = lib.licenses.gpl2Only; - maintainers = [ ]; - platforms = lib.platforms.unix; - }; -}) diff --git a/pkgs/servers/sql/mysql/no-force-outline-atomics.patch b/pkgs/servers/sql/mysql/no-force-outline-atomics.patch deleted file mode 100644 index a716a4f7f481..000000000000 --- a/pkgs/servers/sql/mysql/no-force-outline-atomics.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 727d66011f9..acae1aada57 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1338,19 +1338,6 @@ IF(UNIX AND MY_COMPILER_IS_GNU_OR_CLANG - ENDIF() - ENDIF() - --# For aarch64 some sub-architectures support LSE atomics and some don't. Thus, --# compiling for the common denominator (-march=armv8-a) means LSE is not used. --# The -moutline-atomics switch enables run-time detection of LSE support. --# There are compilers (gcc 9.3.1 for example) which support this switch, but --# do not enable it by default, even though it seems to help. So, we force it. --IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") -- MY_CHECK_CXX_COMPILER_FLAG( "-moutline-atomics" HAVE_OUTLINE_ATOMICS) -- IF(HAVE_OUTLINE_ATOMICS) -- STRING_APPEND(CMAKE_C_FLAGS " -moutline-atomics") -- STRING_APPEND(CMAKE_CXX_FLAGS " -moutline-atomics") -- ENDIF() --ENDIF() -- - IF(LINUX) - OPTION(LINK_RANDOMIZE "Randomize the order of all symbols in the binary" OFF) - SET(LINK_RANDOMIZE_SEED "mysql" diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index a827d8e45ddc..1ebdd42840d1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1398,6 +1398,7 @@ mapAliases { mutter46 = throw "'mutter46' has been removed, no longer used by Pantheon"; # Added 2026-01-24 muzika = throw "muzika was discontinued upstream in november 2024"; # Added 2025-12-15; mx-puppet-discord = throw "mx-puppet-discord was removed since the packaging was unmaintained and was the sole user of sha1 hashes in nixpkgs"; # Added 2025-07-24 + mysql80 = throw "'mysql80' reached end of life on 2026-04-30 and has been removed."; # Added 2026-04-08 mysql-client = throw "mysql-client has been replaced by mariadb.client"; # Converted to throw 2025-10-26 n98-magerun = throw "n98-magerun doesn't support new PHP newer than 8.1"; # Added 2025-10-03 nagiosPluginsOfficial = throw "'nagiosPluginsOfficial' has been renamed to/replaced by 'monitoring-plugins'"; # Converted to throw 2025-10-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11eb191e29f0..d2b9010caaff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8330,13 +8330,6 @@ with pkgs; boost = boost179.override { enableShared = false; }; }; - mysql80 = callPackage ../servers/sql/mysql/8.0.x.nix { - inherit (darwin) developer_cmds DarwinTools; - boost = boost177; # Configure checks for specific version. - icu = icu69; - protobuf = protobuf_21; - }; - mssql_jdbc = callPackage ../servers/sql/mssql/jdbc { }; jtds_jdbc = callPackage ../servers/sql/mssql/jdbc/jtds.nix { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 66e94648bc2a..14552ea229ec 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9818,7 +9818,7 @@ with self; }; nativeBuildInputs = [ - pkgs.mysql80 # for mysql_config + pkgs.mysql84 # for mysql_config ]; buildInputs = [ DevelChecklib @@ -9828,6 +9828,7 @@ with self; pkgs.libmysqlconnectorcpp pkgs.libxcrypt pkgs.openssl + pkgs.zlib pkgs.zstd ]; propagatedBuildInputs = [ DBI ];