diff --git a/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix b/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix index c9cbdd379864..5fc8b0527b31 100644 --- a/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix +++ b/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix @@ -14,13 +14,13 @@ mkDerivation rec { pname = "kdeltachat"; - version = "unstable-2021-10-27"; + version = "unstable-2021-11-14"; src = fetchFromSourcehut { owner = "~link2xt"; repo = "kdeltachat"; - rev = "e1201cdcce4311061643d90cc0132745023a82d2"; - sha256 = "04xqvyj4rzgl9r7sfjjw1kc3vql30c80rwppff2zr5aijr15fgjj"; + rev = "796b5ce8a11e294e6325dbe92cd1834d140368ff"; + hash = "sha256-Zjh83TrAm9pWieqz1e+Wzoy6g/xfsjhI/3Ll73iJoD4="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/version-management/guitone/default.nix b/pkgs/applications/version-management/guitone/default.nix deleted file mode 100644 index d78023d8468f..000000000000 --- a/pkgs/applications/version-management/guitone/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, stdenv, fetchmtn, qt4, qmake4Hook, pkg-config, graphviz }: - -let version = "1.0-mtn-head"; in -stdenv.mkDerivation { - pname = "guitone"; - inherit version; - - #src = fetchurl { - # url = "${meta.homepage}/count.php/from=default/${version}/${name}.tgz"; - # sha256 = "08kcyar6p6v5z4dq6q6c1dhyxc2jj49qcd6lj3rdn1rb9hz4n7ms"; - #}; - - src = fetchmtn { - dbs = ["mtn://code.monotone.ca/guitone"]; - selector = "3a728afdbd3943b1d86c2a249b1e2ede7bf64c27"; - sha256 = "01vs8m00phs5pl75mjkpdarynfpkqrg0qf4rsn95czi3q6nxiaq5"; - branch = "net.venge.monotone.guitone"; - }; - - patches = [ ./parallel-building.patch ]; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ qt4 qmake4Hook graphviz ]; - - qmakeFlags = [ "guitone.pro" ]; - - meta = { - description = "Qt4 based GUI for monotone"; - homepage = "https://guitone.thomaskeller.biz"; - downloadPage = "https://code.monotone.ca/p/guitone/"; - license = lib.licenses.gpl3; - inherit (qt4.meta) platforms; - }; -} diff --git a/pkgs/applications/version-management/guitone/parallel-building.patch b/pkgs/applications/version-management/guitone/parallel-building.patch deleted file mode 100644 index f0e924cbfb81..000000000000 --- a/pkgs/applications/version-management/guitone/parallel-building.patch +++ /dev/null @@ -1,7 +0,0 @@ -Without this `make tmp/AttributesView.o` fails with -src/view/dialogs/AddEditAttribute.h:22:35: fatal error: ui_add_edit_attribute.h: No such file or directory ---- a/guitone.pro -+++ b/guitone.pro -@@ -215 +215,2 @@ help.commands = @echo Available targets: $${QMAKE_EXTRA_TARGETS} - QMAKE_EXTRA_TARGETS += help -+CONFIG += depend_includepath diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index a8a18692b9ee..93a215f1003b 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -64,6 +64,7 @@ stdenv.mkDerivation rec { ++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ] ++ lib.optionals seccompSupport [ libseccomp ] ++ lib.optionals numaSupport [ numactl ] + ++ lib.optionals alsaSupport [ alsa-lib ] ++ lib.optionals pulseSupport [ libpulseaudio ] ++ lib.optionals sdlSupport [ SDL2 SDL2_image ] ++ lib.optionals gtkSupport [ gtk3 gettext vte ] @@ -71,7 +72,7 @@ stdenv.mkDerivation rec { ++ lib.optionals smartcardSupport [ libcacard ] ++ lib.optionals spiceSupport [ spice-protocol spice ] ++ lib.optionals usbredirSupport [ usbredir ] - ++ lib.optionals stdenv.isLinux [ alsa-lib libaio libcap_ng libcap attr ] + ++ lib.optionals stdenv.isLinux [ libaio libcap_ng libcap attr ] ++ lib.optionals xenSupport [ xen ] ++ lib.optionals cephSupport [ ceph ] ++ lib.optionals glusterfsSupport [ glusterfs libuuid ] @@ -178,6 +179,9 @@ stdenv.mkDerivation rec { "--enable-guest-agent" "--localstatedir=/var" "--sysconfdir=/etc" + # Always use our Meson, not the bundled version, which doesn't + # have our patches and will be subtly broken because of that. + "--meson=meson" ] ++ lib.optional numaSupport "--enable-numa" ++ lib.optional seccompSupport "--enable-seccomp" ++ lib.optional smartcardSupport "--enable-smartcard" diff --git a/pkgs/development/libraries/graphene/default.nix b/pkgs/development/libraries/graphene/default.nix index a0bfc6f017ad..7c4c072a7003 100644 --- a/pkgs/development/libraries/graphene/default.nix +++ b/pkgs/development/libraries/graphene/default.nix @@ -19,7 +19,8 @@ stdenv.mkDerivation rec { pname = "graphene"; version = "1.10.6"; - outputs = [ "out" "devdoc" "installedTests" ]; + outputs = [ "out" ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" "installedTests" ]; src = fetchFromGitHub { owner = "ebassi"; @@ -33,6 +34,10 @@ stdenv.mkDerivation rec { ./0001-meson-add-options-for-tests-installation-dirs.patch ]; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ docbook_xml_dtd_43 docbook_xsl @@ -47,7 +52,6 @@ stdenv.mkDerivation rec { buildInputs = [ glib - gobject-introspection ]; checkInputs = [ @@ -55,7 +59,8 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=true" + "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" + "-Dintrospection=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}" "-Dinstalled_test_datadir=${placeholder "installedTests"}/share" "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec" ]; @@ -64,6 +69,7 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs tests/gen-installed-test.py + '' + lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) '' PATH=${python3.withPackages (pp: [ pp.pygobject3 pp.tappy ])}/bin:$PATH patchShebangs tests/introspection.py ''; diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix index 9947214bf7fc..a8f8535138e3 100644 --- a/pkgs/development/libraries/gssdp/default.nix +++ b/pkgs/development/libraries/gssdp/default.nix @@ -18,7 +18,8 @@ stdenv.mkDerivation rec { pname = "gssdp"; version = "1.4.0.1"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ "out" "dev" ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -44,13 +45,14 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=true" + "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" "-Dsniffer=false" + "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" ]; doCheck = true; - postFixup = '' + postFixup = lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) '' # Move developer documentation to devdoc output. # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \ diff --git a/pkgs/development/libraries/gupnp-igd/default.nix b/pkgs/development/libraries/gupnp-igd/default.nix index 6eb44b9172ab..45e17704449d 100644 --- a/pkgs/development/libraries/gupnp-igd/default.nix +++ b/pkgs/development/libraries/gupnp-igd/default.nix @@ -17,13 +17,18 @@ stdenv.mkDerivation rec { pname = "gupnp-igd"; version = "1.2.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ "out" "dev" ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "sha256-S1EgCYqhPt0ngYup7k1/6WG/VAv1DQVv9wPGFUXgK+E="; }; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ pkg-config meson @@ -41,7 +46,8 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=true" + "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" + "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" ]; # Seems to get stuck sometimes. diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix index 32f7c201fad4..1a77e50eb540 100644 --- a/pkgs/development/libraries/gupnp/default.nix +++ b/pkgs/development/libraries/gupnp/default.nix @@ -22,7 +22,8 @@ stdenv.mkDerivation rec { pname = "gupnp"; version = "1.4.0"; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ "out" "dev" ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; @@ -34,6 +35,10 @@ stdenv.mkDerivation rec { ./0001-pkg-config-Declare-header-dependencies-as-public.patch ]; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ meson ninja @@ -58,7 +63,8 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=true" + "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" + "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" ]; doCheck = true; diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix index 8f6beb01ea39..0f040a00ca40 100644 --- a/pkgs/development/libraries/libdeltachat/default.nix +++ b/pkgs/development/libraries/libdeltachat/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "libdeltachat"; - version = "1.65.0"; + version = "1.66.0"; src = fetchFromGitHub { owner = "deltachat"; repo = "deltachat-core-rust"; rev = version; - sha256 = "1k906pll4k8bc2xc9qd9g7q10rikbij2sy0w2wg9mf335rfym6z4"; + hash = "sha256-IhA6mk7s6AdONRpvQ5UgNbPJ+/k9hzCf2ochCVcy7NA="; }; patches = [ @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - sha256 = "0jc9kyn5h3cn2ni5h3km47sfprpxr7hc96ca01yal2zyksm7zqxn"; + hash = "sha256-F9JpGtQ7lwqguoZrzQR/faUOJxDCbW74JenPCFeEHdA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix index 7c5043165f9d..87f2d7327125 100644 --- a/pkgs/development/libraries/libnice/default.nix +++ b/pkgs/development/libraries/libnice/default.nix @@ -19,7 +19,8 @@ stdenv.mkDerivation rec { pname = "libnice"; version = "0.1.18"; - outputs = [ "bin" "out" "dev" "devdoc" ]; + outputs = [ "bin" "out" "dev" ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "https://libnice.freedesktop.org/releases/${pname}-${version}.tar.gz"; @@ -61,7 +62,8 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=enabled" # Disabled by default as of libnice-0.1.15 + "-Dgtk_doc=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}" + "-Dintrospection=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}" "-Dexamples=disabled" # requires many dependencies and probably not useful for our users ]; diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix index 55513031fcf6..1caf183fef80 100644 --- a/pkgs/development/python-modules/aiohomekit/default.nix +++ b/pkgs/development/python-modules/aiohomekit/default.nix @@ -6,19 +6,22 @@ , poetry-core , pytest-aiohttp , pytestCheckHook +, pythonOlder , zeroconf }: buildPythonPackage rec { pname = "aiohomekit"; - version = "0.6.3"; + version = "0.6.4"; format = "pyproject"; + disabled = pythonOlder "3.7"; + src = fetchFromGitHub { owner = "Jc2k"; repo = pname; rev = version; - sha256 = "sha256-XBinbhYUB9BuQxxmWfZUw276uNam4DgBpiCAjT7KDlg="; + sha256 = "sha256-+W1nsJsiVL4hjtNUyKOsQNyX0Bki/C1FvmoD2OCwqeM="; }; nativeBuildInputs = [ @@ -41,7 +44,9 @@ buildPythonPackage rec { "tests/test_ip_pairing.py" ]; - pythonImportsCheck = [ "aiohomekit" ]; + pythonImportsCheck = [ + "aiohomekit" + ]; meta = with lib; { description = "Python module that implements the HomeKit protocol"; diff --git a/pkgs/development/python-modules/airthings-cloud/default.nix b/pkgs/development/python-modules/airthings-cloud/default.nix index ca80f38c899d..8315847683d0 100644 --- a/pkgs/development/python-modules/airthings-cloud/default.nix +++ b/pkgs/development/python-modules/airthings-cloud/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "airthings-cloud"; - version = "0.0.1"; + version = "0.1.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "pyAirthings"; rev = version; - sha256 = "08cbysx5p9k8hzr6sdykx91j0gx8x15b8807338dsl3qx8nhfb8j"; + sha256 = "sha256-sqHNK6biSWso4uOYimzU7PkEn0uP5sHAaPGsS2vSMNY="; }; propagatedBuildInputs = [ @@ -28,7 +28,9 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "airthings" ]; + pythonImportsCheck = [ + "airthings" + ]; meta = with lib; { description = "Python module for Airthings"; diff --git a/pkgs/development/python-modules/hatasmota/default.nix b/pkgs/development/python-modules/hatasmota/default.nix index e746c4c24850..6bb6e460f554 100644 --- a/pkgs/development/python-modules/hatasmota/default.nix +++ b/pkgs/development/python-modules/hatasmota/default.nix @@ -3,17 +3,21 @@ , buildPythonPackage , fetchFromGitHub , voluptuous +, pythonOlder }: buildPythonPackage rec { pname = "hatasmota"; - version = "0.2.21"; + version = "0.3.0"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "emontnemery"; repo = pname; rev = version; - sha256 = "sha256-mtn/r6pvHeGMLkvUP4w6CT+2+viLna4Vvn9RFMEmqts="; + sha256 = "sha256-KPFnlw6rk+jDKs8Ss/34lIt0MsAQGernCyyF1ImRylA="; }; propagatedBuildInputs = [ @@ -24,7 +28,9 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "hatasmota" ]; + pythonImportsCheck = [ + "hatasmota" + ]; meta = with lib; { description = "Python module to help parse and construct Tasmota MQTT messages"; diff --git a/pkgs/development/python-modules/luftdaten/default.nix b/pkgs/development/python-modules/luftdaten/default.nix index 71daa4bdbfa4..c8ca8254b363 100644 --- a/pkgs/development/python-modules/luftdaten/default.nix +++ b/pkgs/development/python-modules/luftdaten/default.nix @@ -1,20 +1,41 @@ -{ lib, buildPythonPackage, isPy3k, fetchPypi, aiohttp, async-timeout }: +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, poetry-core +, httpx +, pytest-asyncio +, pytest-httpx +, pytestCheckHook +}: buildPythonPackage rec { pname = "luftdaten"; - version = "0.6.5"; + version = "0.7.1"; + format = "pyproject"; - disabled = !isPy3k; + disabled = pythonOlder "3.8"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-5SFb+psULyg9UKVY3oJPNLF3TGS/W+Bxoj79iTzReL4="; + src = fetchFromGitHub { + owner = "home-assistant-ecosystem"; + repo = "python-luftdaten"; + rev = version; + sha256 = "sha256-76Y5TJet0WtzYXuK8Og0rmpsUIlXK7b37oesh+MliU8="; }; - propagatedBuildInputs = [ aiohttp async-timeout ]; + nativeBuildInputs = [ + poetry-core + ]; - # No tests implemented - doCheck = false; + propagatedBuildInputs = [ + httpx + ]; + + checkInputs = [ + pytest-asyncio + pytest-httpx + pytestCheckHook + ]; pythonImportsCheck = [ "luftdaten" ]; @@ -22,6 +43,6 @@ buildPythonPackage rec { description = "Python API for interacting with luftdaten.info"; homepage = "https://github.com/home-assistant-ecosystem/python-luftdaten"; license = licenses.mit; - maintainers = with maintainers; [ dotlambda ]; + maintainers = with maintainers; [ dotlambda fab ]; }; } diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix index c45ccaca013d..426d0e6942d6 100644 --- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "mypy-boto3-s3"; - version = "1.20.1"; + version = "1.20.12"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-RnWlDiXol074gikg8i449rx4ENG7Ac7kz9lMi12rkuw="; + sha256 = "sha256-J0EqIMSQEvev8sZ1XLgxPD68xlgPtlRTW/yBPyrekFQ="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix index ca8af15b53ee..2534ebcedf91 100644 --- a/pkgs/development/python-modules/plugwise/default.nix +++ b/pkgs/development/python-modules/plugwise/default.nix @@ -19,13 +19,14 @@ buildPythonPackage rec { pname = "plugwise"; - version = "0.14.5"; + version = "0.15.2"; + format = "setuptools"; src = fetchFromGitHub { owner = pname; repo = "python-plugwise"; rev = "v${version}"; - sha256 = "1kwks87raxs04dvnpmpn8l1cbzg5yb5nyinaqzxdsc6al83isbik"; + sha256 = "sha256-VmLQ3L9FTHgdRPYmMg7ZoUApLEGKd5NANrSofhP1OQY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix index 7b14497fce14..f4b244b5ea67 100644 --- a/pkgs/development/python-modules/pychromecast/default.nix +++ b/pkgs/development/python-modules/pychromecast/default.nix @@ -1,27 +1,45 @@ -{ lib, fetchPypi, buildPythonPackage, requests, zeroconf, protobuf, casttube, isPy3k }: +{ lib +, buildPythonPackage +, casttube +, fetchPypi +, isPy3k +, protobuf +, requests +, zeroconf +}: buildPythonPackage rec { - pname = "PyChromecast"; - version = "9.3.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "a1d6807ae0fc455aaeecd2def87c31bb86679a2920cacfa7910db9c9db5085d4"; - }; + pname = "pychromecast"; + version = "10.1.1"; + format = "setuptools"; disabled = !isPy3k; - propagatedBuildInputs = [ requests zeroconf protobuf casttube ]; + src = fetchPypi { + pname = "PyChromecast"; + inherit version; + sha256 = "sha256-M6R9VRrotvkxKVZIKOcuf03LJsn4gSMohwzzAO5FQ48="; + }; + + propagatedBuildInputs = [ + casttube + protobuf + requests + zeroconf + ]; # no tests available doCheck = false; - pythonImportsCheck = [ "pychromecast" ]; + + pythonImportsCheck = [ + "pychromecast" + ]; meta = with lib; { description = "Library for Python to communicate with the Google Chromecast"; - homepage = "https://github.com/home-assistant-libs/pychromecast"; - license = licenses.mit; + homepage = "https://github.com/home-assistant-libs/pychromecast"; + license = licenses.mit; maintainers = with maintainers; [ abbradar ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/python-modules/pycocotools/default.nix b/pkgs/development/python-modules/pycocotools/default.nix index a6cdf877a07b..fa75d02c6101 100644 --- a/pkgs/development/python-modules/pycocotools/default.nix +++ b/pkgs/development/python-modules/pycocotools/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "pycocotools"; - version = "2.0.2"; + version = "2.0.3"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "06hz0iz4kqxhqby4j7bah8l41kg68bb118jawp172i4vg497lw94"; + sha256 = "sha256-OCkCSTABN3EVZSGkuNtLOu9ZBVbPo6jdP6sCfTmyFeE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix index fa6009b8eb76..cf2325633fba 100644 --- a/pkgs/development/python-modules/pysma/default.nix +++ b/pkgs/development/python-modules/pysma/default.nix @@ -4,28 +4,33 @@ , buildPythonPackage , fetchPypi , jmespath -, async-timeout +, pythonOlder }: buildPythonPackage rec { pname = "pysma"; - version = "0.6.8"; + version = "0.6.9"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - sha256 = "9490d72596db64d339aefee56940e058fddb52c2f0f5d5cce3c39ef94f39dbb9"; + sha256 = "sha256-2ZU3UjDNo+fpnYK4WlYSu7XqkbpcK7Xz5cUKDABhwdk="; }; propagatedBuildInputs = [ aiohttp - async-timeout attrs jmespath ]; # pypi does not contain tests and GitHub archive not available doCheck = false; - pythonImportsCheck = [ "pysma" ]; + + pythonImportsCheck = [ + "pysma" + ]; meta = with lib; { description = "Python library for interacting with SMA Solar's WebConnect"; diff --git a/pkgs/development/python-modules/pysmartthings/default.nix b/pkgs/development/python-modules/pysmartthings/default.nix index e8a295c319c4..8e97570a2c78 100644 --- a/pkgs/development/python-modules/pysmartthings/default.nix +++ b/pkgs/development/python-modules/pysmartthings/default.nix @@ -4,17 +4,21 @@ , fetchFromGitHub , pytest-asyncio , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "pysmartthings"; - version = "0.7.6"; + version = "0.7.7"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "andrewsayre"; repo = pname; rev = version; - sha256 = "0m91lfzdbmq6qv6bihd278psi9ghldxpa1d0dsbii2zf338188qj"; + sha256 = "sha256-AzAiMn88tRRPwMpwSnKoS1XUERHbKz0sVm/TjcbTsGs="; }; propagatedBuildInputs = [ @@ -26,7 +30,14 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "pysmartthings" ]; + postPatch = '' + substituteInPlace setup.py \ + --replace "aiohttp>=3.8.0,<4.0.0" "aiohttp<=4.0.0" + ''; + + pythonImportsCheck = [ + "pysmartthings" + ]; meta = with lib; { description = "Python library for interacting with the SmartThings cloud API"; diff --git a/pkgs/development/python-modules/pythonegardia/default.nix b/pkgs/development/python-modules/pythonegardia/default.nix index 318059d2466f..7ce66f221fb2 100644 --- a/pkgs/development/python-modules/pythonegardia/default.nix +++ b/pkgs/development/python-modules/pythonegardia/default.nix @@ -1,25 +1,44 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub +, fetchpatch , requests +, pythonOlder }: buildPythonPackage rec { pname = "pythonegardia"; version = "1.0.51"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "b99217e34c59bfae059db400acef99d3d32237d13da6fdce9e0d4decc9a07e61"; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "jeroenterheerdt"; + repo = "python-egardia"; + rev = "v${version}"; + sha256 = "7HindS++jcV3GRn/SKoTMpVOchOnLojy/TY0HZjtyD8="; }; propagatedBuildInputs = [ requests ]; + patches = [ + # Adjust search path, https://github.com/jeroenterheerdt/python-egardia/pull/33 + (fetchpatch { + name = "search-path.patch"; + url = "https://github.com/jeroenterheerdt/python-egardia/commit/6b7bf5b7b2211e3557e0f438586b9d03b9bae440.patch"; + sha256 = "wUSfmF0SrKCITQJJsHgkGgPZFouaB/zbVqupK6fARHY="; + }) + ]; + # Project has no tests, only two test file for manual interaction doCheck = false; - pythonImportsCheck = [ "pythonegardia" ]; + + pythonImportsCheck = [ + "pythonegardia" + ]; meta = with lib; { description = "Python interface with Egardia/Woonveilig alarms"; diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix index ca6cb7d23075..21732ed3a956 100644 --- a/pkgs/development/python-modules/requests-cache/default.nix +++ b/pkgs/development/python-modules/requests-cache/default.nix @@ -55,10 +55,19 @@ buildPythonPackage rec { timeout-decorator ]; - # Integration tests require local DBs - pytestFlagsArray = [ "tests/unit" ]; + pytestFlagsArray = [ + # Integration tests require local DBs + "tests/unit" + ]; - pythonImportsCheck = [ "requests_cache" ]; + disabledTests = [ + # Tests are flaky in the sandbox + "test_remove_expired_responses" + ]; + + pythonImportsCheck = [ + "requests_cache" + ]; meta = with lib; { description = "Persistent cache for requests library"; diff --git a/pkgs/development/python-modules/screenlogicpy/default.nix b/pkgs/development/python-modules/screenlogicpy/default.nix index 1032f6256bb6..c8663478d882 100644 --- a/pkgs/development/python-modules/screenlogicpy/default.nix +++ b/pkgs/development/python-modules/screenlogicpy/default.nix @@ -7,14 +7,16 @@ buildPythonPackage rec { pname = "screenlogicpy"; - version = "0.4.3"; + version = "0.5.0"; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "dieselrabbit"; repo = pname; rev = "v${version}"; - sha256 = "0v0nbwz0w2m7kzvcl0fh2v2rk5ldsq22siyxq6d401pkpzwih25c"; + sha256 = "sha256-ApT89JcXrRKr+YnyEPAG3enwrfgYn7LeUmBbbmh/DPI="; }; checkInputs = [ @@ -24,10 +26,15 @@ buildPythonPackage rec { disabledTests = [ # Tests require network access "test_gateway_discovery" + "test_async_discovery" + "test_gateway" + "test_async" "test_asyncio_gateway_discovery" ]; - pythonImportsCheck = [ "screenlogicpy" ]; + pythonImportsCheck = [ + "screenlogicpy" + ]; meta = with lib; { description = "Python interface for Pentair Screenlogic devices"; diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix index a57acebb4ad2..d1095b199972 100644 --- a/pkgs/development/python-modules/seaborn/default.nix +++ b/pkgs/development/python-modules/seaborn/default.nix @@ -1,15 +1,19 @@ { lib , buildPythonPackage -, pythonOlder , fetchPypi -, nose -, pandas , matplotlib +, pytestCheckHook +, numpy +, pandas +, pythonOlder +, scipy }: buildPythonPackage rec { pname = "seaborn"; version = "0.11.2"; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchPypi { @@ -17,16 +21,20 @@ buildPythonPackage rec { sha256 = "cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6"; }; - checkInputs = [ nose ]; - propagatedBuildInputs = [ pandas matplotlib ]; + propagatedBuildInputs = [ + matplotlib + numpy + pandas + scipy + ]; - checkPhase = '' - nosetests -v - ''; + checkInputs = [ + pytestCheckHook + ]; - # Computationally very demanding tests - doCheck = false; - pythonImportsCheck= [ "seaborn" ]; + pythonImportsCheck= [ + "seaborn" + ]; meta = { description = "Statisitical data visualization"; diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix index 624b63ada618..27c68dcab3e6 100644 --- a/pkgs/development/python-modules/simplisafe-python/default.nix +++ b/pkgs/development/python-modules/simplisafe-python/default.nix @@ -4,6 +4,7 @@ , asynctest , backoff , buildPythonPackage +, docutils , fetchFromGitHub , poetry-core , pytest-aiohttp @@ -18,22 +19,26 @@ buildPythonPackage rec { pname = "simplisafe-python"; - version = "2021.10.0"; + version = "2021.11.2"; format = "pyproject"; - disabled = pythonOlder "3.7"; + + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-J0uMlczR7y5wDchaOjp5d3Vf36WfRmt7d51koGiNHBk="; + sha256 = "sha256-5X2qvrACV9OTVYSZYxFncFOgrgywKvVDbC6IVFnJBtw="; }; - nativeBuildInputs = [ poetry-core ]; + nativeBuildInputs = [ + poetry-core + ]; propagatedBuildInputs = [ aiohttp backoff + docutils pytz types-pytz voluptuous @@ -48,15 +53,25 @@ buildPythonPackage rec { pytestCheckHook ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'docutils = "<0.18"' 'docutils = "*"' + ''; + disabledTests = [ # simplipy/api.py:253: InvalidCredentialsError "test_request_error_failed_retry" "test_update_error" ]; - disabledTestPaths = [ "examples/" ]; + disabledTestPaths = [ + # Ignore the examples as they are prefixed with test_ + "examples/" + ]; - pythonImportsCheck = [ "simplipy" ]; + pythonImportsCheck = [ + "simplipy" + ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/tensorflow-estimator/default.nix b/pkgs/development/python-modules/tensorflow-estimator/default.nix index dd3b4641beaf..5ad6d0ab6e55 100644 --- a/pkgs/development/python-modules/tensorflow-estimator/default.nix +++ b/pkgs/development/python-modules/tensorflow-estimator/default.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "tensorflow-estimator"; - version = "2.4.0"; + version = "2.7.0"; format = "wheel"; src = fetchPypi { pname = "tensorflow_estimator"; inherit version format; - sha256 = "1w0pkcslm6934qqd6m5gxyjdlnb4pbl47k6s99wsh6dyvvr7nysv"; + hash = "sha256-MltaIkhkN5JCt7dsaYfKVEI5voJXnTPmjsfCvaV6vJ0="; }; propagatedBuildInputs = [ mock numpy absl-py ]; diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix index c14a90e0953e..c57147c8ff7f 100644 --- a/pkgs/development/python-modules/tensorflow/bin.nix +++ b/pkgs/development/python-modules/tensorflow/bin.nix @@ -42,15 +42,11 @@ assert ! (stdenv.isDarwin && cudaSupport); let packages = import ./binary-hashes.nix; - metadataPatch = ./relax-dependencies-metadata.patch; - patch = ./relax-dependencies.patch; in buildPythonPackage { pname = "tensorflow" + lib.optionalString cudaSupport "-gpu"; inherit (packages) version; format = "wheel"; - disabled = pythonAtLeast "3.9"; - src = let pyVerNoDot = lib.strings.stringAsChars (x: if x == "." then "" else x) python.pythonVersion; platform = if stdenv.isDarwin then "mac" else "linux"; @@ -93,13 +89,18 @@ in buildPythonPackage { pushd dist wheel unpack --dest unpacked ./*.whl + rm ./*.whl ( cd unpacked/tensorflow* - # relax too strict versions in setup.py - patch -p 1 < ${patch} - cd *.dist-info - # relax too strict versions in *.dist-info/METADATA - patch -p 3 < ${metadataPatch} + # Adjust dependency requirements: + # - Relax gast version requirement that doesn't match what we have packaged + # - The purpose of python3Packages.libclang is not clear at the moment and we don't have it packaged yet + # - keras and tensorlow-io-gcs-filesystem will be considered as optional for now. + sed -i *.dist-info/METADATA \ + -e "s/Requires-Dist: gast.*/Requires-Dist: gast/" \ + -e "/Requires-Dist: libclang/d" \ + -e "/Requires-Dist: keras/d" \ + -e "/Requires-Dist: tensorflow-io-gcs-filesystem/d" ) wheel pack ./unpacked/tensorflow* diff --git a/pkgs/development/python-modules/tensorflow/binary-hashes.nix b/pkgs/development/python-modules/tensorflow/binary-hashes.nix index 4485e2b61451..4b2f9d528407 100644 --- a/pkgs/development/python-modules/tensorflow/binary-hashes.nix +++ b/pkgs/development/python-modules/tensorflow/binary-hashes.nix @@ -1,39 +1,39 @@ { -version = "2.4.0"; -linux_py_36_cpu = { - url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.4.0-cp36-cp36m-manylinux2010_x86_64.whl"; - sha256 = "0pn0cjf50q0xsv6k0vihrz22kr392anznvdhxv80gk52c6lcgmsc"; -}; +version = "2.7.0"; linux_py_37_cpu = { - url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.4.0-cp37-cp37m-manylinux2010_x86_64.whl"; - sha256 = "0mdd83c0invqfy58qmpa3hk4yml5ic7wlwggyd5wpikadlv8vq89"; + url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.7.0-cp37-cp37m-manylinux2010_x86_64.whl"; + sha256 = "1irw4ri1fbxbj251cnjbr12gxsyj2k30asxjfxjpxhc9b0cchhx0"; }; linux_py_38_cpu = { - url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.4.0-cp38-cp38-manylinux2010_x86_64.whl"; - sha256 = "1mm1yz9aj3v6fxfpxh7wy37rvsncr0b5y6glqlcxmhr6mqfp8k6d"; + url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.7.0-cp38-cp38-manylinux2010_x86_64.whl"; + sha256 = "11a1rimr998lvvjdg03rqr8h2h7x6bbd4gyv74biwgaxmjczvjdj"; }; -linux_py_36_gpu = { - url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-2.4.0-cp36-cp36m-manylinux2010_x86_64.whl"; - sha256 = "113iygiq2kmj97g0glhcqng6rhl3rrj1iqw5xj1d5hla8xjy8cfv"; +linux_py_39_cpu = { + url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.7.0-cp39-cp39-manylinux2010_x86_64.whl"; + sha256 = "0x1zzmgq7hl2k98p8870h0yhaik39nc1ckvxirjx8simpj8ghsbp"; }; linux_py_37_gpu = { - url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-2.4.0-cp37-cp37m-manylinux2010_x86_64.whl"; - sha256 = "19ap8xx2j5nbmnqv5rzf1ryfvw2fbs6bm0fxjqrvhc3jxys6yqqs"; + url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-2.7.0-cp37-cp37m-manylinux2010_x86_64.whl"; + sha256 = "1x5yyxzkly9gdyhcfq4x7w7sqqxh6cw5qnfwbvzj5349xwrm63wi"; }; linux_py_38_gpu = { - url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-2.4.0-cp38-cp38-manylinux2010_x86_64.whl"; - sha256 = "0ly3cinzj6j3b547sw8bd3p774khn3b14cgrj7nvfrz668d3f89x"; + url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-2.7.0-cp38-cp38-manylinux2010_x86_64.whl"; + sha256 = "0prxa8yc6lbq62vnh8cw6dhcrnkdjih62kbg6pbw4gmgcbf6v6fg"; }; -mac_py_36_cpu = { - url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.4.0-cp36-cp36m-macosx_10_14_x86_64.whl"; - sha256 = "1b5ld1wj48l1i5s3vk8db5m578zdg4xfl0m1lc8w5lx1vi4cwsjp"; +linux_py_39_gpu = { + url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-2.7.0-cp39-cp39-manylinux2010_x86_64.whl"; + sha256 = "0jjv8vm20d0airml68bxhassp4yg09rcz2a39aa511cz8mavj0l6"; }; mac_py_37_cpu = { - url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.4.0-cp37-cp37m-macosx_10_14_x86_64.whl"; - sha256 = "1mgfyjgcwvx5jzawrpfnbch5sqw7kpnzp35rfxj22kwdsl28r47r"; + url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.7.0-cp37-cp37m-macosx_10_11_x86_64.whl"; + sha256 = "1gr95ck0h4wzhdacjfhkzxdw4zglm85fc54swqhyzzv1f5n9vw8j"; }; mac_py_38_cpu = { - url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.4.0-cp38-cp38-macosx_10_14_x86_64.whl"; - sha256 = "034qh0nk786wxzma58179g086x479c3pd9vi8v8p26grs6f2fm0p"; + url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.7.0-cp38-cp38-macosx_10_11_x86_64.whl"; + sha256 = "1h3qlvlrwyvxynh5flvyqk7grbvyqc21ljqhlvds436hpn2kqrgb"; +}; +mac_py_39_cpu = { + url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.7.0-cp39-cp39-macosx_10_11_x86_64.whl"; + sha256 = "0pyj1p2yik6ysdqn8n6cz1nqni0s9xx51ifmvdx4dl3hrzp86jz2"; }; } diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index e088dec77994..2f8af0692342 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -4,7 +4,7 @@ , buildPythonPackage, pythonOlder, python # Python libraries , numpy, tensorflow-tensorboard_2, absl-py -, setuptools, wheel, keras-preprocessing, google-pasta +, setuptools, wheel, Keras, keras-preprocessing, google-pasta , opt-einsum, astunparse, h5py , termcolor, grpcio, six, wrapt, protobuf, tensorflow-estimator_2 , dill, flatbuffers-python, tblib, typing-extensions @@ -28,7 +28,7 @@ , avx2Support ? stdenv.hostPlatform.avx2Support , fmaSupport ? stdenv.hostPlatform.fmaSupport # Darwin deps -, Foundation, Security +, Foundation, Security, cctools, llvmPackages_11 }: assert cudaSupport -> cudatoolkit != null @@ -72,7 +72,7 @@ let tfFeature = x: if x then "1" else "0"; - version = "2.4.2"; + version = "2.7.0"; variant = if cudaSupport then "-gpu" else ""; pname = "tensorflow${variant}"; @@ -102,7 +102,82 @@ let wrapt ]); - bazel-build = buildBazelPackage { + rules_cc_darwin_patched = stdenv.mkDerivation { + name = "rules_cc-${pname}-${version}"; + + src = _bazel-build.deps; + + prePatch = "pushd rules_cc"; + patches = [ + # https://github.com/bazelbuild/rules_cc/issues/122 + (fetchpatch { + name = "tensorflow-rules_cc-libtool-path.patch"; + url = "https://github.com/bazelbuild/rules_cc/commit/8c427ab30bf213630dc3bce9d2e9a0e29d1787db.diff"; + sha256 = "sha256-C4v6HY5+jm0ACUZ58gBPVejCYCZfuzYKlHZ0m2qDHCk="; + }) + + # https://github.com/bazelbuild/rules_cc/pull/124 + (fetchpatch { + name = "tensorflow-rules_cc-install_name_tool-path.patch"; + url = "https://github.com/bazelbuild/rules_cc/commit/156497dc89100db8a3f57b23c63724759d431d05.diff"; + sha256 = "sha256-NES1KeQmMiUJQVoV6dS4YGRxxkZEjOpFSCyOq9HZYO0="; + }) + ]; + postPatch = "popd"; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mv rules_cc/ "$out" + + runHook postInstall + ''; + }; + llvm-raw_darwin_patched = stdenv.mkDerivation { + name = "llvm-raw-${pname}-${version}"; + + src = _bazel-build.deps; + + prePatch = "pushd llvm-raw"; + patches = [ + # Fix a vendored config.h that requires the 10.13 SDK + ./llvm_bazel_fix_macos_10_12_sdk.patch + ]; + postPatch = '' + touch {BUILD,WORKSPACE} + popd + ''; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mv llvm-raw/ "$out" + + runHook postInstall + ''; + }; + bazel-build = if stdenv.isDarwin then _bazel-build.overrideAttrs (prev: { + bazelBuildFlags = prev.bazelBuildFlags ++ [ + "--override_repository=rules_cc=${rules_cc_darwin_patched}" + "--override_repository=llvm-raw=${llvm-raw_darwin_patched}" + ]; + preBuild = '' + export AR="${cctools}/bin/libtool" + ''; + }) else _bazel-build; + + _bazel-build = (buildBazelPackage.override (lib.optionalAttrs stdenv.isDarwin { + # clang 7 fails to emit a symbol for + # __ZN4llvm11SmallPtrSetIPKNS_10AllocaInstELj8EED1Ev in any of the + # translation units, so the build fails at link time + stdenv = llvmPackages_11.stdenv; + })) { name = "${pname}-${version}"; bazel = bazel_3; @@ -110,22 +185,9 @@ let owner = "tensorflow"; repo = "tensorflow"; rev = "v${version}"; - sha256 = "07a2y05hixch1bjag5pzw3p1m7bdj3bq4gdvmsfk2xraz49b1pi8"; + sha256 = "sha256-n7jRDPeXsyq4pEWSWmOCas4c8VsArIKlCuwvSU/Ro/c="; }; - patches = [ - # included from 2.6.0 onwards - (fetchpatch { - name = "fix-numpy-1.20-notimplementederror.patch"; - url = "https://github.com/tensorflow/tensorflow/commit/b258941525f496763d4277045b6513c815720e3a.patch"; - sha256 = "19f9bzrcfsynk11s2hqvscin5c65zf7r6g3nb10jnimw79vafiry"; - }) - # Relax too strict Python packages versions dependencies. - ./relax-dependencies.patch - # Add missing `io_bazel_rules_docker` dependency. - ./workspace.patch - ]; - # On update, it can be useful to steal the changes from gentoo # https://gitweb.gentoo.org/repo/gentoo.git/tree/sci-libs/tensorflow @@ -206,7 +268,6 @@ let "opt_einsum_archive" "org_sqlite" "pasta" - "pcre" "png" "pybind11" "six_archive" @@ -295,9 +356,12 @@ let fetchAttrs = { # cudaSupport causes fetch of ncclArchive, resulting in different hashes sha256 = if cudaSupport then - "10m6qj3kchgxfgb6qh59vc51knm9r9pkng8bf90h00dnggvv8234" + "sha256-GIBs1BAUuefwlavu7dr9rFb4n1A3uwnvvCAvsBnSSqQ=" else - "04a98yrp09nd0p17k0jbzkgjppxs0yma7m5zkfrwgvr4g0w71v68"; + if stdenv.isDarwin then + "sha256-156eOnnjk+wzIiGLd6k/+SAgm4AyImsV/qBsHFlxe+k=" + else + "sha256-Fj/wWapsre55VctJ1k1kcYKAn3uDCMPN5rVX8y76ypM="; }; buildAttrs = { @@ -355,6 +419,18 @@ in buildPythonPackage { src = bazel-build.python; + # Adjust dependency requirements: + # - Relax gast version requirement that doesn't match what we have packaged + # - The purpose of python3Packages.libclang is not clear at the moment and we don't have it packaged yet + # - keras and tensorlow-io-gcs-filesystem will be considered as optional for now. + postPatch = '' + sed -i setup.py \ + -e "s/'gast[^']*',/'gast',/" \ + -e "/'libclang[^']*',/d" \ + -e "/'keras[^']*',/d" \ + -e "/'tensorflow-io-gcs-filesystem[^']*',/d" + ''; + # Upstream has a pip hack that results in bin/tensorboard being in both tensorflow # and the propagated input tensorflow-tensorboard, which causes environment collisions. # Another possibility would be to have tensorboard only in the buildInputs @@ -402,6 +478,7 @@ in buildPythonPackage { # Actual tests are slow and impure. # TODO try to run them anyway # TODO better test (files in tensorflow/tools/ci_build/builds/*test) + checkInputs = [ Keras ]; checkPhase = '' ${python.interpreter} <=3.9.2) --Requires-Dist: six (~=1.15.0) --Requires-Dist: termcolor (~=1.1.0) --Requires-Dist: typing-extensions (~=3.7.4) --Requires-Dist: wheel (~=0.35) --Requires-Dist: wrapt (~=1.12.1) --Requires-Dist: gast (==0.3.3) --Requires-Dist: tensorboard (~=2.4) --Requires-Dist: tensorflow-estimator (<2.5.0,>=2.4.0rc0) --Requires-Dist: grpcio (~=1.32.0) -+Requires-Dist: absl-py -+Requires-Dist: astunparse -+Requires-Dist: flatbuffers -+Requires-Dist: google-pasta -+Requires-Dist: h5py -+Requires-Dist: keras-preprocessing -+Requires-Dist: numpy -+Requires-Dist: opt-einsum -+Requires-Dist: protobuf -+Requires-Dist: six -+Requires-Dist: termcolor -+Requires-Dist: typing-extensions -+Requires-Dist: wheel -+Requires-Dist: wrapt -+Requires-Dist: gast -+Requires-Dist: tensorboard -+Requires-Dist: tensorflow-estimator -+Requires-Dist: grpcio - - [![Python](https://img.shields.io/pypi/pyversions/tensorflow.svg?style=plastic)](https://badge.fury.io/py/tensorflow) - [![PyPI](https://badge.fury.io/py/tensorflow.svg)](https://badge.fury.io/py/tensorflow) \ No newline at end of file diff --git a/pkgs/development/python-modules/tensorflow/relax-dependencies.patch b/pkgs/development/python-modules/tensorflow/relax-dependencies.patch deleted file mode 100644 index b26c1e95a645..000000000000 --- a/pkgs/development/python-modules/tensorflow/relax-dependencies.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py -index 65133afdafe..8ef6364ff7e 100644 ---- a/tensorflow/tools/pip_package/setup.py -+++ b/tensorflow/tools/pip_package/setup.py -@@ -75,23 +75,23 @@ if '--project_name' in sys.argv: - # comment the versioning scheme. - # NOTE: Please add test only packages to `TEST_PACKAGES` below. - REQUIRED_PACKAGES = [ -- 'absl-py ~= 0.10', -- 'astunparse ~= 1.6.3', -- 'flatbuffers ~= 1.12.0', -- 'google_pasta ~= 0.2', -- 'h5py ~= 2.10.0', -- 'keras_preprocessing ~= 1.1.2', -- 'numpy ~= 1.19.2', -- 'opt_einsum ~= 3.3.0', -+ 'absl-py >= 0.10', -+ 'astunparse >= 1.6.3', -+ 'flatbuffers >= 1.12.0', -+ 'google_pasta >= 0.2', -+ 'h5py >= 2.10.0', -+ 'keras_preprocessing >= 1.1.2', -+ 'numpy >= 1.19.1', -+ 'opt_einsum >= 3.3.0', - 'protobuf >= 3.9.2', -- 'six ~= 1.15.0', -- 'termcolor ~= 1.1.0', -- 'typing_extensions ~= 3.7.4', -- 'wheel ~= 0.35', -- 'wrapt ~= 1.12.1', -+ 'six >= 1.15.0', -+ 'termcolor >= 1.1.0', -+ 'typing_extensions >= 3.7.4', -+ 'wheel >= 0.34.2', -+ 'wrapt >= 1.12.1', - # These packages needs to be pinned exactly as newer versions are - # incompatible with the rest of the ecosystem -- 'gast == 0.3.3', -+ 'gast >= 0.3.3', - # TensorFlow ecosystem packages that TF exposes API for - # These need to be in sync with the existing TF version - # They are updated during the release process -@@ -118,7 +118,7 @@ if 'tf_nightly' in project_name: - # BoringSSL support. - # See https://github.com/tensorflow/tensorflow/issues/17882. - if sys.byteorder == 'little': -- REQUIRED_PACKAGES.append('grpcio ~= 1.32.0') -+ REQUIRED_PACKAGES.append('grpcio >= 1.31.0') - - - # Packages which are only needed for testing code. diff --git a/pkgs/development/python-modules/tensorflow/workspace.patch b/pkgs/development/python-modules/tensorflow/workspace.patch deleted file mode 100644 index 15a527815ec3..000000000000 --- a/pkgs/development/python-modules/tensorflow/workspace.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/WORKSPACE b/WORKSPACE -index 9db1d9b80eb..c46f13f4ca4 100644 ---- a/WORKSPACE -+++ b/WORKSPACE -@@ -12,6 +12,13 @@ http_archive( - ], - ) - -+http_archive( -+ name = "io_bazel_rules_docker", -+ sha256 = "1698624e878b0607052ae6131aa216d45ebb63871ec497f26c67455b34119c80", -+ strip_prefix = "rules_docker-0.15.0", -+ urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.15.0/rules_docker-v0.15.0.tar.gz"], -+) -+ - # Load tf_repositories() before loading dependencies for other repository so - # that dependencies like com_google_protobuf won't be overridden. - load("//tensorflow:workspace.bzl", "tf_repositories") diff --git a/pkgs/development/python-modules/zigpy-znp/default.nix b/pkgs/development/python-modules/zigpy-znp/default.nix index f8413d9aa17f..74295782a4a6 100644 --- a/pkgs/development/python-modules/zigpy-znp/default.nix +++ b/pkgs/development/python-modules/zigpy-znp/default.nix @@ -18,13 +18,16 @@ buildPythonPackage rec { pname = "zigpy-znp"; - version = "0.5.4"; + version = "0.6.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "zigpy"; repo = pname; rev = "v${version}"; - sha256 = "0jki9qmjazh0by02c0w17dyaz0nl3gzjiy064mj6pi502d175831"; + sha256 = "sha256-Dj8gduDyE3JpcNwzXmDjZLbX0QmUQmptuAKRBQJkdaA="; }; propagatedBuildInputs = [ @@ -46,7 +49,9 @@ buildPythonPackage rec { asynctest ]; - pythonImportsCheck = [ "zigpy_znp" ]; + pythonImportsCheck = [ + "zigpy_znp" + ]; meta = with lib; { description = "Python library for zigpy which communicates with TI ZNP radios"; diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix index 70763446293e..e5f590b14323 100644 --- a/pkgs/development/python-modules/zigpy/default.nix +++ b/pkgs/development/python-modules/zigpy/default.nix @@ -15,13 +15,16 @@ buildPythonPackage rec { pname = "zigpy"; - version = "0.39.0"; + version = "0.41.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy"; rev = version; - sha256 = "sha256-cR63xzx62ZKCXJENoksJTwEU8vGL8HtdIN3+5OqIL1Y="; + sha256 = "sha256-6B5JquShUhW2EudkhCD1s5eJLJU1q1HmX7C/avoI7vU="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix index feed2f73ca17..5b18c09f15a8 100644 --- a/pkgs/development/python-modules/zwave-js-server-python/default.nix +++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix @@ -9,15 +9,16 @@ buildPythonPackage rec { pname = "zwave-js-server-python"; - version = "0.31.3"; - disabled = pythonOlder "3.8"; + version = "0.33.0"; + format = "setuptools"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = pname; rev = version; - sha256 = "sha256-mOcaxt8pc+d7qBoDtwCsDWoVs3Hw17v5WDKgzIW1WzY="; + sha256 = "sha256-0hAksizQSIOg+hbSq/OZqFqlBBdpa0bSf+puWfD9TSg="; }; propagatedBuildInputs = [ @@ -29,7 +30,9 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "zwave_js_server" ]; + pythonImportsCheck = [ + "zwave_js_server" + ]; meta = with lib; { description = "Python wrapper for zwave-js-server"; diff --git a/pkgs/development/tools/parsing/antlr/4.8.nix b/pkgs/development/tools/parsing/antlr/4.8.nix index 0708ba754b2a..0e69227aa786 100644 --- a/pkgs/development/tools/parsing/antlr/4.8.nix +++ b/pkgs/development/tools/parsing/antlr/4.8.nix @@ -22,6 +22,10 @@ let buildInputs = lib.optional stdenv.isLinux libuuid ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreFoundation; + # Install CMake config files, used to locate the runtime from another + # CMake project, using the find_package function. + cmakeFlags = [ "-DANTLR4_INSTALL=ON" ]; + postUnpack = '' export sourceRoot=$sourceRoot/runtime/Cpp ''; diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix index 02ae1bfe9260..09507954670d 100644 --- a/pkgs/games/mindustry/default.nix +++ b/pkgs/games/mindustry/default.nix @@ -4,7 +4,7 @@ , copyDesktopItems , fetchFromGitHub , gradle_6 -, jdk11 +, jdk , perl # for arc @@ -87,8 +87,7 @@ let popd ''; - jdk = jdk11; - gradle = (gradle_6.override (old: { java = jdk11; })); + gradle = (gradle_6.override (old: { java = jdk; })); # fake build to pre-download deps into fixed-output derivation deps = stdenv.mkDerivation { @@ -129,6 +128,15 @@ stdenv.mkDerivation rec { rm Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so '' + cleanupMindustrySrc; + # Propagate glew to prevent it from being cleaned up. + # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there, + # and will assume that it's not actually needed. + # This can cause issues. + # See https://github.com/NixOS/nixpkgs/issues/109798. + propagatedBuildInputs = lib.optionals enableClient [ + glew.out + ]; + buildInputs = lib.optionals enableClient [ SDL2 glew @@ -157,9 +165,11 @@ stdenv.mkDerivation rec { '' + optionalString enableClient '' gradle --offline --no-daemon jnigenBuild -Pbuildversion=${buildVersion} gradle --offline --no-daemon sdlnatives -Pdynamic -Pbuildversion=${buildVersion} + glewlib=${lib.getLib glew}/lib/libGLEW.so + sdllib=${lib.getLib SDL2}/lib/libSDL2.so patchelf ../Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so \ - --add-needed ${glew.out}/lib/libGLEW.so \ - --add-needed ${SDL2}/lib/libSDL2.so + --add-needed $glewlib \ + --add-needed $sdllib gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion} '' + optionalString enableServer '' gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion} @@ -191,8 +201,6 @@ stdenv.mkDerivation rec { platforms = platforms.x86_64; # Hash mismatch on darwin: # https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293 - broken = stdenv.isDarwin - # does not work with any maintained java version (https://github.com/Anuken/Mindustry/issues/5114) - || true; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix index ab13e041139c..c8a1b8983f32 100644 --- a/pkgs/misc/emulators/retroarch/cores.nix +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -50,10 +50,11 @@ let mkLibRetroCore = { core , description + # Check https://github.com/libretro/libretro-core-info for license information , license , src ? null , broken ? false - , version ? "unstable-2021-11-16" + , version ? "unstable-2021-11-22" , ... }@args: lib.makeOverridable stdenv.mkDerivation ( @@ -82,13 +83,18 @@ let }.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}" ] ++ (args.makeFlags or [ ]); + coreDir = "${placeholder "out"}/lib/retroarch/cores"; + installPhase = '' - COREDIR="$out/lib/retroarch/cores" + runHook preInstall + mkdir -p $out/bin - mkdir -p $COREDIR - mv ${d2u args.core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $COREDIR + mkdir -p $coreDir + mv ${d2u args.core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $coreDir makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \ - --add-flags "-L $COREDIR/${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $@" + --add-flags "-L $coreDir/${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $@" + + runHook postInstall ''; enableParallelBuilding = true; @@ -108,6 +114,8 @@ let ); in { + inherit mkLibRetroCore; + atari800 = mkLibRetroCore { core = "atari800"; description = "Port of Atari800 to libretro"; @@ -116,14 +124,6 @@ in makeFlags = [ "GIT_VERSION=" ]; }; - beetle-snes = mkLibRetroCore { - core = "mednafen-snes"; - src = getCoreSrc "beetle-snes"; - description = "Port of Mednafen's SNES core to libretro"; - license = lib.licenses.gpl2Only; - makefile = "Makefile"; - }; - beetle-gba = mkLibRetroCore { core = "mednafen-gba"; src = getCoreSrc "beetle-gba"; @@ -189,19 +189,15 @@ in description = "Port of Mednafen's Saturn core to libretro"; license = lib.licenses.gpl2Only; makefile = "Makefile"; - makeFlags = [ "HAVE_HW=0" ]; meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; }; - beetle-saturn-hw = mkLibRetroCore { - core = "mednafen-saturn-hw"; - src = getCoreSrc "beetle-saturn"; - description = "Port of Mednafen's Saturn core to libretro"; + beetle-snes = mkLibRetroCore { + core = "mednafen-snes"; + src = getCoreSrc "beetle-snes"; + description = "Port of Mednafen's SNES core to libretro"; license = lib.licenses.gpl2Only; - extraBuildInputs = [ libGL libGLU ]; makefile = "Makefile"; - makeFlags = [ "HAVE_OPENGL=1" "HAVE_HW=1" ]; - meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; }; beetle-supergrafx = mkLibRetroCore { @@ -212,14 +208,6 @@ in makefile = "Makefile"; }; - beetle-wswan = mkLibRetroCore { - core = "mednafen-wswan"; - src = getCoreSrc "beetle-wswan"; - description = "Port of Mednafen's WonderSwan core to libretro"; - license = lib.licenses.gpl2Only; - makefile = "Makefile"; - }; - beetle-vb = mkLibRetroCore { core = "mednafen-vb"; src = getCoreSrc "beetle-vb"; @@ -228,12 +216,63 @@ in makefile = "Makefile"; }; + beetle-wswan = mkLibRetroCore { + core = "mednafen-wswan"; + src = getCoreSrc "beetle-wswan"; + description = "Port of Mednafen's WonderSwan core to libretro"; + license = lib.licenses.gpl2Only; + makefile = "Makefile"; + }; + + blastem = mkLibRetroCore { + core = "blastem"; + description = "Port of BlastEm to libretro"; + license = lib.licenses.gpl3Only; + }; + bluemsx = mkLibRetroCore { core = "bluemsx"; description = "Port of BlueMSX to libretro"; license = lib.licenses.gpl2Only; }; + bsnes = mkLibRetroCore { + core = "bsnes"; + description = "Port of bsnes to libretro"; + license = lib.licenses.gpl3Only; + makefile = "Makefile"; + # https://github.com/libretro/bsnes-libretro/issues/10 + patches = [ + (fetchpatch { + name = "added-missing-GB_VERSION-define.patch"; + url = "https://github.com/nE0sIghT/bsnes-libretro/commit/97fd8b486f9a9046277a580b238b6673a98f7f72.patch"; + sha256 = "sha256-gCiy6sqc9sixT6Appr5ZCfHyBE2jYhPb0KvI63nfmEc="; + }) + ]; + }; + + bsnes-hd = + let + # linux = bsd + # https://github.com/DerKoun/bsnes-hd/blob/f0b6cf34e9780d53516977ed2de64137a8bcc3c5/bsnes/GNUmakefile#L37 + platform = if stdenv.isDarwin then "macos" else "linux"; + in + mkLibRetroCore { + core = "bsnes-hd-beta"; + src = getCoreSrc "bsnes-hd"; + description = "Port of bsnes-hd to libretro"; + license = lib.licenses.gpl3Only; + makefile = "GNUmakefile"; + makeFlags = [ + "-C" + "bsnes" + "target=libretro" + "platform=${platform}" + ]; + extraBuildInputs = [ xorg.libX11 xorg.libXext ]; + postBuild = "cd bsnes/out"; + }; + bsnes-mercury = mkLibRetroCore { core = "bsnes-mercury-accuracy"; src = getCoreSrc "bsnes-mercury"; @@ -243,6 +282,24 @@ in makeFlags = [ "PROFILE=accuracy" ]; }; + bsnes-mercury-balanced = mkLibRetroCore { + core = "bsnes-mercury-balanced"; + src = getCoreSrc "bsnes-mercury"; + description = "Fork of bsnes with HLE DSP emulation restored"; + license = lib.licenses.gpl3Only; + makefile = "Makefile"; + makeFlags = [ "PROFILE=balanced" ]; + }; + + bsnes-mercury-performance = mkLibRetroCore { + core = "bsnes-mercury-performance"; + src = getCoreSrc "bsnes-mercury"; + description = "Fork of bsnes with HLE DSP emulation restored"; + license = lib.licenses.gpl3Only; + makefile = "Makefile"; + makeFlags = [ "PROFILE=performance" ]; + }; + citra = mkLibRetroCore { core = "citra"; # `nix-prefetch-github` doesn't support `deepClone`, necessary for citra @@ -503,6 +560,14 @@ in enableParallelBuilding = false; }; + melonds = mkLibRetroCore { + core = "melonds"; + description = "Port of MelonDS to libretro"; + license = lib.licenses.gpl3Only; + extraBuildInputs = [ libGL libGLU ]; + makefile = "Makefile"; + }; + mesen = mkLibRetroCore { core = "mesen"; description = "Port of Mesen to libretro"; @@ -511,6 +576,20 @@ in preBuild = "cd Libretro"; }; + mesen-s = mkLibRetroCore { + core = "mesens"; + src = getCoreSrc "mesen-s"; + description = "Port of Mesen-S to libretro"; + license = lib.licenses.gpl3Only; + makefile = "Makefile"; + preBuild = "cd Libretro"; + postInstall = '' + # fix library name to match libretro-core-info + mv $coreDir/mesens_libretro${stdenv.hostPlatform.extensions.sharedLibrary} \ + $coreDir/mesen-s_libretro${stdenv.hostPlatform.extensions.sharedLibrary} + ''; + }; + meteor = mkLibRetroCore { core = "meteor"; description = "Port of Meteor to libretro"; @@ -724,6 +803,19 @@ in makefile = "Makefile"; }; + swanstation = mkLibRetroCore { + core = "swanstation"; + description = "Port of SwanStation (a fork of DuckStation) to libretro"; + license = lib.licenses.gpl3Only; + extraNativeBuildInputs = [ cmake ]; + makefile = "Makefile"; + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DBUILD_LIBRETRO_CORE=ON" + ]; + postPatch = "mkdir -p src/duckstation-libretro"; + }; + tgbdual = mkLibRetroCore { core = "tgbdual"; description = "Port of TGBDual to libretro"; @@ -757,12 +849,6 @@ in postBuild = "cd lib"; }; - vba-next = mkLibRetroCore { - core = "vba-next"; - description = "VBA-M libretro port with modifications for speed"; - license = lib.licenses.gpl2Only; - }; - vba-m = mkLibRetroCore { core = "vbam"; src = getCoreSrc "vba-m"; @@ -772,6 +858,12 @@ in preBuild = "cd src/libretro"; }; + vba-next = mkLibRetroCore { + core = "vba-next"; + description = "VBA-M libretro port with modifications for speed"; + license = lib.licenses.gpl2Only; + }; + vecx = mkLibRetroCore { core = "vecx"; description = "Port of Vecx to libretro"; diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix index b2621ba8cc13..5a294277c80c 100644 --- a/pkgs/misc/emulators/retroarch/default.nix +++ b/pkgs/misc/emulators/retroarch/default.nix @@ -36,16 +36,18 @@ with lib; let + mainVersion = "1.9.13"; + revision = "2"; libretroSuperSrc = fetchFromGitHub { owner = "libretro"; - repo = "libretro-super"; - sha256 = "sha256-4WB6/1DDec+smhMJKLCxWb4+LQlZN8v2ik69saKixkE="; - rev = "fa70d9843838df719623094965bd447e4db0d1b4"; + repo = "libretro-core-info"; + sha256 = "sha256-jM+iXNSCpJy4wOk1S72G1UjNGBzejyhs5LFFWCFjs2c="; + rev = "v${mainVersion}"; }; in stdenv.mkDerivation rec { pname = "retroarch-bare"; - version = "1.9.13.2"; + version = "${lib.concatStringsSep "." [ mainVersion revision ]}"; src = fetchFromGitHub { owner = "libretro"; @@ -98,7 +100,7 @@ stdenv.mkDerivation rec { postInstall = optionalString withVulkan '' mkdir -p $out/share/libretro/info # TODO: ideally each core should have its own core information - cp -r ${libretroSuperSrc}/dist/info/* $out/share/libretro/info + cp -r ${libretroSuperSrc}/* $out/share/libretro/info wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib ''; diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/misc/emulators/retroarch/hashes.json index a849a37bfab4..9eab19b29ad1 100644 --- a/pkgs/misc/emulators/retroarch/hashes.json +++ b/pkgs/misc/emulators/retroarch/hashes.json @@ -6,13 +6,6 @@ "sha256": "LJpRegJVR2+sS1UmTTpVest0rMrNDBMXmj/jRFVglWI=", "fetchSubmodules": false }, - "beetle-snes": { - "owner": "libretro", - "repo": "beetle-bsnes-libretro", - "rev": "bc867656d7438aaffc6818b3b92350587bc78a47", - "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=", - "fetchSubmodules": false - }, "beetle-gba": { "owner": "libretro", "repo": "beetle-gba-libretro", @@ -30,57 +23,71 @@ "beetle-ngp": { "owner": "libretro", "repo": "beetle-ngp-libretro", - "rev": "f969af2b52f20642aea7e800e3cfcce728f3aee9", - "sha256": "GIzLZ3iOJeHKdAowhM4S56iouaxX8v2XZgc/ZiCzCPk=", + "rev": "f7c393184e5228c3d3807ee74c951c4c549107d8", + "sha256": "7vki8VkwOzxwMZcUxekg1DFSskV7VNQ1SRaU3M1xHZ0=", "fetchSubmodules": false }, "beetle-pce-fast": { "owner": "libretro", "repo": "beetle-pce-fast-libretro", - "rev": "81d4c9d07a76c89c32ad0e7450b69bde6403836f", - "sha256": "LhQbAEUMhoIF3VfwLbhtD7xxSddzdgwIHHnSabQPAvs=", + "rev": "a7608100d1cdd8eb65aea82fede7da61dcc3c5f1", + "sha256": "3v/TGz4y52IodXRmt/peZlabNS+quQVN9t5xucC2plg=", "fetchSubmodules": false }, "beetle-pcfx": { "owner": "libretro", "repo": "beetle-pcfx-libretro", - "rev": "a1f1734509dd6acb11269f118d61f480ae8dbacf", - "sha256": "rvRDuYJLxb1TSwNXhp3ATJW0sQgWi8Cj4NR3hep/AJk=", + "rev": "19f2b7ce529e70655db04d3dd4faf32b4de14df2", + "sha256": "K3ZjOd8IGtwlwxExNAmHsOC0N0fz06w/3uua7sAm8Jc=", "fetchSubmodules": false }, "beetle-psx": { "owner": "libretro", "repo": "beetle-psx-libretro", - "rev": "ccca81930a078c0efd77b00327d2ee212698f3b4", - "sha256": "Hy8Zrp0kTR+Mfbq0nVYerSarRCxZI+ykgDOscakDMiU=", + "rev": "bc1b6af8d7b8dd0b4133040fef82725520bbd560", + "sha256": "QgBB05o7941LsNKl2EIKy185xgcAf1vrAZgQiray/x0=", "fetchSubmodules": false }, "beetle-saturn": { "owner": "libretro", "repo": "beetle-saturn-libretro", - "rev": "e1119e91a4e3f4b30971455aeb3c1a6f4cd05e59", - "sha256": "lKlNNAHK1ynFXY++Ya0m1Ax5YTZkd44eQjzuOLXfWa8=", + "rev": "f97fda5447d883220ce2f53a15f2cbe4790a8392", + "sha256": "r4kvrTIw1sOf5nEuPq2xF/QXw+0COQYWyERJ7HX1sFU=", + "fetchSubmodules": false + }, + "beetle-snes": { + "owner": "libretro", + "repo": "beetle-bsnes-libretro", + "rev": "bc867656d7438aaffc6818b3b92350587bc78a47", + "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=", "fetchSubmodules": false }, "beetle-supergrafx": { "owner": "libretro", "repo": "beetle-supergrafx-libretro", - "rev": "59062662d6e925ad512fcbb9c1a0db97d1592bc1", - "sha256": "kGyl5XJMFUALPAEZf4IynY6bmXWfqy0o65eO8zS0RTE=", - "fetchSubmodules": false - }, - "beetle-wswan": { - "owner": "libretro", - "repo": "beetle-wswan-libretro", - "rev": "0c7faaf7f70b72ebb68e310530cd46a69e680d40", - "sha256": "UQyICcZe1DVotSFt0QVnGop+JG5NJwTBcGSZaFW0P0U=", + "rev": "083d102389a1ffaeddfa525a186adde0f35e42fc", + "sha256": "4hTOYPnOWdhb7CfWKZFO53NBFGa3lg0745ncBU6ejiQ=", "fetchSubmodules": false }, "beetle-vb": { "owner": "libretro", "repo": "beetle-vb-libretro", - "rev": "1bd0da71c8f6add253ad76e2b6e1357cd09fc304", - "sha256": "KguKbRK0uXE+brpF8HdRwi8Gt76AMa4wkh1MFvNCbN4=", + "rev": "aa77198c6c60b935503b5ea2149b8ff7598344da", + "sha256": "ShsMYc2vjDoiN1yCCoSl91P5ecYJDj/V+VWUYuYVxas=", + "fetchSubmodules": false + }, + "beetle-wswan": { + "owner": "libretro", + "repo": "beetle-wswan-libretro", + "rev": "3fcb582755a509ae33fc52cd0ca4b3edffc734ef", + "sha256": "XHTzXlTt8op0bDLNn833Unt57zclXowlLhG3qvWwjXQ=", + "fetchSubmodules": false + }, + "blastem": { + "owner": "libretro", + "repo": "blastem", + "rev": "0786858437ed71996f43b7af0fbe627eb88152fc", + "sha256": "uEP5hSgLAle1cLv/EM7D11TJMAggu7pqWxfrUt3rhEg=", "fetchSubmodules": false }, "bluemsx": { @@ -90,6 +97,20 @@ "sha256": "ix/AyYNer1R73ZJW1reXyj7geBr3ThrqXf5Ki5yrz9A=", "fetchSubmodules": false }, + "bsnes": { + "owner": "libretro", + "repo": "bsnes-libretro", + "rev": "44d97b17d06a10ae17d97a91a48e5acd10ec6db4", + "sha256": "VNSeTRryrX2/V38GGXTRLuDEQqDUmX2DUOHAKLxJezU=", + "fetchSubmodules": false + }, + "bsnes-hd": { + "owner": "DerKoun", + "repo": "bsnes-hd", + "rev": "65f24e56c37f46bb752190024bd4058e64ad77d1", + "sha256": "1dk2i71NOLeTTOZjVll8wrkr5dIH5bGSGUeeHqWjZHE=", + "fetchSubmodules": false + }, "bsnes-mercury": { "owner": "libretro", "repo": "bsnes-mercury", @@ -121,8 +142,8 @@ "dolphin": { "owner": "libretro", "repo": "dolphin", - "rev": "82e617439b622af5d1189e9fec67e7f1376be099", - "sha256": "Q3a+0SYocX1hBGLs1K9r932NkiCDFINPhtHeyzUknJE=", + "rev": "d5193c4391addbd257b2aafe943a138ba89e20fb", + "sha256": "uRhYMO+fmAfwEr/KTKAhx//dKq44YdvhXxp7v+Gol0w=", "fetchSubmodules": false }, "dosbox": { @@ -149,29 +170,29 @@ "fbneo": { "owner": "libretro", "repo": "fbneo", - "rev": "4d6387b7f3e3f1a9c25015789d751c6db1a9ae8c", - "sha256": "bIOmvhu9mOfOXoOTbwbjMHIZ3JkGz96yyFZALmqkOmk=", + "rev": "2447dd5385cb193801dc46be7b50a807d13162aa", + "sha256": "x70kPEC9LVm9ZyH5sviI8iW9dCkIi+lx2ns03OId2Oc=", "fetchSubmodules": false }, "fceumm": { "owner": "libretro", "repo": "libretro-fceumm", - "rev": "a918869c18c9f30b84e04260b78b675b8a3c7be1", - "sha256": "nDYPrwIsvhWveDQDE0WEK7GO60iRE967p1XxXn+lNj4=", + "rev": "8864f6e246e4ba511b95a48713456b0dd3b3045b", + "sha256": "GrkD54ElseEYczPSb9WGTvI8SaNy/fWV4zve7sG9TTY=", "fetchSubmodules": false }, "flycast": { "owner": "libretro", "repo": "flycast", - "rev": "ae670ea28fdbb9f08149cb598312a71a0970ca67", - "sha256": "jmSOfyak5mX04HgZOtCF9cz8HqAApxDXHJ6IqhqGILE=", + "rev": "254b66a017a087f0833777760b879abfe7f9d5cd", + "sha256": "pkgVjZCGlgq95Cv+xWLl3sjq+jIpgnfuVaXGDYtuGAY=", "fetchSubmodules": false }, "fmsx": { "owner": "libretro", "repo": "fmsx-libretro", - "rev": "20c805409b8f6e1f9d61cb3dff0d5b28d82d1ee3", - "sha256": "uqqVF2+YpfWOKbe8aIreoImFb3/kL8ohslJkl+JivQI=", + "rev": "7b0c70c25fcc7f4bb876e729eacfcc01f494df60", + "sha256": "H3ttVMw3cUxXJ64olbTSO6K7YBpmdgKnaLEpTS9QQEg=", "fetchSubmodules": false }, "freeintv": { @@ -184,22 +205,22 @@ "gambatte": { "owner": "libretro", "repo": "gambatte-libretro", - "rev": "4b822bcf561856689e101dd5505d365de5ffcffe", - "sha256": "FsIQLd/UO5xs/aTpggSn8WLPgi83gsxRlwKR+UzH+TY=", + "rev": "c842d49b1daab6e45f3a1802ee7516b100827599", + "sha256": "DUj4vEh3x7MaE8bHDwOoDY7K2yEkTGz8Cf3fx4sgCvY=", "fetchSubmodules": false }, "genesis-plus-gx": { "owner": "libretro", "repo": "Genesis-Plus-GX", - "rev": "309a4aacfd582c312dcad61b7abfdffba4a0c66e", - "sha256": "jnbey1USldDZGXGXLLR5TgSJZgD+6ZFpwfIf6c8xvyM=", + "rev": "c1c605e862c4a277e880b510c68ebde630487948", + "sha256": "wDEwG+VMs0hXjL1pBn+wmvtaaN4nax+Dm6Ocy7HCLbQ=", "fetchSubmodules": false }, "gpsp": { "owner": "libretro", "repo": "gpsp", - "rev": "a2aa78733d8daf1d550c9dc76c6ff94e8670b31c", - "sha256": "nKim7YkksUyZO97SvrW1TEYQlA+7Yi7xbLtyDPV4LWc=", + "rev": "bc0a3cf2c182b7f60c80464309a791377bef5af3", + "sha256": "27eOnAp6pzZAK5o1of5+2Fx/hHtUsjbBQlefdsCv0rk=", "fetchSubmodules": false }, "gw": { @@ -240,15 +261,15 @@ "mame2003": { "owner": "libretro", "repo": "mame2003-libretro", - "rev": "d0ed1a565803cfada9f4088326eae616f6e5f8a3", - "sha256": "JGEy6Mp5qcZwaehzbj+qpdBfxHzqi6qIR7akxIj/WK8=", + "rev": "e6595b3fa677158a7d834391517ae68e3c5f8f41", + "sha256": "qxynDUQWtUKxJ7H7q9nGFhIjr1Pkrgtp8aJdTtG5/xU=", "fetchSubmodules": false }, "mame2003-plus": { "owner": "libretro", "repo": "mame2003-plus-libretro", - "rev": "841e44dff953a346127f15be53cb34778e20ce1c", - "sha256": "aCXyeDcz0uSObe4S2bQWCxIAF5aA3kne5v0HT+oXHuw=", + "rev": "680f4679c7a15fcec007eff8ba9578567b821daa", + "sha256": "nxpmPE79C3hgeFLlwS4fHYteSmC4xuis1UySlqhqvzk=", "fetchSubmodules": false }, "mame2010": { @@ -272,11 +293,25 @@ "sha256": "GQ4Sdg/1nZRT4Z1Aqq1zPo96duqIGyt6sjghf9ap2Jg=", "fetchSubmodules": false }, + "melonds": { + "owner": "libretro", + "repo": "melonds", + "rev": "1ad65728476d7b9594c4ff91a1ba60460a0a30e7", + "sha256": "EBV8F2MCmWuxWKMOXipTZKRGHqp8sb/ojK3JpGZe818=", + "fetchSubmodules": false + }, "mesen": { - "owner": "SourMesen", + "owner": "libretro", "repo": "mesen", - "rev": "86326e832974d984846ae078e568c023a5f76f1f", - "sha256": "At5rhlJ6rAnXaQrmRA1NtCCi+Ff/ytlt5dwsaXZhxXg=", + "rev": "094d82bf724448426acbaad45e83bc38994e32f6", + "sha256": "9+AqZRv8lugNNa+ZZzIPJNO87J1aBUEiOggL8aYno1M=", + "fetchSubmodules": false + }, + "mesen-s": { + "owner": "libretro", + "repo": "mesen-s", + "rev": "42eb0e8ad346608dae86feb8a04833d16ad21541", + "sha256": "q6zeoNiZtFy8ZYls9/E+O7o9BYTcVcmYjbJA48qiraU=", "fetchSubmodules": false }, "meteor": { @@ -331,8 +366,8 @@ "opera": { "owner": "libretro", "repo": "opera-libretro", - "rev": "d8aa7cecf96298bd7ee51718086f7b1bc8c57e2a", - "sha256": "1t+zwCVmqiPFFNCNq9XzVfRGbEA1q8v4jzhOb+wV/nA=", + "rev": "aa868e656b518567a95b11b2f14c5db8001b11a0", + "sha256": "YUzfHtgKCzgxZwslFxwmAN0hg+MIGLAYBAI7RUCIW40=", "fetchSubmodules": false }, "parallel-n64": { @@ -352,22 +387,22 @@ "picodrive": { "owner": "libretro", "repo": "picodrive", - "rev": "9cb99ce36f93871b05c5adc2790b2e33e63b50b6", - "sha256": "hhdEuri1hSNLAkno8Rwd0Yls11Yh6Q7/+t4T2LH+BaE=", + "rev": "3edf1a00f64e0f22331233bb1638170115b2ac2e", + "sha256": "4IWYOJ2wTDkdO4FxsAWCV724VNViHIb42nYc+j4pekU=", "fetchSubmodules": true }, "play": { "owner": "jpd002", "repo": "Play-", - "rev": "b8e16159734c2068db0f2f12b11bc16ef55058ce", - "sha256": "qjp1rEjmDAAB2wXITA3lAS+ERJuZinoneJToYiYRi/w=", + "rev": "6b9cc418004c01a195c78387752cc99245ba54d5", + "sha256": "sha256-7nU5fQ8pQLmKy9Swmshkv2oj+HV0oTcqQ93LfNSq1us=", "fetchSubmodules": true }, "ppsspp": { "owner": "hrydgard", "repo": "ppsspp", - "rev": "b6e7fe1aaf2bbb8f4faa1378bf14f434aea33cc1", - "sha256": "Kif6oF8Bjhgc02xKDivCG9RBxj5wxNFEwxl9nX3AZug=", + "rev": "712b87ae57d4e69ad5ba98d331912dead31b9c01", + "sha256": "sygZYAOkFrrfpaF6nfKMBecJTNeXk48oqlCRncPb340=", "fetchSubmodules": true }, "prboom": { @@ -394,8 +429,8 @@ "sameboy": { "owner": "libretro", "repo": "sameboy", - "rev": "68f67b3db7747ba7aac84c5c253bc71d5a906525", - "sha256": "/4JQ1Tem3UgOUIcsLV0aLU+1R55hMTaT+wWElwj00Q4=", + "rev": "fb3c7dd7d89df1f696e4cde33a868e141c927790", + "sha256": "KFVNl43AJ11thHFFSJ6BO7wxfxhVdDVF+BAm1+GIzIs=", "fetchSubmodules": false }, "scummvm": { @@ -415,8 +450,8 @@ "snes9x": { "owner": "snes9xgit", "repo": "snes9x", - "rev": "edc32fc0bd6aea6d5645a03f0f94b72f3cbfa43e", - "sha256": "Zeojdoykmk+lpG1z5EdZToGWYDQvSSQqaEr7F68iyk0=", + "rev": "cf1a5901fccafdaead225b0a5e55ff74fdcf9678", + "sha256": "p6qTCZnZSV5vgpZglI/HMi/wOfu0hG2TuvOQhQHeo2s=", "fetchSubmodules": false }, "snes9x2002": { @@ -443,8 +478,8 @@ "stella": { "owner": "stella-emu", "repo": "stella", - "rev": "e1035b74fce26932078d00e8625688927efce34c", - "sha256": "+ZvSCnnoKGyToSFqUQOArolFdgUcBBFNjFw8aoVDkYI=", + "rev": "f619b4e5cb01eefe0c01dedc01b452b3f74aab26", + "sha256": "Oe++mDo1InvlvbRLlxcSjNQpioj4+ytt6ihTcvrD8g4=", "fetchSubmodules": false }, "stella2014": { @@ -454,6 +489,13 @@ "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak=", "fetchSubmodules": false }, + "swanstation": { + "owner": "libretro", + "repo": "swanstation", + "rev": "cc3946b2b3bd10282bc46078c245db09f6e68836", + "sha256": "UzdmjUS6+6z4K6VJtMPxOwGXsCtxoh08RWTNHlvy/h8=", + "fetchSubmodules": false + }, "tgbdual": { "owner": "libretro", "repo": "tgbdual-libretro", @@ -475,13 +517,6 @@ "sha256": "SXJvWX6Q3BrdajNnT4HIf6H2z7dXXvnXTJXf/TYRw4I=", "fetchSubmodules": true }, - "vba-next": { - "owner": "libretro", - "repo": "vba-next", - "rev": "b218f48bb27b5d3885fa4076ff325922b5acd817", - "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=", - "fetchSubmodules": false - }, "vba-m": { "owner": "libretro", "repo": "vbam-libretro", @@ -489,6 +524,13 @@ "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk=", "fetchSubmodules": false }, + "vba-next": { + "owner": "libretro", + "repo": "vba-next", + "rev": "b218f48bb27b5d3885fa4076ff325922b5acd817", + "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=", + "fetchSubmodules": false + }, "vecx": { "owner": "libretro", "repo": "libretro-vecx", diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/misc/emulators/retroarch/update.py index db43db13575f..3c1ea2b755b1 100755 --- a/pkgs/misc/emulators/retroarch/update.py +++ b/pkgs/misc/emulators/retroarch/update.py @@ -11,7 +11,6 @@ SCRIPT_PATH = Path(__file__).absolute().parent HASHES_PATH = SCRIPT_PATH / "hashes.json" CORES = { "atari800": {"repo": "libretro-atari800"}, - "beetle-snes": {"repo": "beetle-bsnes-libretro"}, "beetle-gba": {"repo": "beetle-gba-libretro"}, "beetle-lynx": {"repo": "beetle-lynx-libretro"}, "beetle-ngp": {"repo": "beetle-ngp-libretro"}, @@ -19,10 +18,14 @@ CORES = { "beetle-pcfx": {"repo": "beetle-pcfx-libretro"}, "beetle-psx": {"repo": "beetle-psx-libretro"}, "beetle-saturn": {"repo": "beetle-saturn-libretro"}, + "beetle-snes": {"repo": "beetle-bsnes-libretro"}, "beetle-supergrafx": {"repo": "beetle-supergrafx-libretro"}, - "beetle-wswan": {"repo": "beetle-wswan-libretro"}, "beetle-vb": {"repo": "beetle-vb-libretro"}, + "beetle-wswan": {"repo": "beetle-wswan-libretro"}, + "blastem": {"repo": "blastem"}, "bluemsx": {"repo": "bluemsx-libretro"}, + "bsnes": {"repo": "bsnes-libretro"}, + "bsnes-hd": {"repo": "bsnes-hd", "owner": "DerKoun"}, "bsnes-mercury": {"repo": "bsnes-mercury"}, "citra": {"repo": "citra", "fetch_submodules": True}, "desmume": {"repo": "desmume"}, @@ -49,7 +52,9 @@ CORES = { "mame2010": {"repo": "mame2010-libretro"}, "mame2015": {"repo": "mame2015-libretro"}, "mame2016": {"repo": "mame2016-libretro"}, - "mesen": {"repo": "mesen", "owner": "SourMesen"}, + "melonds": {"repo": "melonds"}, + "mesen": {"repo": "mesen"}, + "mesen-s": {"repo": "mesen-s"}, "meteor": {"repo": "meteor-libretro"}, "mgba": {"repo": "mgba"}, "mupen64plus": {"repo": "mupen64plus-libretro-nx"}, @@ -75,11 +80,12 @@ CORES = { "snes9x2010": {"repo": "snes9x2010"}, "stella": {"repo": "stella", "owner": "stella-emu"}, "stella2014": {"repo": "stella2014-libretro"}, + "swanstation": {"repo": "swanstation"}, "tgbdual": {"repo": "tgbdual-libretro"}, "thepowdertoy": {"repo": "ThePowderToy"}, "tic80": {"repo": "tic-80", "fetch_submodules": True}, - "vba-next": {"repo": "vba-next"}, "vba-m": {"repo": "vbam-libretro"}, + "vba-next": {"repo": "vba-next"}, "vecx": {"repo": "libretro-vecx"}, "virtualjaguar": {"repo": "virtualjaguar-libretro"}, "yabause": {"repo": "yabause"}, @@ -112,21 +118,33 @@ def get_repo_hash(fetcher="fetchFromGitHub", **kwargs): raise ValueError(f"Unsupported fetcher: {fetcher}") -def get_repo_hashes(): - repo_hashes = {} +def get_repo_hashes(cores_to_update=[]): + with open(HASHES_PATH) as f: + repo_hashes = json.loads(f.read()) for core, repo in CORES.items(): - info(f"Getting repo hash for '{core}'...") - repo_hashes[core] = get_repo_hash(**repo) + if core in cores_to_update: + info(f"Getting repo hash for '{core}'...") + repo_hashes[core] = get_repo_hash(**repo) + else: + info(f"Skipping '{core}'...") return repo_hashes def main(): - repo_hashes = get_repo_hashes() + # If you don't want to update all cores, pass the name of the cores you + # want to update on the command line. E.g.: + # $ ./update.py citra snes9x + if len(sys.argv) > 1: + cores_to_update = sys.argv[1:] + else: + cores_to_update = CORES.keys() + + repo_hashes = get_repo_hashes(cores_to_update) info(f"Generating '{HASHES_PATH}'...") with open(HASHES_PATH, "w") as f: - f.write(json.dumps(repo_hashes, indent=4)) + f.write(json.dumps(dict(sorted(repo_hashes.items())), indent=4)) f.write("\n") info("Finished!") diff --git a/pkgs/servers/sql/mariadb/connector-c/default.nix b/pkgs/servers/sql/mariadb/connector-c/default.nix index 1db496d8e8da..3f0697bd2cc2 100644 --- a/pkgs/servers/sql/mariadb/connector-c/default.nix +++ b/pkgs/servers/sql/mariadb/connector-c/default.nix @@ -31,6 +31,13 @@ stdenv.mkDerivation { substituteInPlace mariadb_config/mariadb_config.c.in \ --replace '-I%s/@INSTALL_INCLUDEDIR@' "-I$dev/include" \ --replace '-L%s/@INSTALL_LIBDIR@' "-L$out/lib/mariadb" + '' + lib.optionalString stdenv.hostPlatform.isStatic '' + # Disables all dynamic plugins + substituteInPlace cmake/plugins.cmake \ + --replace 'if(''${CC_PLUGIN_DEFAULT} STREQUAL "DYNAMIC")' 'if(''${CC_PLUGIN_DEFAULT} STREQUAL "INVALID")' + # Force building static libraries + substituteInPlace libmariadb/CMakeLists.txt \ + --replace 'libmariadb SHARED' 'libmariadb STATIC' ''; # The cmake setup-hook uses $out/lib by default, this is not the case here. diff --git a/pkgs/tools/graphics/graphviz/2.32.nix b/pkgs/tools/graphics/graphviz/2.32.nix deleted file mode 100644 index 544949f33b71..000000000000 --- a/pkgs/tools/graphics/graphviz/2.32.nix +++ /dev/null @@ -1,5 +0,0 @@ -import ./base.nix { - rev = "10c3c34c5198beacfba950764f34960c6884a34f"; - version = "2.32.0"; - sha256 = "18b2wnz6xk8hndy7dlr1vn9vziyryyflh747n9966778gmh8bick"; -} diff --git a/pkgs/tools/graphics/graphviz/base.nix b/pkgs/tools/graphics/graphviz/base.nix deleted file mode 100644 index 53c231aa49bc..000000000000 --- a/pkgs/tools/graphics/graphviz/base.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ rev, sha256, version }: - -{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, cairo, expat, flex -, fontconfig, gd, gettext, gts, libdevil, libjpeg, libpng, libtool, pango, bash -, bison, fetchpatch, xorg, ApplicationServices, python3, withXorg ? true -}: - -let - inherit (lib) optional optionals optionalString; - raw_patch = - # https://gitlab.com/graphviz/graphviz/issues/1367 CVE-2018-10196 - fetchpatch { - name = "CVE-2018-10196.patch"; - url = "https://gitlab.com/graphviz/graphviz/uploads/30f8f0b00e357c112ac35fb20241604a/p.diff"; - sha256 = "074qx6ch9blrnlilmz7p96fkiz2va84x2fbqdza5k4808rngirc7"; - excludes = [ "tests/*" ]; # we don't run them and they don't apply - }; - # the patch needs a small adaption for older versions - patchToUse = if lib.versionAtLeast version "2.37" then raw_patch else - stdenv.mkDerivation { - inherit (raw_patch) name; - buildCommand = "sed s/dot_root/agroot/g ${raw_patch} > $out"; - }; - # 2.42 has the patch included - patches = optional (lib.versionOlder version "2.42") patchToUse - ++ optionals (lib.versionOlder version "2.46.0") [ - (fetchpatch { - name = "CVE-2020-18032.patch"; - url = "https://gitlab.com/graphviz/graphviz/-/commit/784411ca3655c80da0f6025ab20634b2a6ff696b.patch"; - sha256 = "1nkw9ism8lkfvxsp5fh95i2l5s5cbjsidbb3g1kjfv10rxkyb41m"; - }) - ] ++ [ - # Fix cross. - # https://gitlab.com/graphviz/graphviz/-/merge_requests/2281 - (fetchpatch { - url = "https://gitlab.com/graphviz/graphviz/-/commit/0cdb89acbb0caf5baf3d04a8821c9d0dfe065ea8.patch"; - sha256 = "130mqlxzhzaz3vp4ccaq7z7fd9q6vjxmimz70g8y818igsbb13rf"; - }) - ]; -in - -stdenv.mkDerivation { - pname = "graphviz"; - inherit version; - - src = fetchFromGitLab { - owner = "graphviz"; - repo = "graphviz"; - inherit sha256 rev; - }; - - nativeBuildInputs = [ - autoreconfHook - pkg-config - python3 - bison - flex - ]; - - buildInputs = [ - libpng libjpeg expat fontconfig gd gts libdevil pango bash - ] ++ optionals withXorg (with xorg; [ libXrender libXaw libXpm ]) - ++ optionals stdenv.isDarwin [ ApplicationServices ]; - - hardeningDisable = [ "fortify" ]; - - CPPFLAGS = lib.optionalString (withXorg && stdenv.isDarwin) - "-I${cairo.dev}/include/cairo"; - - configureFlags = [ - "--with-ltdl-lib=${libtool.lib}/lib" - "--with-ltdl-include=${libtool}/include" - ] ++ lib.optional (xorg == null) "--without-x"; - - inherit patches; - - postPatch = '' - for f in $(find . -name Makefile.in); do - substituteInPlace $f --replace "-lstdc++" "-lc++" - done - ''; - - # '' - # substituteInPlace rtest/rtest.sh \ - # --replace "/bin/ksh" "${mksh}/bin/mksh" - # ''; - - doCheck = false; # fails with "Graphviz test suite requires ksh93" which is not in nixpkgs - - preAutoreconf = "./autogen.sh"; - - postFixup = optionalString withXorg '' - substituteInPlace $out/bin/dotty --replace '`which lefty`' $out/bin/lefty - substituteInPlace $out/bin/vimdot \ - --replace /usr/bin/vi '$(command -v vi)' \ - --replace /usr/bin/vim '$(command -v vim)' \ - --replace /usr/bin/vimdot $out/bin/vimdot \ - ''; - - enableParallelBuilding = true; - - meta = with lib; { - homepage = "https://graphviz.org"; - description = "Graph visualization tools"; - license = licenses.epl10; - platforms = platforms.unix; - maintainers = with maintainers; [ bjornfor raskin ]; - }; -} diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index 6dc9e1861ac8..e2c5f9f63fc5 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -1,5 +1,114 @@ -import ./base.nix rec { - rev = "3425dae078262591d04fec107ec71ab010651852"; # use rev as tags have disappeared before +{ lib +, stdenv +, fetchFromGitLab +, autoreconfHook +, pkg-config +, cairo +, expat +, flex +, fontconfig +, gd +, gts +, libdevil +, libjpeg +, libpng +, libtool +, pango +, bash +, bison +, fetchpatch +, xorg +, ApplicationServices +, python3 +, withXorg ? true +}: + +let + inherit (lib) optional optionals optionalString; +in +stdenv.mkDerivation { + pname = "graphviz"; version = "2.49.3"; - sha256 = "1qvyjly7r1ihacdvxq0r59l4csr09sc05palpshzqsiz2wb1izk0"; + + src = fetchFromGitLab { + owner = "graphviz"; + repo = "graphviz"; + # use rev as tags have disappeared before + rev = "3425dae078262591d04fec107ec71ab010651852"; + sha256 = "1qvyjly7r1ihacdvxq0r59l4csr09sc05palpshzqsiz2wb1izk0"; + }; + + patches = [ + # Fix cross. + # https://gitlab.com/graphviz/graphviz/-/merge_requests/2281 + # Remove when version > 2.49.3. + (fetchpatch { + url = "https://gitlab.com/graphviz/graphviz/-/commit/0cdb89acbb0caf5baf3d04a8821c9d0dfe065ea8.patch"; + sha256 = "130mqlxzhzaz3vp4ccaq7z7fd9q6vjxmimz70g8y818igsbb13rf"; + }) + ]; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + python3 + bison + flex + ]; + + buildInputs = [ + libpng + libjpeg + expat + fontconfig + gd + gts + libdevil + pango + bash + ] ++ optionals withXorg (with xorg; [ libXrender libXaw libXpm ]) + ++ optionals stdenv.isDarwin [ ApplicationServices ]; + + hardeningDisable = [ "fortify" ]; + + configureFlags = [ + "--with-ltdl-lib=${libtool.lib}/lib" + "--with-ltdl-include=${libtool}/include" + ] ++ lib.optional (xorg == null) "--without-x"; + + enableParallelBuilding = true; + + CPPFLAGS = lib.optionalString (withXorg && stdenv.isDarwin) + "-I${cairo.dev}/include/cairo"; + + # '' + # substituteInPlace rtest/rtest.sh \ + # --replace "/bin/ksh" "${mksh}/bin/mksh" + # ''; + + doCheck = false; # fails with "Graphviz test suite requires ksh93" which is not in nixpkgs + + postPatch = '' + for f in $(find . -name Makefile.in); do + substituteInPlace $f --replace "-lstdc++" "-lc++" + done + ''; + + preAutoreconf = "./autogen.sh"; + + postFixup = optionalString withXorg '' + substituteInPlace $out/bin/dotty --replace '`which lefty`' $out/bin/lefty + substituteInPlace $out/bin/vimdot \ + --replace /usr/bin/vi '$(command -v vi)' \ + --replace /usr/bin/vim '$(command -v vim)' \ + --replace /usr/bin/vimdot $out/bin/vimdot \ + ''; + + meta = with lib; { + homepage = "https://graphviz.org"; + description = "Graph visualization tools"; + license = licenses.epl10; + platforms = platforms.unix; + maintainers = with maintainers; [ bjornfor raskin ]; + }; } diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 0407ad4528de..a9cf1238441c 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -4,7 +4,7 @@ , fetchFromGitHub , meson , ninja -, nixUnstable +, nix , nlohmann_json , pkg-config , stdenv @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ boost - nixUnstable + nix nlohmann_json ]; nativeBuildInputs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 47e34c6bdc23..085599ac1dbc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5968,14 +5968,6 @@ with pkgs; libdevil = libdevil-nox; }; - /* Readded by Michael Raskin. There are programs in the wild - * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for - * objections before removal. The feature is libgraph. - */ - graphviz_2_32 = (callPackage ../tools/graphics/graphviz/2.32.nix { - inherit (darwin.apple_sdk.frameworks) ApplicationServices; - }).overrideAttrs(x: { configureFlags = x.configureFlags ++ ["--with-cgraph=no"];}); - grin = callPackage ../tools/text/grin { }; ripgrep = callPackage ../tools/text/ripgrep { @@ -16364,6 +16356,8 @@ with pkgs; geoclue2 = callPackage ../development/libraries/geoclue {}; + geoclue2-with-demo-agent = geoclue2.override { withDemoAgent = true; }; + geocode-glib = callPackage ../development/libraries/geocode-glib {}; geoipWithDatabase = makeOverridable (callPackage ../development/libraries/geoip) { @@ -25678,10 +25672,6 @@ with pkgs; guardian-agent = callPackage ../tools/networking/guardian-agent { }; - guitone = callPackage ../applications/version-management/guitone { - graphviz = graphviz_2_32; - }; - gv = callPackage ../applications/misc/gv { }; gvisor = callPackage ../applications/virtualization/gvisor { @@ -30322,10 +30312,16 @@ with pkgs; methane = callPackage ../games/methane { }; - mindustry = callPackage ../games/mindustry { }; - mindustry-wayland = callPackage ../games/mindustry { glew = glew-egl; }; + mindustry = callPackage ../games/mindustry { + jdk = adoptopenjdk-hotspot-bin-15; + }; + mindustry-wayland = callPackage ../games/mindustry { + jdk = adoptopenjdk-hotspot-bin-15; + glew = glew-egl; + }; mindustry-server = callPackage ../games/mindustry { + jdk = adoptopenjdk-hotspot-bin-15; enableClient = false; enableServer = true; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e99992fab3a7..7c3c42866adb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9235,6 +9235,7 @@ in { tensorflow-bin = self.tensorflow-bin_2; tensorflow-build_2 = callPackage ../development/python-modules/tensorflow { + inherit (pkgs.darwin) cctools; cudaSupport = pkgs.config.cudaSupport or false; cudatoolkit = pkgs.cudatoolkit_11_0; cudnn = pkgs.cudnn_cudatoolkit_11_0;