diff --git a/doc/languages-frameworks/lua.section.md b/doc/languages-frameworks/lua.section.md index 17b80f07d3e1..c070aa59d287 100644 --- a/doc/languages-frameworks/lua.section.md +++ b/doc/languages-frameworks/lua.section.md @@ -200,7 +200,7 @@ luaposix = buildLuarocksPackage { The `buildLuarocksPackage` delegates most tasks to luarocks: * it adds `luarocks` as an unpacker for `src.rock` files (zip files really). -* configurePhase` writes a temporary luarocks configuration file which location +* `configurePhase` writes a temporary luarocks configuration file which location is exported via the environment variable `LUAROCKS_CONFIG`. * the `buildPhase` does nothing. * `installPhase` calls `luarocks make --deps-mode=none --tree $out` to build and diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml index 98fb0e9b8b9f..6298007c42cd 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml @@ -773,6 +773,24 @@ due to upstream dropping support. + + + mysql57 has been removed. Please update to + mysql80 or mariadb. See + the + upgrade + guide for more information. + + + + + Consequently, cqrlog and + amorok now use mariadb + instead of mysql57 for their embedded + databases. Running mysql_upgrade may be + neccesary. + + k3s supports clusterInit diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md index 688ef6c13ce7..3e24c3da9480 100644 --- a/nixos/doc/manual/release-notes/rl-2211.section.md +++ b/nixos/doc/manual/release-notes/rl-2211.section.md @@ -246,6 +246,9 @@ Available as [services.patroni](options.html#opt-services.patroni.enable). - `k3s` no longer supports docker as runtime due to upstream dropping support. +- `mysql57` has been removed. Please update to `mysql80` or `mariadb`. See the [upgrade guide](https://mariadb.com/kb/en/upgrading-from-mysql-to-mariadb/) for more information. + +- Consequently, `cqrlog` and `amorok` now use `mariadb` instead of `mysql57` for their embedded databases. Running `mysql_upgrade` may be neccesary. - `k3s` supports `clusterInit` option, and it is enabled by default, for servers. - `stylua` no longer accepts `lua52Support` and `luauSupport` overrides, use `features` instead, which defaults to `[ "lua54" "luau" ]`. diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix index df4f8905ec6f..3a5fb7dfb9e2 100644 --- a/nixos/modules/services/networking/smokeping.nix +++ b/nixos/modules/services/networking/smokeping.nix @@ -318,6 +318,17 @@ in description = "smokeping daemon user"; home = smokepingHome; createHome = true; + # When `cfg.webService` is enabled, `thttpd` makes SmokePing available + # under `${cfg.host}:${cfg.port}/smokeping.fcgi` as per the `ln -s` below. + # We also want that going to `${cfg.host}:${cfg.port}` without `smokeping.fcgi` + # makes it easy for the user to find SmokePing. + # However `thttpd` does not seem to support easy redirections from `/` to `smokeping.fcgi` + # and only allows directory listings or `/` -> `index.html` resolution if the directory + # has `chmod 755` (see https://acme.com/software/thttpd/thttpd_man.html#PERMISSIONS, + # " directories should be 755 if you want to allow indexing"). + # Otherwise it shows `403 Forbidden` on `/`. + # Thus, we need to make `smokepingHome` (which is given to `thttpd -d` below) `755`. + homeMode = "755"; }; users.groups.${cfg.user} = {}; systemd.services.smokeping = { diff --git a/nixos/tests/mysql/common.nix b/nixos/tests/mysql/common.nix index 040d360b6d99..c0e8f7e3b5d2 100644 --- a/nixos/tests/mysql/common.nix +++ b/nixos/tests/mysql/common.nix @@ -4,7 +4,7 @@ inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; }); mysqlPackages = { - inherit (pkgs) mysql57 mysql80; + inherit (pkgs) mysql80; }; mkTestName = pkg: "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor pkg.version)}"; } diff --git a/nixos/tests/smokeping.nix b/nixos/tests/smokeping.nix index ccacf60cfe4b..04f813964291 100644 --- a/nixos/tests/smokeping.nix +++ b/nixos/tests/smokeping.nix @@ -28,6 +28,8 @@ import ./make-test-python.nix ({ pkgs, ...} : { sm.wait_for_unit("thttpd") sm.wait_for_file("/var/lib/smokeping/data/Local/LocalMachine.rrd") sm.succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local") + # Check that there's a helpful page without explicit path as well. + sm.succeed("curl -s -f localhost:8081") sm.succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png") sm.succeed("ls /var/lib/smokeping/cache/index.html") ''; diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix index 4e5706495902..276b3d6c7bc2 100644 --- a/pkgs/applications/audio/amarok/default.nix +++ b/pkgs/applications/audio/amarok/default.nix @@ -3,7 +3,8 @@ , qca-qt5, qjson, qtquickcontrols2, qtscript, qtwebengine , karchive, kcmutils, kconfig, kdnssd, kguiaddons, kinit, kirigami2, knewstuff, knotifyconfig, ktexteditor, kwindowsystem , fftw, phonon, plasma-framework, threadweaver, breeze-icons -, curl, ffmpeg, gdk-pixbuf, libaio, liblastfm, libmtp, loudmouth, lzo, lz4, mysql57, pcre, snappy, taglib, taglib_extras +, curl, ffmpeg, gdk-pixbuf, libaio, liblastfm, libmtp, loudmouth, lzo, lz4, mariadb-embedded, pcre, snappy, taglib, taglib_extras +, pmdk, numactl }: mkDerivation rec { @@ -23,7 +24,7 @@ mkDerivation rec { qca-qt5 qjson qtquickcontrols2 qtscript qtwebengine karchive kcmutils kconfig kdnssd kguiaddons kinit kirigami2 knewstuff knotifyconfig ktexteditor kwindowsystem phonon plasma-framework threadweaver - curl fftw ffmpeg gdk-pixbuf libaio liblastfm libmtp loudmouth lz4 lzo mysql57.server mysql57.server.static + curl fftw ffmpeg gdk-pixbuf libaio liblastfm libmtp loudmouth lz4 lzo mariadb-embedded pcre snappy taglib taglib_extras breeze-icons ]; diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix index 4642565e678e..9fce777906bb 100644 --- a/pkgs/applications/audio/shortwave/default.nix +++ b/pkgs/applications/audio/shortwave/default.nix @@ -23,20 +23,20 @@ stdenv.mkDerivation rec { pname = "shortwave"; - version = "3.0.0"; + version = "3.1.0"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "World"; repo = "Shortwave"; rev = version; - sha256 = "sha256-qwk63o9pfqpAm6l9ioj3RccacemQU8R6LF6El4yHkjQ"; + sha256 = "sha256-N0ftIq0+sxkpo56IGHZYAK6MgRNW7T6C2jWEiJsYy/Y="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-YrB322nv9CgZqt5//VMvVwjWA51ePlX2PI6raRJGBxA="; + hash = "sha256-90JBN3cJKqIJX6DRq5FtEpIr5Isxf+jb1SlxGMbBwMQ="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/tidal-hifi/default.nix b/pkgs/applications/audio/tidal-hifi/default.nix index f81854aec28f..8905351da533 100644 --- a/pkgs/applications/audio/tidal-hifi/default.nix +++ b/pkgs/applications/audio/tidal-hifi/default.nix @@ -37,11 +37,11 @@ stdenv.mkDerivation rec { pname = "tidal-hifi"; - version = "4.3.0"; + version = "4.3.1"; src = fetchurl { url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${version}/tidal-hifi_${version}_amd64.deb"; - sha256 = "sha256-/ZESysxaDhMpyTKHjjoRMiLM7SMESA5VIfgWCqdyDck="; + sha256 = "sha256-Q+K8oF1VEsuhmhPH6K3as1+71vCfaKCdzRzCIxtiXvE="; }; nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ]; diff --git a/pkgs/applications/misc/crow-translate/default.nix b/pkgs/applications/misc/crow-translate/default.nix index f05c8bdcb2d0..4da0af251d5a 100644 --- a/pkgs/applications/misc/crow-translate/default.nix +++ b/pkgs/applications/misc/crow-translate/default.nix @@ -19,11 +19,11 @@ stdenv.mkDerivation rec { pname = "crow-translate"; - version = "2.10.0"; + version = "2.10.1"; src = fetchzip { url = "https://github.com/${pname}/${pname}/releases/download/${version}/${pname}-${version}-source.tar.gz"; - hash = "sha256-ayEt4PI15NjlmFrDEa6Ipbn94nN9Ga7jThnIVBWPgKw="; + hash = "sha256-xRXNT/IybcynS5S71XFFsx3PoLXDBcKuz81ybxoVtV4="; }; patches = [ diff --git a/pkgs/applications/misc/meerk40t/default.nix b/pkgs/applications/misc/meerk40t/default.nix new file mode 100644 index 000000000000..28a136c9a257 --- /dev/null +++ b/pkgs/applications/misc/meerk40t/default.nix @@ -0,0 +1,95 @@ +{ lib +, fetchFromGitHub +, python3 +, gtk3 +, wrapGAppsHook +}: + +let + inherit (python3.pkgs) buildPythonApplication buildPythonPackage fetchPypi; + + meerk40t-camera = buildPythonPackage rec { + pname = "meerk40t-camera"; + version = "0.1.9"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-uGCBHdgWoorVX2XqMCg0YBweb00sQ9ZSbJe8rlGeovs="; + }; + + postPatch = '' + sed -i '/meerk40t/d' setup.py + ''; + + propagatedBuildInputs = with python3.pkgs; [ + opencv4 + ]; + + pythonImportsCheck = [ + "camera" + ]; + + doCheck = false; + + meta = with lib; { + description = "MeerK40t camera plugin"; + license = licenses.mit; + homepage = "https://github.com/meerk40t/meerk40t-camera"; + maintainers = with maintainers; [ hexa ]; + }; + }; +in +buildPythonApplication rec { + pname = "MeerK40t"; + version = "0.8.0031"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "meerk40t"; + repo = pname; + rev = "refs/tags/${version}"; + hash = "sha256-7Vc7Z+mxy+xRbUBeivkqVwO86ovZDo42M4G0ZD23vMk="; + }; + + nativeBuildInputs = [ + wrapGAppsHook + ]; + + # prevent double wrapping + dontWrapGApps = true; + + propagatedBuildInputs = with python3.pkgs; [ + ezdxf + meerk40t-camera + opencv4 + pillow + pyserial + pyusb + setuptools + wxPython_4_2 + ]; + + preFixup = '' + gappsWrapperArgs+=( + --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}" + ) + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + checkInputs = with python3.pkgs; [ + unittestCheckHook + ]; + + preCheck = '' + export HOME=$TMPDIR + ''; + + meta = with lib; { + changelog = "https://github.com/meerk40t/meerk40t/releases/tag/${version}"; + description = "MeerK40t LaserCutter Software"; + homepage = "https://github.com/meerk40t/meerk40t"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 27f3e53d3e20..ba82f2518c5c 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -39,6 +39,7 @@ , dbus , bash , coreutils +, zstd }: let @@ -129,6 +130,7 @@ in stdenv.mkDerivation rec { libepoxy at-spi2-core dbus + zstd ]; postPatch = '' diff --git a/pkgs/applications/misc/pdfstudio/default.nix b/pkgs/applications/misc/pdfstudio/default.nix index 0cf141428321..b1985eed076a 100644 --- a/pkgs/applications/misc/pdfstudio/default.nix +++ b/pkgs/applications/misc/pdfstudio/default.nix @@ -30,7 +30,7 @@ in { pdfstudioviewer = callPackage ./common.nix rec { inherit desktopName pname program year; - version = "${year}.0.2"; + version = "${year}.1.0"; longDescription = '' PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio. ''; @@ -56,10 +56,10 @@ in pdfstudio2022 = callPackage ./common.nix rec { inherit desktopName longDescription pname program year; - version = "${year}.0.2"; + version = "${year}.1.1"; src = fetchurl { - url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64_adoptium17.deb"; - sha256 = "sha256-fWZXCyizP++pkmC+UpgCzGvb0QrNs4RI6iC4ZBL8hLE="; + url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb"; + sha256 = "sha256-OPmNhnkeSvHZZbh4SaMU/vDSLrDdTmMmuSGP2HyzVm4="; }; extraBuildInputs = [ libgccjit #for libstdc++.so.6 and libgomp.so.1 diff --git a/pkgs/applications/misc/remarkable/rmapi/default.nix b/pkgs/applications/misc/remarkable/rmapi/default.nix index cca6c5b48872..aa2b1af194d3 100644 --- a/pkgs/applications/misc/remarkable/rmapi/default.nix +++ b/pkgs/applications/misc/remarkable/rmapi/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "rmapi"; - version = "0.0.21"; + version = "0.0.22.1"; src = fetchFromGitHub { owner = "juruen"; repo = "rmapi"; rev = "v${version}"; - sha256 = "sha256-PObuO+Aea2MS1DW3/uOS7GajtFUPolDnPgwxYehGPlA="; + sha256 = "sha256-tYGlI7p5KAskN+Y6vvBEm4+s9rKtL4TN43N/btN27UI="; }; vendorSha256 = "sha256-LmKcHV0aq7NDEwaL+u8zXkbKzzdWD8zmnAGw5xShDYo="; diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index afee9cf4f61b..1759d3fba6ae 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -293,6 +293,10 @@ let rtc_use_pipewire = true; # Disable PGO because the profile data requires a newer compiler version (LLVM 14 isn't sufficient): chrome_pgo_phase = 0; + } // optionalAttrs (chromiumVersionAtLeast "107") { + clang_base_path = "${llvmPackages.clang}"; + use_qt = false; + use_system_libwayland_server = true; } // optionalAttrs proprietaryCodecs { # enable support for the H.264 codec proprietary_codecs = true; diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix index 3fd45f3e9c28..cefe6b575be1 100644 --- a/pkgs/applications/networking/cluster/argo/default.nix +++ b/pkgs/applications/networking/cluster/argo/default.nix @@ -19,16 +19,16 @@ let in buildGoModule rec { pname = "argo"; - version = "3.4.1"; + version = "3.4.2"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo"; rev = "v${version}"; - sha256 = "sha256-bAfND84mbJulv0IO6JF2c+ZbwKeND8AVAJHmdMmhZ/s="; + sha256 = "sha256-ST5XVgij1h+4EWLlwdFmIYZ0RPSH5IoTw0YdP0a+Sa4="; }; - vendorSha256 = "sha256-S4p56/OZpufpi71aueYTvPcM4LoZWyAhcAzUUUrUw4Q="; + vendorSha256 = "sha256-h6Ioy1wBOAOCGcqcLlPyqX5pyx22BIiHKx4ct0HmnyA="; doCheck = false; diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix index 10cd1e998504..aea4a16e46b9 100644 --- a/pkgs/applications/office/fava/default.nix +++ b/pkgs/applications/office/fava/default.nix @@ -2,12 +2,12 @@ python3.pkgs.buildPythonApplication rec { pname = "fava"; - version = "1.22.3"; + version = "1.23"; format = "pyproject"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "sha256-e8/VOn0WmrUO69x/4hKGtgKuj11U1Qv7OUhfOL/p5Ds="; + sha256 = "sha256-dwJKSQiuggnseEbALSrT051Me/z1jpj/BjuxN0v5dpU="; }; nativeBuildInputs = with python3.pkgs; [ setuptools-scm ]; diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix index 6fa29c1dbbd7..e11b34e52bcf 100644 --- a/pkgs/applications/office/paperless-ngx/default.nix +++ b/pkgs/applications/office/paperless-ngx/default.nix @@ -115,7 +115,6 @@ python.pkgs.pythonPackages.buildPythonApplication rec { inotifyrecursive joblib langdetect - pkgs.libmysqlclient lxml msgpack numpy diff --git a/pkgs/applications/radio/cqrlog/default.nix b/pkgs/applications/radio/cqrlog/default.nix index d86a08f3a1b0..a167642dd7e7 100644 --- a/pkgs/applications/radio/cqrlog/default.nix +++ b/pkgs/applications/radio/cqrlog/default.nix @@ -11,7 +11,7 @@ , libX11 , pango , hamlib -, mysql57 +, mariadb , tqsl , xdg-utils , xplanet @@ -55,8 +55,8 @@ stdenv.mkDerivation rec { --replace "/usr/bin/rigctld" "${hamlib}/bin/rigctld" # Order is important substituteInPlace src/dData.pas \ - --replace "/usr/bin/mysqld_safe" "${mysql57}/bin/mysqld_safe" \ - --replace "/usr/bin/mysqld" "${mysql57}/bin/mysqld" + --replace "/usr/bin/mysqld_safe" "${mariadb}/bin/mysqld_safe" \ + --replace "/usr/bin/mysqld" "${mariadb}/bin/mysqld" # To be fail when I need to patch a new hardcoded binary ! grep -C src -RC0 "/usr" @@ -74,7 +74,7 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ hamlib - mysql57 + mariadb tqsl xdg-utils xplanet @@ -87,8 +87,10 @@ stdenv.mkDerivation rec { ]; postFixup = '' - libmysqlclient=$(find "${mysql57}/lib" -name "libmysqlclient.so.*" | tail -n1) - patchelf --add-needed "$libmysqlclient" "$out/bin/.cqrlog-wrapped" + libmysqlclient=$(find "${mariadb.client}/lib" -name "libmysqlclient.so" | tail -n1) + patchelf --add-needed "libmysqlclient.so" \ + --add-rpath "$(dirname "$libmysqlclient")" \ + "$out/bin/.cqrlog-wrapped" ''; meta = with lib; { diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 683d94fc2be9..42a556a451fb 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -112,6 +112,11 @@ stdenv.mkDerivation rec { revert = true; }) ./9pfs-use-GHashTable-for-fid-table.patch + (fetchpatch { + name = "CVE-2022-3165.patch"; + url = "https://gitlab.com/qemu-project/qemu/-/commit/d307040b18bfcb1393b910f1bae753d5c12a4dc7.patch"; + sha256 = "sha256-YPhm580lBNuAv7G1snYccKZ2V5ycdV8Ri8mTw5jjFBc="; + }) ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch; diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix index d9a103035668..4bcdf1643f1b 100644 --- a/pkgs/applications/window-managers/icewm/default.nix +++ b/pkgs/applications/window-managers/icewm/default.nix @@ -4,6 +4,7 @@ , fetchpatch , cmake , expat +, flac , fontconfig , freetype , fribidi @@ -26,25 +27,26 @@ , libXpm , libXrandr , libjpeg +, libogg , libpng , libpthreadstubs , libsndfile , libtiff , libxcb , mkfontdir -, pcre +, pcre2 , perl , pkg-config }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "icewm"; - version = "3.0.1"; + version = "3.1.0"; src = fetchFromGitHub { owner = "ice-wm"; - repo = pname; - rev = version; + repo = "icewm"; + rev = finalAttrs.version; hash = "sha256-0mnhH/7Y4VXpNUU++ln2//9/vuTxq9sa2D933Cf7Ifw="; }; @@ -56,6 +58,7 @@ stdenv.mkDerivation rec { buildInputs = [ expat + flac fontconfig freetype fribidi @@ -78,13 +81,14 @@ stdenv.mkDerivation rec { libXpm libXrandr libjpeg + libogg libpng libpthreadstubs libsndfile libtiff libxcb mkfontdir - pcre + pcre2 ]; cmakeFlags = [ @@ -94,7 +98,8 @@ stdenv.mkDerivation rec { # install legacy themes postInstall = '' - cp -r ../lib/themes/{gtk2,Natural,nice,nice2,warp3,warp4,yellowmotif} $out/share/icewm/themes/ + cp -r ../lib/themes/{gtk2,Natural,nice,nice2,warp3,warp4,yellowmotif} \ + $out/share/icewm/themes/ ''; meta = with lib; { @@ -117,4 +122,4 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.linux; }; -} +}) diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix index fb89731a8461..18df9da344d4 100644 --- a/pkgs/applications/window-managers/jwm/default.nix +++ b/pkgs/applications/window-managers/jwm/default.nix @@ -28,13 +28,13 @@ stdenv.mkDerivation rec { pname = "jwm"; - version = "2.4.2"; + version = "2.4.3"; src = fetchFromGitHub { owner = "joewing"; repo = "jwm"; rev = "v${version}"; - sha256 = "sha256-rvuz2Pmon3XBqRMgDwZNrQlWDyLNSK30JPmmQTlN+Rs="; + sha256 = "sha256-HPcNXf+frYbT8lr5vU5xpUnyjGpQ5rc2G14EjDwpk3c="; }; nativeBuildInputs = [ diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix index 85fba63f1597..6821fdffdb23 100644 --- a/pkgs/development/interpreters/joker/default.nix +++ b/pkgs/development/interpreters/joker/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "joker"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { rev = "v${version}"; owner = "candid82"; repo = "joker"; - sha256 = "sha256-yetHt8zrIEenb1Z5L3oUmgVGxWaYOu4Nk4pbJD6K3zA="; + sha256 = "sha256-u8wxyFYlqKL+NsSh+rM634MA9XsR9aJUJ+OtQ61uAFo="; }; vendorSha256 = "sha256-AYoespfzFLP/jIIxbw5K653wc7sSfLY8K7di8GZ64wA="; diff --git a/pkgs/development/python-modules/chex/default.nix b/pkgs/development/python-modules/chex/default.nix index 79eeb9319973..cad84146c483 100644 --- a/pkgs/development/python-modules/chex/default.nix +++ b/pkgs/development/python-modules/chex/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "chex"; - version = "0.1.4"; + version = "0.1.5"; format = "setuptools"; src = fetchFromGitHub { owner = "deepmind"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-FiZElESyOVu1VJxUDNiN6HVADiaubDrGdQHYp2CN8f4="; + hash = "sha256-FYB0IhokM74HBY2wOJYE6xJrHxHHWhDSAZpWFs6HFu0="; }; propagatedBuildInputs = [ @@ -39,6 +39,11 @@ buildPythonPackage rec { pytestCheckHook ]; + disabledTests = [ + # See https://github.com/deepmind/chex/issues/204. + "test_uninspected_checks" + ]; + meta = with lib; { description = "Chex is a library of utilities for helping to write reliable JAX code."; homepage = "https://github.com/deepmind/chex"; diff --git a/pkgs/development/python-modules/dm-tree/default.nix b/pkgs/development/python-modules/dm-tree/default.nix index 04feb7de93f3..1b9437096648 100644 --- a/pkgs/development/python-modules/dm-tree/default.nix +++ b/pkgs/development/python-modules/dm-tree/default.nix @@ -13,14 +13,13 @@ buildPythonPackage rec { pname = "dm-tree"; - # As of 2021-12-29, the latest stable version still builds with Bazel. - version = "unstable-2021-12-20"; + version = "0.1.7"; src = fetchFromGitHub { owner = "deepmind"; repo = "tree"; - rev = "b452e5c2743e7489b4ba7f16ecd51c516d7cd8e3"; - sha256 = "1r187xwpvnnj98lyasngcv3lbxz0ziihpl5dbnjbfbjr0kh6z0j9"; + rev = version; + hash = "sha256-rg6dcGcbTGfK3h4WAyhwCjgM3o64Jj2SImxNsZXJHHM="; }; patches = [ diff --git a/pkgs/development/python-modules/ezdxf/default.nix b/pkgs/development/python-modules/ezdxf/default.nix index 3fd30062b0d9..6e1349883ada 100644 --- a/pkgs/development/python-modules/ezdxf/default.nix +++ b/pkgs/development/python-modules/ezdxf/default.nix @@ -1,22 +1,49 @@ -{ lib, buildPythonPackage, pythonOlder, fetchFromGitHub, pyparsing, pytest }: +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pyparsing +, typing-extensions +, pytestCheckHook +}: buildPythonPackage rec { - version = "0.12"; + version = "0.18.1"; pname = "ezdxf"; + format = "setuptools"; disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "mozman"; repo = "ezdxf"; - rev = "v${version}"; - sha256 = "1flcq96ljk5wqrmgsb4acflqzkg7rhlaxz0j5jxky9za0mj1x6dq"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-x1p9dWrbDtDreXdBuzOA4Za+ZC40y4xdEU7MGb9uUec="; }; - checkInputs = [ pytest ]; - checkPhase = "pytest tests integration_tests"; + propagatedBuildInputs = [ + pyparsing + typing-extensions + ]; - propagatedBuildInputs = [ pyparsing ]; + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # requires geomdl dependency + "TestNurbsPythonCorrectness" + "test_rational_spline_curve_points_by_nurbs_python" + "test_rational_spline_derivatives_by_nurbs_python" + "test_from_nurbs_python_curve_to_ezdxf_bspline" + "test_from_ezdxf_bspline_to_nurbs_python_curve_non_rational" + "test_from_ezdxf_bspline_to_nurbs_python_curve_rational" + ]; + + pythonImportsCheck = [ + "ezdxf" + "ezdxf.addons" + ]; meta = with lib; { description = "Python package to read and write DXF drawings (interface to the DXF file format)"; diff --git a/pkgs/development/python-modules/flake8-bugbear/default.nix b/pkgs/development/python-modules/flake8-bugbear/default.nix index 3bd384c413cd..40e611ca8b86 100644 --- a/pkgs/development/python-modules/flake8-bugbear/default.nix +++ b/pkgs/development/python-modules/flake8-bugbear/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "flake8-bugbear"; - version = "22.9.23"; + version = "22.10.25"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "PyCQA"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-LI8NnAB87Iel5aTVb2BIwHUB6KVtHzLvu+pJnFI3nw0="; + hash = "sha256-+eE9MY1k9JN0l3g8/wWOfbhkoSZLYG+wPKvl63R1n3o="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix index ebdb3ac898ad..d9171d14e41d 100644 --- a/pkgs/development/python-modules/flax/default.nix +++ b/pkgs/development/python-modules/flax/default.nix @@ -17,25 +17,15 @@ buildPythonPackage rec { pname = "flax"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = "google"; repo = pname; rev = "refs/tags/v${version}"; - sha256 = "sha256-egTYYFZxhE/Kk7jXRi1HmjCjyFia2LoRigH042isDu0="; + sha256 = "sha256-fZiODo+izOwGjCCTvi11GvUG/VQL1DV9bNXKjvIIw4A="; }; - patches = [ - # Bump rich dependency, should be fixed in releases after 0.6.0 - # https://github.com/google/flax/pull/2407 - (fetchpatch { - url = "https://github.com/google/flax/commit/72189153f9779022b97858ae747c23fbaf571e3d.patch"; - sha256 = "sha256-hKOn/M7qpBM6R1RIJpnXpRoZgIHqkwQZApN4L0fBzIE="; - name = "bump_rich_dependency.patch"; - }) - ]; - buildInputs = [ jaxlib ]; propagatedBuildInputs = [ @@ -76,6 +66,22 @@ buildPythonPackage rec { "examples/*" ]; + disabledTests = [ + # See https://github.com/google/flax/issues/2554. + "test_async_save_checkpoints" + "test_jax_array0" + "test_jax_array1" + "test_keep0" + "test_keep1" + "test_optimized_lstm_cell_matches_regular" + "test_overwrite_checkpoints" + "test_save_restore_checkpoints_target_empty" + "test_save_restore_checkpoints_target_none" + "test_save_restore_checkpoints_target_singular" + "test_save_restore_checkpoints_w_float_steps" + "test_save_restore_checkpoints" + ]; + meta = with lib; { description = "Neural network library for JAX"; homepage = "https://github.com/google/flax"; diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix index 006a6409e493..a3bd6ee91469 100644 --- a/pkgs/development/python-modules/pydal/default.nix +++ b/pkgs/development/python-modules/pydal/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "pydal"; - version = "20220814.1"; + version = "20220916.1"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-zl9dDQSTBSKGA4wMqueXF46McldLYE4hUIcM0467CNA="; + sha256 = "sha256-GKnJ1aRLuJp+wQVjzL51o/KteGD5k4X221bDzpIiEEQ="; }; postPatch = '' diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix index 9b4dcd5e6b48..509010afb3f1 100644 --- a/pkgs/development/python-modules/wxPython/4.0.nix +++ b/pkgs/development/python-modules/wxPython/4.0.nix @@ -21,6 +21,7 @@ , CoreFoundation , pillow , numpy +, six }: buildPythonPackage rec { @@ -46,7 +47,11 @@ buildPythonPackage rec { [ wxGTK.gtk ] ); - propagatedBuildInputs = [ pillow numpy ]; + propagatedBuildInputs = [ + numpy + pillow + six + ]; DOXYGEN = "${doxygen}/bin/doxygen"; diff --git a/pkgs/development/python-modules/wxPython/4.1.nix b/pkgs/development/python-modules/wxPython/4.1.nix index 3731ea988f61..dceab0dd26a9 100644 --- a/pkgs/development/python-modules/wxPython/4.1.nix +++ b/pkgs/development/python-modules/wxPython/4.1.nix @@ -28,6 +28,7 @@ , WebKit , pillow , numpy +, six , libXinerama , libSM , libXxf86vm @@ -108,7 +109,11 @@ buildPythonPackage rec { WebKit ]; - propagatedBuildInputs = [ pillow numpy ]; + propagatedBuildInputs = [ + pillow + numpy + six + ]; DOXYGEN = "${doxygen}/bin/doxygen"; diff --git a/pkgs/development/python-modules/wxPython/4.2-ctypes.patch b/pkgs/development/python-modules/wxPython/4.2-ctypes.patch new file mode 100644 index 000000000000..17fd8a9a8490 --- /dev/null +++ b/pkgs/development/python-modules/wxPython/4.2-ctypes.patch @@ -0,0 +1,18 @@ +diff --git a/wx/lib/wxcairo/wx_pycairo.py b/wx/lib/wxcairo/wx_pycairo.py +index 7cfe3071..24d1120f 100644 +--- a/wx/lib/wxcairo/wx_pycairo.py ++++ b/wx/lib/wxcairo/wx_pycairo.py +@@ -197,7 +197,12 @@ def _findCairoLib(): + + # For other DLLs we'll just use a dictionary to track them, as there + # probably isn't any need to use them outside of this module. +-_dlls = dict() ++_dlls = { ++ "gdk": ctypes.CDLL("@libgdk@"), ++ "pangocairo": ctypes.CDLL("@libpangocairo@"), ++ "cairoLib": ctypes.CDLL("@libcairo@"), ++ "appsvc": ctypes.CDLL(None), ++} + + def _findHelper(names, key, msg): + dll = _dlls.get(key, None) diff --git a/pkgs/development/python-modules/wxPython/4.2.nix b/pkgs/development/python-modules/wxPython/4.2.nix new file mode 100644 index 000000000000..a68d6cb4590a --- /dev/null +++ b/pkgs/development/python-modules/wxPython/4.2.nix @@ -0,0 +1,133 @@ +{ lib +, stdenv +, buildPythonPackage +, pythonOlder +, fetchPypi +, substituteAll + +# build +, autoPatchelfHook +, attrdict +, doxygen +, pkg-config +, python +, sip +, which + +# runtime +, cairo +, gst_all_1 +, gtk3 +, libGL +, libGLU +, libSM +, libXinerama +, libXtst +, libXxf86vm +, libglvnd +, mesa +, pango +, SDL +, webkitgtk +, wxGTK +, xorgproto + +# propagates +, numpy +, pillow +, six +}: + +buildPythonPackage rec { + pname = "wxPython"; + version = "4.2.0"; + format = "other"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-ZjzrxFCdfl0RNRiGX+J093+VQ0xdV7w4btWNZc7thsc="; + }; + + patches = [ + (substituteAll { + src = ./4.2-ctypes.patch; + libgdk = "${gtk3.out}/lib/libgdk-3.so"; + libpangocairo = "${pango}/lib/libpangocairo-1.0.so"; + libcairo = "${cairo}/lib/libcairo.so"; + }) + ]; + + nativeBuildInputs = [ + attrdict + pkg-config + SDL + sip + which + wxGTK + ] ++ lib.optionals stdenv.isLinux [ + autoPatchelfHook + ]; + + buildInputs = [ + wxGTK + SDL + ] ++ lib.optionals stdenv.isLinux [ + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + libGL + libGLU + libSM + libXinerama + libXtst + libXxf86vm + libglvnd + mesa + webkitgtk + xorgproto + ]; + + propagatedBuildInputs = [ + numpy + pillow + six + ]; + + buildPhase = '' + runHook preBuild + + export DOXYGEN=${doxygen}/bin/doxygen + export PATH="${wxGTK}/bin:$PATH" + export SDL_CONFIG="${SDL.dev}/bin/sdl-config" + + ${python.interpreter} build.py -v --use_syswx dox etg sip --nodoc build_py + + runHook postBuild + ''; + + + installPhase = '' + runHook preInstall + + ${python.interpreter} setup.py install --skip-build --prefix=$out + wrapPythonPrograms + + runHook postInstall + ''; + + checkPhase = '' + runHook preCheck + + ${python.interpreter} build.py -v test + + runHook postCheck + ''; + + + meta = with lib; { + description = "Cross platform GUI toolkit for Python, Phoenix version"; + homepage = "http://wxpython.org/"; + license = licenses.wxWindows; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/tools/rust/cargo-hack/default.nix b/pkgs/development/tools/rust/cargo-hack/default.nix index fa575759981f..fc34656edcd8 100644 --- a/pkgs/development/tools/rust/cargo-hack/default.nix +++ b/pkgs/development/tools/rust/cargo-hack/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-hack"; - version = "0.5.21"; + version = "0.5.22"; src = fetchCrate { inherit pname version; - sha256 = "sha256-E0YhpfFT1JQzXWK3cQfieZ8TVg+BRGwHL6cTwOrNVSQ="; + sha256 = "sha256-TuHCKitlCCV//VBi514IMdcscsBc4yibfdsCO/nmisU="; }; - cargoSha256 = "sha256-AfILqelDRJuVVEoOT2FLKHq4QVEZXbwPSM0s4fpP00A="; + cargoSha256 = "sha256-2tF6553SGbBrGkTznk3zWMweQjks+Z699HE1l0DVYec="; # some necessary files are absent in the crate version doCheck = false; diff --git a/pkgs/development/web/ihp-new/default.nix b/pkgs/development/web/ihp-new/default.nix index 69e45f44eb85..792eba3978cc 100644 --- a/pkgs/development/web/ihp-new/default.nix +++ b/pkgs/development/web/ihp-new/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "ihp-new"; - version = "0.20.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "digitallyinduced"; repo = "ihp"; rev = "v${version}"; - sha256 = "sha256-fvFRBnMnFGsPleVv5aPfuoP1UzjnBel0NiNULFP+GkI="; + sha256 = "sha256-8RBZn74pMAOHZL1VzO9DeEeDYm5CE1HOobP9e7Ze0Us="; }; dontConfigure = true; diff --git a/pkgs/servers/mail/dspam/default.nix b/pkgs/servers/mail/dspam/default.nix index e2388e6a9491..31f149f1dd42 100644 --- a/pkgs/servers/mail/dspam/default.nix +++ b/pkgs/servers/mail/dspam/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, makeWrapper , gawk, gnused, gnugrep, coreutils, which , perlPackages -, withMySQL ? false, zlib, mysql57 +, withMySQL ? false, zlib, mariadb-connector-c , withPgSQL ? false, postgresql , withSQLite ? false, sqlite , withDB ? false, db @@ -25,13 +25,21 @@ in stdenv.mkDerivation rec { url = "mirror://sourceforge/dspam/dspam/${pname}-${version}/${pname}-${version}.tar.gz"; sha256 = "1acklnxn1wvc7abn31l3qdj8q6k13s51k5gv86vka7q20jb5cxmf"; }; + patches = [ + # https://gist.github.com/WhiteAnthrax/613136c76882e0ead3cb3bdad6b3d551 + ./mariadb.patch + ]; buildInputs = [ perlPackages.perl ] - ++ lib.optionals withMySQL [ zlib mysql57.connector-c ] + ++ lib.optionals withMySQL [ zlib mariadb-connector-c.out ] ++ lib.optional withPgSQL postgresql ++ lib.optional withSQLite sqlite ++ lib.optional withDB db; nativeBuildInputs = [ makeWrapper ]; + # patch out libmysql >= 5 check, since mariadb-connector is at 3.x + postPatch = '' + sed -i 's/atoi(m) >= 5/1/g' configure m4/mysql_drv.m4 + ''; configureFlags = [ "--with-storage-driver=${drivers}" @@ -50,7 +58,10 @@ in stdenv.mkDerivation rec { "--enable-preferences-extension" "--enable-long-usernames" "--enable-external-lookup" - ] ++ lib.optional withMySQL "--with-mysql-includes=${mysql57.connector-c}/include/mysql" + ] ++ lib.optionals withMySQL [ + "--with-mysql-includes=${mariadb-connector-c.dev}/include/mysql" + "--with-mysql-libraries=${mariadb-connector-c.out}/lib/mysql" + ] ++ lib.optional withPgSQL "--with-pgsql-libraries=${postgresql.lib}/lib"; # Workaround build failure on -fno-common toolchains like upstream diff --git a/pkgs/servers/mail/dspam/mariadb.patch b/pkgs/servers/mail/dspam/mariadb.patch new file mode 100644 index 000000000000..5f3d8277d943 --- /dev/null +++ b/pkgs/servers/mail/dspam/mariadb.patch @@ -0,0 +1,42 @@ +diff -ur dspam-3.10.2.orig/configure dspam-3.10.2/configure +--- dspam-3.10.2.orig/configure 2012-04-24 02:53:49.000000000 +0900 ++++ dspam-3.10.2/configure 2019-05-24 01:59:06.557890494 +0900 +@@ -13280,7 +13280,7 @@ + #include + #include + #include +- #if defined(PROTOCOL_VERSION) && defined(ER_LOCK_DEADLOCK) && defined(ER_LOCK_WAIT_TIMEOUT) && defined(ER_LOCK_OR_ACTIVE_TRANSACTION) && defined(CR_ERROR_FIRST) ++ #if defined(PROTOCOL_VERSION) && defined(ER_LOCK_DEADLOCK) && defined(ER_LOCK_WAIT_TIMEOUT) && defined(ER_LOCK_OR_ACTIVE_TRANSACTION) && defined(CR_MIN_ERROR) + /* Success */ + #else + #error Unsupported version of MySQL +@@ -13293,7 +13293,7 @@ + + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "Unsupported version of MySQL (no PROTOCOL_VERSION or ER_LOCK_DEADLOCK or ER_LOCK_WAIT_TIMEOUT or ER_LOCK_OR_ACTIVE_TRANSACTION or CR_ERROR_FIRST defined) ++as_fn_error $? "Unsupported version of MySQL (no PROTOCOL_VERSION or ER_LOCK_DEADLOCK or ER_LOCK_WAIT_TIMEOUT or ER_LOCK_OR_ACTIVE_TRANSACTION or CR_MIN_ERROR defined) + See \`config.log' for more details" "$LINENO" 5; } + mysql_headers_success=no + +diff -ur dspam-3.10.2.orig/m4/mysql_drv.m4 dspam-3.10.2/m4/mysql_drv.m4 +--- dspam-3.10.2.orig/m4/mysql_drv.m4 2011-08-17 07:38:30.000000000 +0900 ++++ dspam-3.10.2/m4/mysql_drv.m4 2019-05-24 02:00:08.301217506 +0900 +@@ -80,7 +80,7 @@ + #include + #include + #include +- #if defined(PROTOCOL_VERSION) && defined(ER_LOCK_DEADLOCK) && defined(ER_LOCK_WAIT_TIMEOUT) && defined(ER_LOCK_OR_ACTIVE_TRANSACTION) && defined(CR_ERROR_FIRST) ++ #if defined(PROTOCOL_VERSION) && defined(ER_LOCK_DEADLOCK) && defined(ER_LOCK_WAIT_TIMEOUT) && defined(ER_LOCK_OR_ACTIVE_TRANSACTION) && defined(CR_MIN_ERROR) + /* Success */ + #else + #error Unsupported version of MySQL +@@ -88,7 +88,7 @@ + ]])], + [], + [ +- AC_MSG_FAILURE([Unsupported version of MySQL (no PROTOCOL_VERSION or ER_LOCK_DEADLOCK or ER_LOCK_WAIT_TIMEOUT or ER_LOCK_OR_ACTIVE_TRANSACTION or CR_ERROR_FIRST defined)]) ++ AC_MSG_FAILURE([Unsupported version of MySQL (no PROTOCOL_VERSION or ER_LOCK_DEADLOCK or ER_LOCK_WAIT_TIMEOUT or ER_LOCK_OR_ACTIVE_TRANSACTION or CR_MIN_ERROR defined)]) + mysql_headers_success=no + ]) + fi diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index f75fada0d8a0..2796906fe03e 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,273 +1,281 @@ -{ lib, stdenv, fetchurl, nixosTests, buildPackages -# Native buildInputs components -, bison, boost, cmake, fixDarwinDylibNames, flex, makeWrapper, pkg-config -# Common components -, curl, libiconv, ncurses, openssl, openssl_1_1, pcre, pcre2 -, libkrb5, libaio, liburing, systemd -, CoreServices, cctools, perl -, jemalloc, less, libedit -# Server components -, bzip2, lz4, lzo, snappy, xz, zlib, zstd -, cracklib, judy, libevent, libxml2 -, linux-pam, numactl, pmdk -, fmt_8 -, withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq -, withStorageRocks ? true -}: - let + # shared across all versions + generic = + { version, hash + , lib, stdenv, fetchurl, nixosTests, buildPackages + # Native buildInputs components + , bison, boost, cmake, fixDarwinDylibNames, flex, makeWrapper, pkg-config + # Common components + , curl, libiconv, ncurses, openssl, openssl_1_1, pcre, pcre2 + , libkrb5, libaio, liburing, systemd + , CoreServices, cctools, perl + , jemalloc, less, libedit + # Server components + , bzip2, lz4, lzo, snappy, xz, zlib, zstd + , cracklib, judy, libevent, libxml2 + , linux-pam, numactl, pmdk + , fmt_8 + , withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq + , withStorageRocks ? true + , withEmbedded ? false + }: + let + libExt = stdenv.hostPlatform.extensions.sharedLibrary; -libExt = stdenv.hostPlatform.extensions.sharedLibrary; + mytopEnv = buildPackages.perl.withPackages (p: with p; [ DBDmysql DBI TermReadKey ]); -mytopEnv = buildPackages.perl.withPackages (p: with p; [ DBDmysql DBI TermReadKey ]); + common = rec { # attributes common to both builds + inherit version; -mariadbPackage = packageSettings: (server packageSettings) // { - client = client packageSettings; # MariaDB Client - server = server packageSettings; # MariaDB Server -}; + src = fetchurl { + url = "https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"; + inherit hash; + }; -commonOptions = packageSettings: rec { # attributes common to both builds - inherit (packageSettings) version; + outputs = [ "out" "man" ]; - src = fetchurl { - url = "https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"; - inherit (packageSettings) hash; - }; + nativeBuildInputs = [ cmake pkg-config ] + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames + ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeWrapper; - nativeBuildInputs = [ cmake pkg-config ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames - ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeWrapper; + buildInputs = [ + libiconv ncurses zlib + ] ++ lib.optionals stdenv.hostPlatform.isLinux ([ libkrb5 systemd ] + ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ])) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl libedit ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ jemalloc ] + ++ (if (lib.versionOlder version "10.5") then [ pcre ] else [ pcre2 ]) + ++ (if (lib.versionOlder version "10.6") + then [ openssl_1_1 (curl.override { openssl = openssl_1_1; }) ] + else [ openssl curl ]); - buildInputs = [ - libiconv ncurses zlib - ] ++ (packageSettings.extraBuildInputs or []) - ++ lib.optionals stdenv.hostPlatform.isLinux ([ libkrb5 systemd ] - ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ])) - ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl libedit ] - ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ jemalloc ] - ++ (if (lib.versionOlder version "10.5") then [ pcre ] else [ pcre2 ]) - ++ (if (lib.versionOlder version "10.6") - then [ openssl_1_1 (curl.override { openssl = openssl_1_1; }) ] - else [ openssl curl ]); + prePatch = '' + sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt + ''; - prePatch = '' - sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt - ''; + patches = [ + ./patch/cmake-includedir.patch + ] + # Fixes a build issue as documented on + # https://jira.mariadb.org/browse/MDEV-26769?focusedCommentId=206073&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-206073 + ++ lib.optional (!stdenv.hostPlatform.isLinux && lib.versionAtLeast version "10.6") ./patch/macos-MDEV-26769-regression-fix.patch; - patches = [ - ./patch/cmake-includedir.patch - ] - # Fixes a build issue as documented on - # https://jira.mariadb.org/browse/MDEV-26769?focusedCommentId=206073&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-206073 - ++ lib.optional (!stdenv.hostPlatform.isLinux && lib.versionAtLeast version "10.6") ./patch/macos-MDEV-26769-regression-fix.patch; + cmakeFlags = [ + "-DBUILD_CONFIG=mysql_release" + "-DMANUFACTURER=nixos.org" + "-DDEFAULT_CHARSET=utf8mb4" + "-DDEFAULT_COLLATION=utf8mb4_unicode_ci" + "-DSECURITY_HARDENED=ON" - cmakeFlags = [ - "-DBUILD_CONFIG=mysql_release" - "-DMANUFACTURER=nixos.org" - "-DDEFAULT_CHARSET=utf8mb4" - "-DDEFAULT_COLLATION=utf8mb4_unicode_ci" - "-DSECURITY_HARDENED=ON" + "-DINSTALL_UNIX_ADDRDIR=/run/mysqld/mysqld.sock" + "-DINSTALL_BINDIR=bin" + "-DINSTALL_DOCDIR=share/doc/mysql" + "-DINSTALL_DOCREADMEDIR=share/doc/mysql" + "-DINSTALL_INCLUDEDIR=include/mysql" + "-DINSTALL_LIBDIR=lib" + "-DINSTALL_PLUGINDIR=lib/mysql/plugin" + "-DINSTALL_INFODIR=share/mysql/docs" + "-DINSTALL_MANDIR=share/man" + "-DINSTALL_MYSQLSHAREDIR=share/mysql" + "-DINSTALL_SCRIPTDIR=bin" + "-DINSTALL_SUPPORTFILESDIR=share/doc/mysql" + "-DINSTALL_MYSQLTESTDIR=OFF" + "-DINSTALL_SQLBENCHDIR=OFF" + "-DINSTALL_PAMDIR=share/pam/lib/security" + "-DINSTALL_PAMDATADIR=share/pam/etc/security" - "-DINSTALL_UNIX_ADDRDIR=/run/mysqld/mysqld.sock" - "-DINSTALL_BINDIR=bin" - "-DINSTALL_DOCDIR=share/doc/mysql" - "-DINSTALL_DOCREADMEDIR=share/doc/mysql" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_LIBDIR=lib" - "-DINSTALL_PLUGINDIR=lib/mysql/plugin" - "-DINSTALL_INFODIR=share/mysql/docs" - "-DINSTALL_MANDIR=share/man" - "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_SCRIPTDIR=bin" - "-DINSTALL_SUPPORTFILESDIR=share/doc/mysql" - "-DINSTALL_MYSQLTESTDIR=OFF" - "-DINSTALL_SQLBENCHDIR=OFF" - "-DINSTALL_PAMDIR=share/pam/lib/security" - "-DINSTALL_PAMDATADIR=share/pam/etc/security" + "-DWITH_ZLIB=system" + "-DWITH_SSL=system" + "-DWITH_PCRE=system" + "-DWITH_SAFEMALLOC=OFF" + "-DWITH_UNIT_TESTS=OFF" + "-DEMBEDDED_LIBRARY=OFF" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but + # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides + # to pass in java explicitly. + "-DCONNECT_WITH_JDBC=OFF" + "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" + ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + # revisit this if nixpkgs supports any architecture whose stack grows upwards + "-DSTACK_DIRECTION=-1" + "-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}" + ]; - "-DWITH_ZLIB=system" - "-DWITH_SSL=system" - "-DWITH_PCRE=system" - "-DWITH_SAFEMALLOC=OFF" - "-DWITH_UNIT_TESTS=OFF" - "-DEMBEDDED_LIBRARY=OFF" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but - # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides - # to pass in java explicitly. - "-DCONNECT_WITH_JDBC=OFF" - "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" - ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - # revisit this if nixpkgs supports any architecture whose stack grows upwards - "-DSTACK_DIRECTION=-1" - "-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}" - ]; + postInstall = lib.optionalString (!withEmbedded) '' + # Remove Development components. Need to use libmysqlclient. + rm "$out"/lib/mysql/plugin/daemon_example.ini + rm "$out"/lib/{libmariadb.a,libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} + rm -f "$out"/bin/{mariadb-config,mariadb_config,mysql_config} + rm -r $out/include + rm -r $out/lib/pkgconfig + ''; - postInstall = '' - # Remove Development components. Need to use libmysqlclient. - rm "$out"/lib/mysql/plugin/daemon_example.ini - rm "$out"/lib/{libmariadb.a,libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} - rm -f "$out"/bin/{mariadb-config,mariadb_config,mysql_config} - rm -r $out/include - rm -r $out/lib/pkgconfig - ''; + # perlPackages.DBDmysql is broken on darwin + postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + wrapProgram $out/bin/mytop --set PATH ${lib.makeBinPath [ less ncurses ]} + ''; - # perlPackages.DBDmysql is broken on darwin - postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - wrapProgram $out/bin/mytop --set PATH ${lib.makeBinPath [ less ncurses ]} - ''; + passthru.tests = let + testVersion = "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor version)}"; + in { + mariadb-galera-rsync = nixosTests.mariadb-galera.${testVersion}; + mysql = nixosTests.mysql.${testVersion}; + mysql-autobackup = nixosTests.mysql-autobackup.${testVersion}; + mysql-backup = nixosTests.mysql-backup.${testVersion}; + mysql-replication = nixosTests.mysql-replication.${testVersion}; + }; - passthru.tests = let - testVersion = "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor (packageSettings.version))}"; - in { - mariadb-galera-rsync = nixosTests.mariadb-galera.${testVersion}; - mysql = nixosTests.mysql.${testVersion}; - mysql-autobackup = nixosTests.mysql-autobackup.${testVersion}; - mysql-backup = nixosTests.mysql-backup.${testVersion}; - mysql-replication = nixosTests.mysql-replication.${testVersion}; - }; + meta = with lib; { + description = "An enhanced, drop-in replacement for MySQL"; + homepage = "https://mariadb.org/"; + license = licenses.gpl2; + maintainers = with maintainers; [ thoughtpolice ajs124 das_j ]; + platforms = platforms.all; + }; + }; - meta = with lib; { - description = "An enhanced, drop-in replacement for MySQL"; - homepage = "https://mariadb.org/"; - license = licenses.gpl2; - maintainers = with maintainers; [ thoughtpolice ajs124 das_j ]; - platforms = platforms.all; - }; -}; + client = stdenv.mkDerivation (common // { + pname = "mariadb-client"; -client = packageSettings: let - common = commonOptions packageSettings; + patches = common.patches ++ [ + ./patch/cmake-plugin-includedir.patch + ]; -in stdenv.mkDerivation (common // { - pname = "mariadb-client"; + cmakeFlags = common.cmakeFlags ++ [ + "-DPLUGIN_AUTH_PAM=NO" + "-DWITHOUT_SERVER=ON" + "-DWITH_WSREP=OFF" + "-DINSTALL_MYSQLSHAREDIR=share/mysql-client" + ]; - outputs = [ "out" "man" ]; + postInstall = common.postInstall + '' + rm "$out"/bin/{mariadb-test,mysqltest} + libmysqlclient_path=$(readlink -f $out/lib/libmysqlclient${libExt}) + rm "$out"/lib/{libmariadb${libExt},libmysqlclient${libExt},libmysqlclient_r${libExt}} + mv "$libmysqlclient_path" "$out"/lib/libmysqlclient${libExt} + ln -sv libmysqlclient${libExt} "$out"/lib/libmysqlclient_r${libExt} + ''; + }); - patches = common.patches ++ [ - ./patch/cmake-plugin-includedir.patch - ]; + server = stdenv.mkDerivation (common // { + pname = "mariadb-server"; - cmakeFlags = common.cmakeFlags ++ [ - "-DPLUGIN_AUTH_PAM=NO" - "-DWITHOUT_SERVER=ON" - "-DWITH_WSREP=OFF" - "-DINSTALL_MYSQLSHAREDIR=share/mysql-client" - ]; + nativeBuildInputs = common.nativeBuildInputs ++ [ bison boost.dev flex ]; - postInstall = common.postInstall + '' - rm "$out"/bin/{mariadb-test,mysqltest} - libmysqlclient_path=$(readlink -f $out/lib/libmysqlclient${libExt}) - rm "$out"/lib/{libmariadb${libExt},libmysqlclient${libExt},libmysqlclient_r${libExt}} - mv "$libmysqlclient_path" "$out"/lib/libmysqlclient${libExt} - ln -sv libmysqlclient${libExt} "$out"/lib/libmysqlclient_r${libExt} - ''; -}); + buildInputs = common.buildInputs ++ [ + bzip2 lz4 lzo snappy xz zstd + cracklib judy libevent libxml2 + ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl + ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] + ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev + ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv + ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ] + ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; -server = packageSettings: let - common = commonOptions packageSettings; + propagatedBuildInputs = lib.optionals withEmbedded + (lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.lib + ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl); -in stdenv.mkDerivation (common // { - pname = "mariadb-server"; + postPatch = '' + substituteInPlace scripts/galera_new_cluster.sh \ + --replace ":-mariadb" ":-mysql" + ''; - outputs = [ "out" "man" ]; + cmakeFlags = common.cmakeFlags ++ [ + "-DMYSQL_DATADIR=/var/lib/mysql" + "-DENABLED_LOCAL_INFILE=OFF" + "-DWITH_READLINE=ON" + "-DWITH_EXTRA_CHARSETS=all" + "-DWITH_EMBEDDED_SERVER=${if withEmbedded then "ON" else "OFF"}" + "-DWITH_UNIT_TESTS=OFF" + "-DWITH_WSREP=ON" + "-DWITH_INNODB_DISALLOW_WRITES=ON" + "-DWITHOUT_EXAMPLE=1" + "-DWITHOUT_FEDERATED=1" + "-DWITHOUT_TOKUDB=1" + ] ++ lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [ + "-DWITH_NUMA=ON" + ] ++ lib.optionals (!withStorageMroonga) [ + "-DWITHOUT_MROONGA=1" + ] ++ lib.optionals (!withStorageRocks) [ + "-DWITHOUT_ROCKSDB=1" + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ + "-DWITH_ROCKSDB_JEMALLOC=ON" + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + "-DWITH_JEMALLOC=yes" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DPLUGIN_AUTH_PAM=NO" + "-DPLUGIN_AUTH_PAM_V1=NO" + "-DWITHOUT_OQGRAPH=1" + "-DWITHOUT_PLUGIN_S3=1" + ]; - nativeBuildInputs = common.nativeBuildInputs ++ [ bison boost.dev flex ]; + preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + patchShebangs scripts/mytop.sh + ''; - buildInputs = common.buildInputs ++ [ - bzip2 lz4 lzo snappy xz zstd - cracklib judy libevent libxml2 - ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl - ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] - ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev - ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv - ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ] - ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; + postInstall = common.postInstall + '' + rm -r "$out"/share/aclocal + chmod +x "$out"/bin/wsrep_sst_common + rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} + '' + lib.optionalString withStorageMroonga '' + mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql + '' + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") '' + mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security + mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security + rm -r "$out"/OFF + ''; - patches = common.patches; - - postPatch = '' - substituteInPlace scripts/galera_new_cluster.sh \ - --replace ":-mariadb" ":-mysql" - ''; - - cmakeFlags = common.cmakeFlags ++ [ - "-DMYSQL_DATADIR=/var/lib/mysql" - "-DENABLED_LOCAL_INFILE=OFF" - "-DWITH_READLINE=ON" - "-DWITH_EXTRA_CHARSETS=all" - "-DWITH_EMBEDDED_SERVER=OFF" - "-DWITH_UNIT_TESTS=OFF" - "-DWITH_WSREP=ON" - "-DWITH_INNODB_DISALLOW_WRITES=ON" - "-DWITHOUT_EXAMPLE=1" - "-DWITHOUT_FEDERATED=1" - "-DWITHOUT_TOKUDB=1" - ] ++ lib.optionals (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [ - "-DWITH_NUMA=ON" - ] ++ lib.optionals (!withStorageMroonga) [ - "-DWITHOUT_MROONGA=1" - ] ++ lib.optionals (!withStorageRocks) [ - "-DWITHOUT_ROCKSDB=1" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ - "-DWITH_ROCKSDB_JEMALLOC=ON" - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - "-DWITH_JEMALLOC=yes" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DPLUGIN_AUTH_PAM=NO" - "-DPLUGIN_AUTH_PAM_V1=NO" - "-DWITHOUT_OQGRAPH=1" - "-DWITHOUT_PLUGIN_S3=1" - ]; - - preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - patchShebangs scripts/mytop.sh - ''; - - postInstall = common.postInstall + '' - rm -r "$out"/share/aclocal - chmod +x "$out"/bin/wsrep_sst_common - rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} - '' + lib.optionalString withStorageMroonga '' - mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql - '' + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") '' - mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security - mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security - rm -r "$out"/OFF - ''; - - CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive"; - NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic"; -}); -in { - mariadb_104 = mariadbPackage { - # Supported until 2024-06-18 - version = "10.4.26"; - hash = "sha256-cVrH4jr8O4pVnGzJmM2xlz2Q9iGyvddgPixuU4YLLd8="; - }; - mariadb_105 = mariadbPackage { - # Supported until 2025-06-24 - version = "10.5.17"; - hash = "sha256-hJyEC3b0hWUDtD7zqEH8lx6LUYjI3zaQkTv1aZaRt2E="; - }; - mariadb_106 = mariadbPackage { - # Supported until 2026-07 - version = "10.6.10"; - hash = "sha256-atn6hvDIXI7q+tJkNUnV/13ShyAClk51R1LekYY6o7c="; - }; - mariadb_107 = mariadbPackage { - # Supported until 2023-02. TODO: remove ahead of 22.11 release. - version = "10.7.6"; - hash = "sha256-erX7pDmQV33BdPG5a9NAszN8G9Rv48NmIgsJ0siNLqA="; - }; - mariadb_108 = mariadbPackage { - # Supported until 2023-05 - version = "10.8.5"; - hash = "sha256-z37TjDYTTNgYP93WTLPlD1ROgmS6dCAlXbEpcJfgjos="; - }; - mariadb_109 = mariadbPackage { - # Supported until 2023-08(?) - version = "10.9.3"; - hash = "sha256-mh4imXL8zMgnDmM/aNP7gk2hUdz09T2h342UesqHa+4="; - }; -} + CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive"; + NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic"; + }); + in + server // { + inherit client server; + }; +in + self: { + mariadb_104 = self.callPackage generic { + # Supported until 2024-06-18 + version = "10.4.26"; + hash = "sha256-cVrH4jr8O4pVnGzJmM2xlz2Q9iGyvddgPixuU4YLLd8="; + inherit (self.darwin) cctools; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_105 = self.callPackage generic { + # Supported until 2025-06-24 + version = "10.5.17"; + hash = "sha256-hJyEC3b0hWUDtD7zqEH8lx6LUYjI3zaQkTv1aZaRt2E="; + inherit (self.darwin) cctools; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_106 = self.callPackage generic { + # Supported until 2026-07 + version = "10.6.10"; + hash = "sha256-atn6hvDIXI7q+tJkNUnV/13ShyAClk51R1LekYY6o7c="; + inherit (self.darwin) cctools; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_107 = self.callPackage generic { + # Supported until 2023-02. TODO: remove ahead of 22.11 release. + version = "10.7.6"; + hash = "sha256-erX7pDmQV33BdPG5a9NAszN8G9Rv48NmIgsJ0siNLqA="; + inherit (self.darwin) cctools; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_108 = self.callPackage generic { + # Supported until 2023-05 + version = "10.8.5"; + hash = "sha256-z37TjDYTTNgYP93WTLPlD1ROgmS6dCAlXbEpcJfgjos="; + inherit (self.darwin) cctools; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + mariadb_109 = self.callPackage generic { + # Supported until 2023-08(?) + version = "10.9.3"; + hash = "sha256-mh4imXL8zMgnDmM/aNP7gk2hUdz09T2h342UesqHa+4="; + inherit (self.darwin) cctools; + inherit (self.darwin.apple_sdk.frameworks) CoreServices; + }; + } diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix index d40d42a41d07..553cf937b0ea 100644 --- a/pkgs/servers/sql/mysql/8.0.x.nix +++ b/pkgs/servers/sql/mysql/8.0.x.nix @@ -6,11 +6,11 @@ let self = stdenv.mkDerivation rec { pname = "mysql"; - version = "8.0.30"; + version = "8.0.31"; src = fetchurl { url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz"; - sha256 = "sha256-yYjVxrqaVmkqbNbpgTRltfyTaO1LRh35cFmi/BYMi4Q="; + sha256 = "sha256-Z7uMunWyjpXH95SFY/AfuEUo/LsaNduoOdTORP4Bm6o="; }; nativeBuildInputs = [ bison cmake pkg-config ] diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index a8623ced3782..f5d909d25259 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -3,7 +3,9 @@ , groff , less , fetchFromGitHub +, nix-update-script }: + let py = python3.override { packageOverrides = self: super: { @@ -12,7 +14,16 @@ let src = self.fetchPypi { inherit (oldAttrs) pname; inherit version; - sha256 = "sha256-MGLTFcsWVC/gTdgjny6LwyOO6QRc1QcLkVzy677Lqqw="; + hash = "sha256-MGLTFcsWVC/gTdgjny6LwyOO6QRc1QcLkVzy677Lqqw="; + }; + }); + + prompt-toolkit = super.prompt-toolkit.overridePythonAttrs (oldAttrs: rec { + version = "3.0.28"; + src = self.fetchPypi { + pname = "prompt_toolkit"; + inherit version; + hash = "sha256-nxzRax6GwpaPJRnX+zHdnWaZFvUVYSwmnRTp7VK1FlA="; }; }); }; @@ -21,15 +32,20 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli2"; - version = "2.7.33"; # N.B: if you change this, check if overrides are still up-to-date + version = "2.8.5"; # N.B: if you change this, check if overrides are still up-to-date + format = "pyproject"; src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; rev = version; - sha256 = "sha256-9X056Xc9DPp8BiuAeCvQrswcj7mnZKrkMOad5aP1TI8="; + sha256 = "sha256-il5vUTHRTb1Y2ofu5z8W/8S39KRmRgKXVZs1f1T8YAg="; }; + nativeBuildInputs = [ + flit-core + ]; + propagatedBuildInputs = [ awscrt bcdoc @@ -53,25 +69,14 @@ with py.pkgs; buildPythonApplication rec { jsonschema mock pytestCheckHook - pytest-xdist ]; postPatch = '' - substituteInPlace setup.cfg \ + substituteInPlace pyproject.toml \ --replace "colorama>=0.2.5,<0.4.4" "colorama" \ - --replace "cryptography>=3.3.2,<37.0.0" "cryptography" \ + --replace "distro>=1.5.0,<1.6.0" "distro" \ --replace "docutils>=0.10,<0.16" "docutils" \ - --replace "ruamel.yaml>=0.15.0,<=0.17.21" "ruamel.yaml" \ - --replace "wcwidth<0.2.0" "wcwidth" \ - --replace "prompt-toolkit>=3.0.24,<3.0.29" "prompt-toolkit~=3.0" \ - --replace "distro>=1.5.0,<1.6.0" "distro" - ''; - - checkPhase = '' - export PATH=$PATH:$out/bin - - # https://github.com/NixOS/nixpkgs/issues/16144#issuecomment-225422439 - export HOME=$TMP + --replace "wcwidth<0.2.0" "wcwidth" ''; postInstall = '' @@ -87,13 +92,42 @@ with py.pkgs; buildPythonApplication rec { rm $out/bin/aws.cmd ''; - passthru.python = py; # for aws_shell + doCheck = true; + + preCheck = '' + export PATH=$PATH:$out/bin + export HOME=$(mktemp -d) + ''; + + pytestFlagsArray = [ + "-Wignore::DeprecationWarning" + ]; + + disabledTestPaths = [ + # Integration tests require networking + "tests/integration" + + # Disable slow tests (only run unit tests) + "tests/backends" + "tests/functional" + ]; + + pythonImportsCheck = [ + "awscli" + ]; + + passthru = { + python = py; # for aws_shell + updateScript = nix-update-script { + attrPath = pname; + }; + }; meta = with lib; { homepage = "https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html"; changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst"; description = "Unified tool to manage your AWS services"; license = licenses.asl20; - maintainers = with maintainers; [ bhipple davegallant bryanasdev000 devusb ]; + maintainers = with maintainers; [ bhipple davegallant bryanasdev000 devusb anthonyroussel ]; }; } diff --git a/pkgs/tools/misc/sagoin/default.nix b/pkgs/tools/misc/sagoin/default.nix new file mode 100644 index 000000000000..7c6fb92b9d38 --- /dev/null +++ b/pkgs/tools/misc/sagoin/default.nix @@ -0,0 +1,42 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, installShellFiles +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "sagoin"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "figsoda"; + repo = pname; + rev = "v${version}"; + sha256 = "0cp3sdck48kz7ssv9q0glz1m0awxis2n3lw8f8kvqm42zxa50ixm"; + }; + + cargoSha256 = "sha256-hPj1sj64JoIGEoHMIm2bE+G+ivokckvChhrxNoaUTo8="; + + nativeBuildInputs = [ installShellFiles ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + postInstall = '' + installManPage artifacts/sagoin.1 + installShellCompletion artifacts/sagoin.{bash,fish} --zsh artifacts/_sagoin + ''; + + GEN_ARTIFACTS = "artifacts"; + + meta = with lib; { + description = "A command-line submission tool for the UMD CS Submission Server"; + homepage = "https://github.com/figsoda/sagoin"; + changelog = "https://github.com/figsoda/sagoin/blob/v${version}/CHANGELOG.md"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix index 23a7e7ad9564..0e1a3cfebd8b 100644 --- a/pkgs/tools/misc/svtplay-dl/default.nix +++ b/pkgs/tools/misc/svtplay-dl/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, python3Packages, perl, zip -, gitMinimal, ffmpeg }: +{ lib +, stdenv +, fetchFromGitHub +, makeWrapper +, python3Packages +, perl +, zip +, gitMinimal +, ffmpeg +}: let @@ -7,15 +15,19 @@ let python pytest nose cryptography pyyaml requests mock requests-mock python-dateutil setuptools; -in stdenv.mkDerivation rec { + version = "4.14"; + +in + +stdenv.mkDerivation rec { pname = "svtplay-dl"; - version = "4.13"; + inherit version; src = fetchFromGitHub { owner = "spaam"; repo = "svtplay-dl"; rev = version; - sha256 = "sha256-0Lqm6zN/H6yPIhkVvULmoQsV9SDG25LDiGWmtyiXHxI="; + sha256 = "sha256-jfrzgWlEoct8BJLkteWlYjXR/D4J+ShQhsNPBCN+zeQ="; }; pythonPaths = [ cryptography pyyaml requests ]; diff --git a/pkgs/tools/networking/smokeping/default.nix b/pkgs/tools/networking/smokeping/default.nix index 6d0d52271111..2b4a12bc7378 100644 --- a/pkgs/tools/networking/smokeping/default.nix +++ b/pkgs/tools/networking/smokeping/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fping, rrdtool, perlPackages }: +{ lib, stdenv, fetchurl, fping, rrdtool, perlPackages, nixosTests }: stdenv.mkDerivation rec { pname = "smokeping"; @@ -14,6 +14,9 @@ stdenv.mkDerivation rec { postInstall = '' mv $out/htdocs/smokeping.fcgi.dist $out/htdocs/smokeping.fcgi ''; + + passthru.tests.smokeping = nixosTests.smokeping; + meta = { description = "Network latency collector"; homepage = "http://oss.oetiker.ch/smokeping"; diff --git a/pkgs/tools/nix/nix-output-monitor/generated-package.nix b/pkgs/tools/nix/nix-output-monitor/generated-package.nix index 7a11e57cb026..f48056a2e4a4 100644 --- a/pkgs/tools/nix/nix-output-monitor/generated-package.nix +++ b/pkgs/tools/nix/nix-output-monitor/generated-package.nix @@ -14,7 +14,6 @@ extra, fetchzip, filepath, - generic-optics, hermes-json, HUnit, lib, @@ -38,10 +37,10 @@ }: mkDerivation { pname = "nix-output-monitor"; - version = "2.0.0.2"; + version = "2.0.0.3"; src = fetchzip { - url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v2.0.0.2.tar.gz"; - sha256 = "1xfcl7203sgc88a9xdnswwk7rirsaff7jb27yil7mrb7ni10g2f9"; + url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v2.0.0.3.tar.gz"; + sha256 = "0mgg309vncjvx80mhqcyb7kk1918nfl02d38jczm9lsrlrmdafd9"; }; isLibrary = true; isExecutable = true; @@ -57,7 +56,6 @@ mkDerivation { directory extra filepath - generic-optics hermes-json lock-file MemoTrie @@ -86,7 +84,6 @@ mkDerivation { directory extra filepath - generic-optics hermes-json lock-file MemoTrie @@ -116,7 +113,6 @@ mkDerivation { directory extra filepath - generic-optics hermes-json HUnit lock-file diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index f237bb8da0ca..f892c5de4af0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -940,6 +940,7 @@ mapAliases ({ mutt-with-sidebar = mutt; # Added 2022-09-17 mysql-client = hiPrio mariadb.client; mysql = mariadb; # moved from top-level 2021-03-14 + mysql57 = throw "'mysql57' has been removed. Please use 'mysql80' or 'mariadb'"; # floating point textures patents are expired, # so package reduced to alias diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ee5c8a7167ba..80a85d69f1d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11084,6 +11084,8 @@ with pkgs; safeeyes = with python3.pkgs; toPythonApplication safeeyes; + sagoin = callPackage ../tools/misc/sagoin { }; + sahel-fonts = callPackage ../data/fonts/sahel-fonts { }; saldl = callPackage ../tools/networking/saldl { }; @@ -23893,10 +23895,7 @@ with pkgs; asio = asio_1_10; }; - inherit (callPackage ../servers/sql/mariadb { - inherit (darwin) cctools; - inherit (darwin.apple_sdk.frameworks) CoreServices; - }) + inherit (import ../servers/sql/mariadb pkgs) mariadb_104 mariadb_105 mariadb_106 @@ -23905,6 +23904,7 @@ with pkgs; mariadb_109 ; mariadb = mariadb_106; + mariadb-embedded = mariadb.override { withEmbedded = true; }; mongodb = hiPrio mongodb-3_4; @@ -23975,13 +23975,6 @@ with pkgs; # removed in a few releases. influxdb2 = callPackage ../servers/nosql/influxdb2/combined.nix { }; - mysql57 = callPackage ../servers/sql/mysql/5.7.x.nix { - inherit (darwin) cctools developer_cmds; - inherit (darwin.apple_sdk.frameworks) CoreServices; - boost = boost159; - openssl = openssl_1_1; - }; - mysql80 = callPackage ../servers/sql/mysql/8.0.x.nix { inherit (darwin) cctools developer_cmds DarwinTools; inherit (darwin.apple_sdk.frameworks) CoreServices; @@ -29074,6 +29067,8 @@ with pkgs; marker = callPackage ../applications/editors/marker { }; + meerk40t = callPackage ../applications/misc/meerk40t { }; + musikcube = callPackage ../applications/audio/musikcube { inherit (darwin.apple_sdk.frameworks) Cocoa SystemConfiguration; }; @@ -36758,7 +36753,7 @@ with pkgs; mnemonicode = callPackage ../misc/mnemonicode { }; - mysql-workbench = callPackage ../applications/misc/mysql-workbench (let mysql = mysql57; in { + mysql-workbench = callPackage ../applications/misc/mysql-workbench (let mysql = mysql80; in { gdal = gdal.override { libmysqlclient = mysql // { lib = { dev = mysql; } diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index 7d20bcbde9e5..cd064113599a 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -75,8 +75,8 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { RestSharp = fetchNuGet { pname = "RestSharp"; - version = "105.2.3"; - sha256 = "1br48124ppz80x92m84sfyil1gn23hxg2ml9i9hsd0lp86vlaa1m"; + version = "106.12.0"; + sha256 = "sha256-NGzveByJvCRtHlI2C8d/mLs3akyMm77NER8TUG6HiD4="; outputFiles = [ "lib/*" ]; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f5085af4ae44..c1b9ec694b44 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12042,6 +12042,13 @@ in { }; }; + wxPython_4_2 = callPackage ../development/python-modules/wxPython/4.2.nix { + wxGTK = pkgs.wxGTK32.override { + withWebKit = true; + }; + }; + + x11_hash = callPackage ../development/python-modules/x11_hash { }; x256 = callPackage ../development/python-modules/x256 { };