diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b2aedba67d0a..1be16188a18b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1564,6 +1564,16 @@ githubId = 87764; name = "Ben Ford"; }; + boppyt = { + email = "boppy@nwcpz.com"; + github = "boppyt"; + githubId = 71049646; + name = "Zack A"; + keys = [{ + longkeyid = "rsa4096/0x6310C97DE31D1545"; + fingerprint = "E8D7 5C19 9F65 269B 439D F77B 6310 C97D E31D 1545"; + }]; + }; borisbabic = { email = "boris.ivan.babic@gmail.com"; github = "borisbabic"; @@ -7839,6 +7849,12 @@ githubId = 99988; name = "Maarten Hoogendoorn"; }; + MoritzBoehme = { + email = "mail@moritzboeh.me"; + github = "MoritzBoehme"; + githubId = 42215704; + name = "Moritz Böhme"; + }; MostAwesomeDude = { email = "cds@corbinsimpson.com"; github = "MostAwesomeDude"; @@ -8680,6 +8696,12 @@ githubId = 101514; name = "Orivej Desh"; }; + ornxka = { + email = "ornxka@littledevil.sh"; + github = "ornxka"; + githubId = 52086525; + name = "ornxka"; + }; oro = { email = "marco@orovecchia.at"; github = "oro"; @@ -9979,6 +10001,12 @@ githubId = 592876; name = "Robert W. Pearce"; }; + rprecenth = { + email = "rasmus@precenth.eu"; + github = "Prillan"; + githubId = 1675190; + name = "Rasmus Précenth"; + }; rprospero = { email = "rprospero+nix@gmail.com"; github = "rprospero"; diff --git a/nixos/modules/services/databases/hbase.nix b/nixos/modules/services/databases/hbase.nix index ff01a1bcd98b..183c8a2f46d5 100644 --- a/nixos/modules/services/databases/hbase.nix +++ b/nixos/modules/services/databases/hbase.nix @@ -5,18 +5,24 @@ with lib; let cfg = config.services.hbase; - configFile = pkgs.writeText "hbase-site.xml" '' - - - hbase.rootdir - file://${cfg.dataDir}/hbase - - - hbase.zookeeper.property.dataDir - ${cfg.dataDir}/zookeeper - - - ''; + defaultConfig = { + "hbase.rootdir" = "file://${cfg.dataDir}/hbase"; + "hbase.zookeeper.property.dataDir" = "${cfg.dataDir}/zookeeper"; + }; + + buildProperty = configAttr: + (builtins.concatStringsSep "\n" + (lib.mapAttrsToList + (name: value: '' + + ${name} + ${builtins.toString value} + + '') + configAttr)); + + configFile = pkgs.writeText "hbase-site.xml" + (buildProperty (defaultConfig // cfg.settings)); configDir = pkgs.runCommand "hbase-config-dir" { preferLocalBuild = true; } '' mkdir -p $out @@ -85,6 +91,14 @@ in { ''; }; + settings = mkOption { + type = with lib.types; attrsOf (oneOf [ str int bool ]); + default = defaultConfig; + description = '' + configurations in hbase-site.xml, see for details. + ''; + }; + }; }; diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix index 044d5330231e..a08203dffe78 100644 --- a/nixos/modules/services/logging/logstash.nix +++ b/nixos/modules/services/logging/logstash.nix @@ -23,12 +23,16 @@ let logstashSettingsYml = pkgs.writeText "logstash.yml" cfg.extraSettings; + logstashJvmOptionsFile = pkgs.writeText "jvm.options" cfg.extraJvmOptions; + logstashSettingsDir = pkgs.runCommand "logstash-settings" { + inherit logstashJvmOptionsFile; inherit logstashSettingsYml; preferLocalBuild = true; } '' mkdir -p $out ln -s $logstashSettingsYml $out/logstash.yml + ln -s $logstashJvmOptionsFile $out/jvm.options ''; in @@ -152,6 +156,15 @@ in ''; }; + extraJvmOptions = mkOption { + type = types.lines; + default = ""; + description = "Extra JVM options, one per line (jvm.options format)."; + example = '' + -Xms2g + -Xmx2g + ''; + }; }; }; diff --git a/pkgs/applications/blockchains/chia/default.nix b/pkgs/applications/blockchains/chia/default.nix index a62d7f95d606..207b42e5584e 100644 --- a/pkgs/applications/blockchains/chia/default.nix +++ b/pkgs/applications/blockchains/chia/default.nix @@ -6,14 +6,14 @@ let chia = python3Packages.buildPythonApplication rec { pname = "chia"; - version = "1.2.10"; + version = "1.2.11"; src = fetchFromGitHub { owner = "Chia-Network"; repo = "chia-blockchain"; rev = version; fetchSubmodules = true; - sha256 = "sha256-TzSBGjgaE0IWaqJcCIoO/u+gDh17NtAqhE8ldbbjNIE="; + sha256 = "sha256-hRpZce8ydEsyq7htNfzlRSKPwMAOUurC3uiQpX6WiB8="; }; postPatch = '' @@ -46,7 +46,7 @@ let chia = python3Packages.buildPythonApplication rec { colorlog concurrent-log-handler cryptography - dnspython + dnspythonchia fasteners keyrings-cryptfile pyyaml diff --git a/pkgs/applications/editors/lite-xl/default.nix b/pkgs/applications/editors/lite-xl/default.nix new file mode 100644 index 000000000000..3b38004eddba --- /dev/null +++ b/pkgs/applications/editors/lite-xl/default.nix @@ -0,0 +1,65 @@ +{ agg +, fetchFromGitHub +, fetchpatch +, Foundation +, freetype +, lib +, lua5_2 +, meson +, ninja +, pcre2 +, pkg-config +, reproc +, SDL2 +, stdenv +}: + +stdenv.mkDerivation rec { + pname = "lite-xl"; + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "lite-xl"; + repo = "lite-xl"; + rev = "v${version}"; + sha256 = "sha256-+RbmT6H/5Ldhv3qOClxMjCSGMudbkGtkjo2SpGqExao="; + }; + + patches = [ + # Fixes compatibility with Lua5.2, remove patch when PR merged + # https://github.com/lite-xl/lite-xl/pull/435 + (fetchpatch { + name = "0001-replace-unpack-with-table.unpack.patch"; + url = "https://github.com/lite-xl/lite-xl/commit/30ccde896d1ffe37cbd8990e9b8aaef275e18935.patch"; + sha256 = "sha256-IAe3jIyD3OtZtu1V7MtPR4QzFKvU/aV/nLQ4U9nHyIQ="; + }) + # Lets meson fallback to the system reproc if available. + # remove patch when 2.0.2 is proposed. + (fetchpatch { + name = "0002-use-dependency-fallbacks-use-system-reproc-if-available.patch"; + url = "https://github.com/lite-xl/lite-xl/commit/973acb787aacb0164b2f4ae6fe335d250ba80a7b.patch"; + sha256 = "sha256-GmgATsRlj1FePmw3+AoWEMZIo2eujHYewKQCx583qbU="; + }) + ]; + + nativeBuildInputs = [ meson ninja pkg-config ]; + + buildInputs = [ + agg + freetype + lua5_2 + pcre2 + reproc + SDL2 + ] ++ lib.optionals stdenv.isDarwin [ + Foundation + ]; + + meta = with lib; { + description = "A lightweight text editor written in Lua"; + homepage = "https://github.com/lite-xl/lite-xl"; + license = licenses.mit; + maintainers = with maintainers; [ boppyt ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/cloak/default.nix b/pkgs/applications/misc/cloak/default.nix index cb33aa595a46..7b2501841262 100644 --- a/pkgs/applications/misc/cloak/default.nix +++ b/pkgs/applications/misc/cloak/default.nix @@ -1,4 +1,4 @@ -{ lib, rustPlatform, fetchFromGitHub }: +{ lib, stdenv, rustPlatform, fetchFromGitHub, Security }: rustPlatform.buildRustPackage rec { pname = "cloak"; @@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "0af38wgwmsamnx63dwfm2nrkd8wmky3ai7zwy0knmifgkn4b7yyj"; + buildInputs = lib.optionals stdenv.isDarwin [ Security ]; + meta = with lib; { homepage = "https://github.com/evansmurithi/cloak"; description = "Command-line OTP authenticator application"; diff --git a/pkgs/applications/misc/osmscout-server/default.nix b/pkgs/applications/misc/osmscout-server/default.nix index a3815dae00fc..d6041554705e 100644 --- a/pkgs/applications/misc/osmscout-server/default.nix +++ b/pkgs/applications/misc/osmscout-server/default.nix @@ -1,6 +1,6 @@ { lib, mkDerivation, fetchFromGitHub, fetchpatch, pkg-config , qmake, qttools, kirigami2, qtquickcontrols2, qtlocation -, libosmscout, mapnik, valhalla, libpostal, osrm-backend, protobuf +, libosmscout, valhalla, libpostal, osrm-backend, protobuf , libmicrohttpd_0_9_70, sqlite, marisa, kyotocabinet, boost }: @@ -41,7 +41,7 @@ mkDerivation rec { nativeBuildInputs = [ qmake pkg-config qttools ]; buildInputs = [ kirigami2 qtquickcontrols2 qtlocation - mapnik valhalla libosmscout osrm-backend libmicrohttpd_0_9_70 + valhalla libosmscout osrm-backend libmicrohttpd_0_9_70 libpostal sqlite marisa kyotocabinet boost protobuf date ]; @@ -52,8 +52,10 @@ mkDerivation rec { mv data/valhalla.json-3.1 data/valhalla.json ''; - # Choose to build the kirigami UI variant - qmakeFlags = [ "SCOUT_FLAVOR=kirigami" ]; + qmakeFlags = [ + "SCOUT_FLAVOR=kirigami" # Choose to build the kirigami UI variant + "CONFIG+=disable_mapnik" # Disable the optional mapnik backend + ]; meta = with lib; { description = "Maps server providing tiles, geocoder, and router"; diff --git a/pkgs/applications/networking/mailreaders/electron-mail/default.nix b/pkgs/applications/networking/mailreaders/electron-mail/default.nix index 1f7d663cf8e5..b6dca7e70b6b 100644 --- a/pkgs/applications/networking/mailreaders/electron-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/electron-mail/default.nix @@ -1,13 +1,13 @@ -{ appimageTools, lib, fetchurl }: +{ appimageTools, lib, fetchurl, libsecret }: let pname = "electron-mail"; - version = "4.12.2"; + version = "4.12.7"; name = "ElectronMail-${version}"; src = fetchurl { url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage"; - sha256 = "D+0qoIb0EwUVbgKOiKQpqoLDgm8l/UKDWm/BjhW4MYU="; + sha256 = "42d0b49a2feba628f4845940ffd9607739bd5fcdbe6ba37e15f993c511d21e46"; }; appimageContents = appimageTools.extract { inherit name src; }; @@ -16,13 +16,16 @@ in appimageTools.wrapType2 { extraInstallCommands = '' mv $out/bin/${name} $out/bin/${pname} - install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications substituteInPlace $out/share/applications/${pname}.desktop \ --replace 'Exec=AppRun' 'Exec=${pname}' cp -r ${appimageContents}/usr/share/icons $out/share ''; + extraPkgs = pkgs: with pkgs; [ + libsecret + ]; + meta = with lib; { description = "ElectronMail is an Electron-based unofficial desktop client for ProtonMail"; homepage = "https://github.com/vladimiry/ElectronMail"; diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix index 4bae5387255d..30770390e6cd 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix @@ -10,12 +10,12 @@ in rec { thunderbird = common rec { pname = "thunderbird"; - version = "91.3.0"; + version = "91.3.1"; application = "comm/mail"; binaryName = pname; src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; - sha512 = "938de817ed2cad90f665559da1dfc266f34b6ca2e688ee364112edfdb1167183a8225132ed50b672ceb14402be933be82fd1ef8b46f103cdf1534a403fb472d9"; + sha512 = "4938f676ddeeba37da1f2086d76a2ef2c870738169f7e10b35b83e4ed772df634825ee25c28232df1ac1e3a18a9466e97dc7ee318abbf43f1f4ce6479a13975b"; }; patches = [ ]; diff --git a/pkgs/applications/networking/mhost/default.nix b/pkgs/applications/networking/mhost/default.nix index f6aad5eaa081..beed066e65e9 100644 --- a/pkgs/applications/networking/mhost/default.nix +++ b/pkgs/applications/networking/mhost/default.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, rustPlatform, lib }: +{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }: rustPlatform.buildRustPackage rec { pname = "mhost"; @@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "0gqrya0bpdd67k2sxib7f4npnrx84d9r4hjq2sg2xz4j8pmgs018"; + buildInputs = lib.optional stdenv.isDarwin Security; + CARGO_CRATE_NAME = "mhost"; doCheck = false; diff --git a/pkgs/applications/networking/p2p/ncdc/default.nix b/pkgs/applications/networking/p2p/ncdc/default.nix index dd7f4a7bb60f..053f1d67882b 100644 --- a/pkgs/applications/networking/p2p/ncdc/default.nix +++ b/pkgs/applications/networking/p2p/ncdc/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, ncurses, zlib, bzip2, sqlite, pkg-config, glib, gnutls }: +{ lib, stdenv, fetchurl, fetchpatch, ncurses, zlib, bzip2, sqlite, pkg-config, glib, gnutls }: stdenv.mkDerivation rec { pname = "ncdc"; @@ -9,6 +9,15 @@ stdenv.mkDerivation rec { sha256 = "1bdgqd07f026qk6vpbxqsin536znd33931m3b4z44prlm9wd6pyi"; }; + patches = [ + # Upstream fix for ncurses-6.3 support: + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://g.blicky.net/ncdc.git/patch/?id=4126dd51e90deb9e22dfd139cc4518a7812fcad6"; + sha256 = "13hqkmhmbazj6cllb5b2ccgf51vsn5lri7jqkqc5xwivgcisfrij"; + }) + ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ ncurses zlib bzip2 sqlite glib gnutls ]; diff --git a/pkgs/applications/networking/synology-drive/default.nix b/pkgs/applications/networking/synology-drive/default.nix new file mode 100644 index 000000000000..20b0f1168cb3 --- /dev/null +++ b/pkgs/applications/networking/synology-drive/default.nix @@ -0,0 +1,45 @@ +{ lib, mkDerivation, fetchurl, autoPatchelfHook, dpkg, glibc, gnome }: + +mkDerivation rec { + pname = "synology-drive"; + subVersion = "12674"; + version = "3.0.1-${subVersion}"; + + src = fetchurl { + url = "https://global.download.synology.com/download/Utility/SynologyDriveClient/${version}/Ubuntu/Installer/x86_64/synology-drive-client-${subVersion}.x86_64.deb"; + sha256 = "1yyv6zgszsym22kf4jvlan7n9lw09fw24fyrh7c8pzbb2029gp8a"; + }; + + nativeBuildInputs = [ autoPatchelfHook dpkg ]; + + buildInputs = [ glibc gnome.nautilus ]; + + unpackPhase = '' + mkdir -p $out + dpkg -x $src $out + ''; + + installPhase = '' + # synology-drive executable + cp -av $out/usr/* $out + rm -rf $out/usr + + runHook postInstall + ''; + + postInstall = '' + substituteInPlace $out/bin/synology-drive --replace /opt $out/opt + ''; + + meta = with lib; { + homepage = "https://www.synology.com/"; + description = "Synchronize files between client and Synology NAS."; + longDescription = '' + Drive for PC, the desktop utility of the DSM add-on package. + Drive, allows you to sync and share files owned by you or shared by others between a centralized Synology NAS and multiple client computers. + ''; + license = licenses.unfree; + maintainers = with maintainers; [ MoritzBoehme ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix index 5bb13e116174..905034091a29 100644 --- a/pkgs/applications/video/ccextractor/default.nix +++ b/pkgs/applications/video/ccextractor/default.nix @@ -23,7 +23,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-usVAKBkdd8uz9cD5eLd0hnwGonOJLscRdc+iWDlNXVc="; }; - sourceRoot = "source/src"; + postPatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace src/CMakeLists.txt \ + --replace 'add_definitions(-DGPAC_CONFIG_LINUX)' 'add_definitions(-DGPAC_CONFIG_DARWIN)' + ''; + + cmakeDir = "../src"; nativeBuildInputs = [ pkg-config cmake makeWrapper ]; diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index 4abc2b6546aa..c82cfb47cc32 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -1,17 +1,16 @@ { lib , python3Packages -, rtmpdump , ffmpeg , fetchpatch }: python3Packages.buildPythonApplication rec { pname = "streamlink"; - version = "2.4.0"; + version = "3.0.1"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "e95588e222d1a7bd51e3171cd4bce84fd6f646418537aff37993d40f597810af"; + sha256 = "sha256-GDbUlu5tRL5mdT7KrIdmxCbeAtYL1xvZXyZFwiuvKXo="; }; checkInputs = with python3Packages; [ @@ -22,26 +21,20 @@ python3Packages.buildPythonApplication rec { ]; propagatedBuildInputs = (with python3Packages; [ - pycryptodome - requests - iso-639 - iso3166 - websocket-client isodate lxml + pycountry + pycryptodome + pysocks + requests + websocket-client ]) ++ [ - rtmpdump ffmpeg ]; - patches = [ - # Patch failing tests to expect correct Accept-Encoding as generated by Requests - (fetchpatch { - url = "https://github.com/streamlink/streamlink/commit/ae747a113199c119bced4613d33edcc67a222bb9.patch"; - includes = [ "tests/test_stream_json.py" ]; - sha256 = "sha256-KEgyWdh5DNgNktmLSvKQowUQO9p9Q7zP4NbCQJPNgKw="; - }) - ]; + postPatch = '' + substituteInPlace setup.cfg --replace 'lxml >=4.6.4,<5.0' 'lxml' + ''; meta = with lib; { homepage = "https://streamlink.github.io/"; diff --git a/pkgs/applications/window-managers/ion-3/default.nix b/pkgs/applications/window-managers/ion-3/default.nix index 4794de1d5f84..45d56194bede 100644 --- a/pkgs/applications/window-managers/ion-3/default.nix +++ b/pkgs/applications/window-managers/ion-3/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "3-20090110"; src = fetchurl { - url = "http://tuomov.iki.fi/software/dl/ion-${version}.tar.gz"; + url = "https://tuomov.iki.fi/software/ion/dl/ion-${version}.tar.gz"; sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns"; }; @@ -13,6 +13,11 @@ stdenv.mkDerivation rec { buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" "PREFIX=\${out}" ]; + # Build system is missing depends for autogenerated export headers: + # luac -o mod_tiling.lc mod_tiling.lua + # main.c:21:10: fatal error: exports.h: No such file or directory + enableParallelBuilding = false; + installFlags = [ "PREFIX=\${out}" ]; meta = with lib; { diff --git a/pkgs/development/interpreters/erlang/R24.nix b/pkgs/development/interpreters/erlang/R24.nix index 589a836967c0..199189740c53 100644 --- a/pkgs/development/interpreters/erlang/R24.nix +++ b/pkgs/development/interpreters/erlang/R24.nix @@ -3,6 +3,6 @@ # How to obtain `sha256`: # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz mkDerivation { - version = "24.1.4"; - sha256 = "sha256-QE2VRayIswVrAOv9/bq+ebv3xxIL3fFMnfm5u1Wh8j4="; + version = "24.1.5"; + sha256 = "sha256-MSPoJpbL9WeERqCSh9fiw9jhJGssqolxudyURpiypb0="; } diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix index 39e27c909b50..e5ce7537f250 100644 --- a/pkgs/development/libraries/agg/default.nix +++ b/pkgs/development/libraries/agg/default.nix @@ -8,8 +8,18 @@ stdenv.mkDerivation rec { url = "https://www.antigrain.com/${pname}-${version}.tar.gz"; sha256 = "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb"; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ autoconf automake libtool freetype SDL libX11 ]; + nativeBuildInputs = [ + pkg-config + autoconf + automake + libtool + ]; + buildInputs = [ + freetype + SDL + ] ++ lib.optionals stdenv.isLinux [ + libX11 + ]; postPatch = '' substituteInPlace include/agg_renderer_outline_aa.h \ @@ -22,7 +32,11 @@ stdenv.mkDerivation rec { sh autogen.sh ''; - configureFlags = [ "--x-includes=${libX11.dev}/include" "--x-libraries=${libX11.out}/lib" "--enable-examples=no" ]; + configureFlags = lib.optionals stdenv.isLinux [ + "--x-includes=${lib.getDev libX11}/include" + "--x-libraries=${lib.getLib libX11}/lib" + "--enable-examples=no" + ]; # libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o # libtool: error: cannot find the library 'libexamples.la' @@ -43,6 +57,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; homepage = "http://www.antigrain.com/"; - platforms = lib.platforms.linux; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/faudio/default.nix b/pkgs/development/libraries/faudio/default.nix index 4082ccfb1d0e..baf2b1024379 100644 --- a/pkgs/development/libraries/faudio/default.nix +++ b/pkgs/development/libraries/faudio/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "faudio"; - version = "21.09"; + version = "21.10"; src = fetchFromGitHub { owner = "FNA-XNA"; repo = "FAudio"; rev = version; - sha256 = "sha256-/hc++LEqH7vg2IK/x6sVP5864QF+3xd++HK/tIp0IRA="; + sha256 = "sha256-gh/QYH25j9A+XalW6ajRjs+yOYEfkZmw11CHjR6LK1E="; }; nativeBuildInputs = [cmake]; diff --git a/pkgs/development/libraries/iqueue/default.nix b/pkgs/development/libraries/iqueue/default.nix new file mode 100644 index 000000000000..04fd7202d1d1 --- /dev/null +++ b/pkgs/development/libraries/iqueue/default.nix @@ -0,0 +1,22 @@ +{ lib, stdenv, fetchurl, pkg-config, libbsd, microsoft_gsl }: + +stdenv.mkDerivation rec { + pname = "iqueue"; + version = "0.1.0"; + src = fetchurl { + url = "https://github.com/twosigma/iqueue/releases/download/v${version}/iqueue-${version}.tar.gz"; + sha256 = "0049fnr02k15gr21adav33swrwxrpbananilnrp63vp5zs5v9m4x"; + }; + + doCheck = true; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libbsd microsoft_gsl ]; + + meta = with lib; { + homepage = "https://github.com/twosigma/iqueue"; + description = "Indexed queue"; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = [ maintainers.catern ]; + }; +} diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix index 134532308c88..7ab64cf59c57 100644 --- a/pkgs/development/libraries/proj/default.nix +++ b/pkgs/development/libraries/proj/default.nix @@ -42,6 +42,11 @@ stdenv.mkDerivation rec { "-DRUN_NETWORK_DEPENDENT_TESTS=OFF" ]; + preCheck = '' + export HOME=$TMPDIR + export TMP=$TMPDIR + ''; + doCheck = true; meta = with lib; { diff --git a/pkgs/development/python-modules/chiapos/default.nix b/pkgs/development/python-modules/chiapos/default.nix index 587c2fbf3c70..42bf21dd5216 100644 --- a/pkgs/development/python-modules/chiapos/default.nix +++ b/pkgs/development/python-modules/chiapos/default.nix @@ -6,6 +6,7 @@ , cxxopts , ghc_filesystem , pybind11 +, pytestCheckHook , pythonOlder , psutil , setuptools-scm @@ -13,12 +14,12 @@ buildPythonPackage rec { pname = "chiapos"; - version = "1.0.4"; + version = "1.0.6"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-flI1vwtD0H28UDMcEEELECewkXZ6vf/XEYMqRKy5R6w="; + sha256 = "sha256-Zh5AULPgbG0oYPcBZMp/vm94MPyfdtYn4P5V+1LeMqA="; }; patches = [ @@ -34,7 +35,11 @@ buildPythonPackage rec { buildInputs = [ pybind11 ]; - checkInputs = [ psutil ]; + checkInputs = [ + psutil + pytestCheckHook + ]; + # CMake needs to be run by setuptools rather than by its hook dontConfigure = true; diff --git a/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch b/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch index 251021169691..85b7560f5d0d 100644 --- a/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch +++ b/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9b4a2f5..86f849c 100644 +index b757b70..fcce055 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -18,22 +18,19 @@ include(FetchContent) - else() +@@ -21,23 +21,20 @@ include(${CMAKE_INSTALL_PREFIX}/share/cmake/pybind11/pybind11Config.cmake) + else() FetchContent_Declare( pybind11-src - GIT_REPOSITORY https://github.com/pybind/pybind11.git -- GIT_TAG v2.6.2 +- GIT_TAG v2.7.1 + SOURCE_DIR @pybind11_src@ ) FetchContent_MakeAvailable(pybind11-src) @@ -29,4 +29,3 @@ index 9b4a2f5..86f849c 100644 ) FetchContent_MakeAvailable(gulrak) - diff --git a/pkgs/development/python-modules/clvm-rs/bump-cargo-lock.patch b/pkgs/development/python-modules/clvm-rs/bump-cargo-lock.patch new file mode 100644 index 000000000000..9939e6fb43a0 --- /dev/null +++ b/pkgs/development/python-modules/clvm-rs/bump-cargo-lock.patch @@ -0,0 +1,11 @@ +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -80,7 +80,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + + [[package]] + name = "clvm_rs" +-version = "0.1.14" ++version = "0.1.15" + dependencies = [ + "bls12_381", + "hex", diff --git a/pkgs/development/python-modules/clvm-rs/default.nix b/pkgs/development/python-modules/clvm-rs/default.nix index 7cde70fd97f2..ec078970bc1a 100644 --- a/pkgs/development/python-modules/clvm-rs/default.nix +++ b/pkgs/development/python-modules/clvm-rs/default.nix @@ -9,20 +9,25 @@ buildPythonPackage rec { pname = "clvm_rs"; - version = "0.1.14"; + version = "0.1.15"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "Chia-Network"; repo = "clvm_rs"; rev = version; - sha256 = "sha256-sQ+jzBiIZYVQj2rb170wLFEx2NzOj7kEL0k0gx/JOAc="; + sha256 = "sha256-4QFreQlRjKqGhPvuXU/pZpxMfF8LkIf6X7C3K2q77MI="; }; + patches = [ + # upstream forgot to refresh the lock file + ./bump-cargo-lock.patch + ]; + cargoDeps = rustPlatform.fetchCargoTarball { - inherit src; + inherit src patches; name = "${pname}-${version}"; - sha256 = "sha256-ZSu3bu0MfxZEFqBwdHH/RM4WTF/yx9ju1IqSVfu+Upo="; + sha256 = "sha256-jPNU+P6JgxTPL1GYUBE4VPU3p6cgL8u/+AIELr7r5Mk="; }; format = "pyproject"; diff --git a/pkgs/development/python-modules/dnspythonchia/default.nix b/pkgs/development/python-modules/dnspythonchia/default.nix new file mode 100644 index 000000000000..52243eac7d81 --- /dev/null +++ b/pkgs/development/python-modules/dnspythonchia/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "dnspythonchia"; + version = "2.2.0"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-iYaPYqOZ33R2DUXgIHxsewLi79iB5ja0WHOGkamffZk="; + }; + + nativeBuildInputs = [ setuptools-scm ]; + + # needs networking for some tests + doCheck = false; + pythonImportsCheck = [ "dns" ]; + + meta = with lib; { + description = "A DNS toolkit for Python (Chia Network fork)"; + homepage = "https://www.chia.net/"; + license = with licenses; [ isc ]; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/flask-wtf/default.nix b/pkgs/development/python-modules/flask-wtf/default.nix index 36437ffafa91..2c7dd221e921 100644 --- a/pkgs/development/python-modules/flask-wtf/default.nix +++ b/pkgs/development/python-modules/flask-wtf/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "Flask-WTF"; - version = "0.15.1"; + version = "1.0.0"; src = fetchPypi { inherit pname version; - sha256 = "ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc"; + sha256 = "872fbb17b5888bfc734edbdcf45bc08fb365ca39f69d25dc752465a455517b28"; }; propagatedBuildInputs = [ flask wtforms nose ]; diff --git a/pkgs/development/python-modules/git-filter-repo/default.nix b/pkgs/development/python-modules/git-filter-repo/default.nix index ac0ee8038582..e6a434c38bd3 100644 --- a/pkgs/development/python-modules/git-filter-repo/default.nix +++ b/pkgs/development/python-modules/git-filter-repo/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "git-filter-repo"; - version = "2.33.0"; + version = "2.34.0"; format = "setuptools"; disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; - sha256 = "1nxfd5yv8ri7w5pzxclxs0yd317nsdcwvw87ancmdkh69xvx1f2f"; + sha256 = "sha256-taCfODhl3goWSwa6F0Rh5V2RZ8xvuwbPKh5i2/DNumM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix index 926f84798ad0..0e7ec10981f4 100644 --- a/pkgs/development/python-modules/identify/default.nix +++ b/pkgs/development/python-modules/identify/default.nix @@ -3,18 +3,21 @@ , fetchFromGitHub , pytestCheckHook , editdistance-s +, pythonOlder }: buildPythonPackage rec { pname = "identify"; - version = "2.3.5"; + version = "2.3.6"; + format = "setuptools"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "pre-commit"; repo = pname; rev = "v${version}"; - sha256 = "sha256-XEwZ6OUEocE4dSDLCLagKqmJruvb9beC0u93SScrOho="; + sha256 = "sha256-1+ILyqb0Ve+YmP9K+tin4iYIWUoRpi/+fbuyUFZOzBE="; }; checkInputs = [ @@ -22,7 +25,9 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "identify" ]; + pythonImportsCheck = [ + "identify" + ]; meta = with lib; { description = "File identification library for Python"; diff --git a/pkgs/development/python-modules/ihatemoney/default.nix b/pkgs/development/python-modules/ihatemoney/default.nix index 5d768170d806..2c535ea79b57 100644 --- a/pkgs/development/python-modules/ihatemoney/default.nix +++ b/pkgs/development/python-modules/ihatemoney/default.nix @@ -132,6 +132,13 @@ buildPythonPackage rec { debts ]; + # upstream performed the update without needing to patch the code + # the original patch does not apply, sadly + # https://github.com/spiral-project/ihatemoney/pull/912 + postPatch = '' + substituteInPlace setup.cfg --replace "Flask-WTF>=0.14.3,<1" "Flask-WTF>=0.14.3,<2" + ''; + checkInputs = [ flask_testing pytestCheckHook diff --git a/pkgs/development/python-modules/ledgerwallet/default.nix b/pkgs/development/python-modules/ledgerwallet/default.nix index 7650e375b41f..421a24e9ee12 100644 --- a/pkgs/development/python-modules/ledgerwallet/default.nix +++ b/pkgs/development/python-modules/ledgerwallet/default.nix @@ -25,6 +25,13 @@ buildPythonPackage rec { sha256 = "0fb93h2wxm9as9rsywlgz2ng4wrlbjphn6mgbhj6nls2i86rrdxk"; }; + patches = [ + # Fix removed function in construct library + # https://github.com/LedgerHQ/ledgerctl/issues/17 + # https://github.com/construct/construct/commit/8915512f53552b1493afdbce5bbf8bb6f2aa4411 + ./remove-iterateints.patch + ]; + buildInputs = lib.optionals stdenv.isDarwin [ AppKit ]; propagatedBuildInputs = [ cryptography click construct ecdsa hidapi intelhex pillow protobuf requests tabulate diff --git a/pkgs/development/python-modules/ledgerwallet/remove-iterateints.patch b/pkgs/development/python-modules/ledgerwallet/remove-iterateints.patch new file mode 100644 index 000000000000..c97785f1d04b --- /dev/null +++ b/pkgs/development/python-modules/ledgerwallet/remove-iterateints.patch @@ -0,0 +1,19 @@ +--- a/ledgerwallet/params.py 2021-11-17 20:31:10.488954050 -0300 ++++ b/ledgerwallet/params.py 2021-11-17 20:31:30.619477930 -0300 +@@ -19,7 +19,6 @@ + ) + from construct.core import ( + byte2int, +- iterateints, + singleton, + stream_read, + stream_write, +@@ -40,7 +39,7 @@ + num_bytes = byte & 0x80 + encoded_len = stream_read(stream, num_bytes) + num = 0 +- for len_byte in iterateints(encoded_len): ++ for len_byte in encoded_len: + num = num << 8 + len_byte + return num + diff --git a/pkgs/development/python-modules/librouteros/default.nix b/pkgs/development/python-modules/librouteros/default.nix index 32c9889681ca..6e9d3ebd5296 100644 --- a/pkgs/development/python-modules/librouteros/default.nix +++ b/pkgs/development/python-modules/librouteros/default.nix @@ -8,14 +8,16 @@ buildPythonPackage rec { pname = "librouteros"; - version = "3.1.0"; + version = "3.2.0"; + format = "setuptools"; + disabled = !isPy3k; src = fetchFromGitHub { owner = "luqasz"; repo = pname; rev = version; - sha256 = "1skjwnqa3vcpq9gzgpw93wdmisq15fp0q07kzyq3fgx4yg7b6sql"; + sha256 = "sha256-Zo9HCjYe9cCkqXhikAjDQKQXGkrMni3f+9KoqhZskNk="; }; checkInputs = [ @@ -33,7 +35,9 @@ buildPythonPackage rec { "test_generator_ditch" ]; - pythonImportsCheck = [ "librouteros" ]; + pythonImportsCheck = [ + "librouteros" + ]; meta = with lib; { description = "Python implementation of the MikroTik RouterOS API"; diff --git a/pkgs/development/python-modules/motioneye-client/default.nix b/pkgs/development/python-modules/motioneye-client/default.nix index 35632e780e7e..c5a3a2cd4954 100644 --- a/pkgs/development/python-modules/motioneye-client/default.nix +++ b/pkgs/development/python-modules/motioneye-client/default.nix @@ -11,15 +11,16 @@ buildPythonPackage rec { pname = "motioneye-client"; - version = "0.3.11"; + version = "0.3.12"; format = "pyproject"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "dermotduffy"; repo = pname; rev = "v${version}"; - sha256 = "0f34ig8njyn7dzy8272m0b1nlnnhir58ar3vx4zps10i0dc32hb2"; + sha256 = "sha256-vEB9ztz0RTGoolFUVQcMV7DUthCEAx1kpwkAS2186OU="; }; nativeBuildInputs = [ @@ -41,7 +42,9 @@ buildPythonPackage rec { --replace " --cov-report=html:htmlcov --cov-report=xml:coverage.xml --cov-report=term-missing --cov=motioneye_client --cov-fail-under=100" "" ''; - pythonImportsCheck = [ "motioneye_client" ]; + pythonImportsCheck = [ + "motioneye_client" + ]; meta = with lib; { description = "Python library for motionEye"; diff --git a/pkgs/development/python-modules/oocsi/default.nix b/pkgs/development/python-modules/oocsi/default.nix new file mode 100644 index 000000000000..2f0ae510d018 --- /dev/null +++ b/pkgs/development/python-modules/oocsi/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "oocsi"; + version = "0.4.2"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + inherit pname version; + sha256 = "020xfjvcgicj81zl3z9wnb2f9bha75bjw512b0cc38w66bniinjq"; + }; + + # Tests are not shipped + doCheck = false; + + pythonImportsCheck = [ + "oocsi" + ]; + + meta = with lib; { + description = "OOCSI library for Python"; + homepage = "https://github.com/iddi/oocsi-python"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pydyf/default.nix b/pkgs/development/python-modules/pydyf/default.nix new file mode 100644 index 000000000000..d83034d25330 --- /dev/null +++ b/pkgs/development/python-modules/pydyf/default.nix @@ -0,0 +1,48 @@ +{ lib, + buildPythonPackage, + fetchPypi, + isPy3k, + pytestCheckHook, + coverage, + ghostscript, + pillow, + pytest, + pytest-cov, + pytest-flake8, + pytest-isort +}: + +buildPythonPackage rec { + pname = "pydyf"; + version = "0.1.2"; + disabled = !isPy3k; + + pytestFlagsArray = [ + # setup.py is auto-generated and doesn't pass the flake8 check + "--ignore=setup.py" + ]; + + checkInputs = [ + pytestCheckHook + coverage + ghostscript + pillow + pytest + pytest-cov + pytest-flake8 + pytest-isort + ]; + + src = fetchPypi { + inherit version; + pname = "pydyf"; + sha256 = "sha256-Hi9d5IF09QXeAlp9HnzwG73ZQiyoq5RReCvwDuF4YCw="; + }; + + meta = with lib; { + homepage = "https://doc.courtbouillon.org/pydyf/stable/"; + description = "Low-level PDF generator written in Python and based on PDF specification 1.7"; + license = licenses.bsd3; + maintainers = with maintainers; [ rprecenth ]; + }; +} diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix index 50afee3058cc..be6d71aed5d3 100644 --- a/pkgs/development/python-modules/pylitterbot/default.nix +++ b/pkgs/development/python-modules/pylitterbot/default.nix @@ -11,14 +11,16 @@ buildPythonPackage rec { pname = "pylitterbot"; - version = "2021.10.1"; + version = "2021.11.0"; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "natekspencer"; repo = pname; rev = version; - sha256 = "sha256-xE+H23AZR1OXfuLMvSuI7IeYKX7k2iEATHq5VheMLn4="; + sha256 = "sha256-HdIxi6RfdXBYEYFEcv/f9wAqKZg/MsEZd6mDYwE45to="; }; propagatedBuildInputs = [ @@ -32,7 +34,9 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "pylitterbot" ]; + pythonImportsCheck = [ + "pylitterbot" + ]; meta = with lib; { description = "Python package for controlling a Litter-Robot"; diff --git a/pkgs/development/python-modules/pywizlight/default.nix b/pkgs/development/python-modules/pywizlight/default.nix index 755e1555a431..9098bf80dc5e 100644 --- a/pkgs/development/python-modules/pywizlight/default.nix +++ b/pkgs/development/python-modules/pywizlight/default.nix @@ -5,16 +5,20 @@ , fetchFromGitHub , pytest-asyncio , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "pywizlight"; - version = "0.4.10"; + version = "0.4.13"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "sbidy"; repo = pname; - rev = "v${version}"; + rev = version; sha256 = "sha256-XO9KmsC3DXgVcGWr5ss3m2wB8rVboWyQUWBidynhkP8="; }; @@ -28,14 +32,16 @@ buildPythonPackage rec { pytestCheckHook ]; - # Tests requires network features (e. g., discovery testing) disabledTests = [ + # Tests requires network features (e. g., discovery testing) "test_Bulb_Discovery" "test_timeout" "test_timeout_PilotBuilder" ]; - pythonImportsCheck = [ "pywizlight" ]; + pythonImportsCheck = [ + "pywizlight" + ]; meta = with lib; { description = "Python connector for WiZ light bulbs"; diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix index 506f775abd31..db9721641cfd 100644 --- a/pkgs/development/python-modules/velbus-aio/default.nix +++ b/pkgs/development/python-modules/velbus-aio/default.nix @@ -3,13 +3,15 @@ , buildPythonPackage , fetchFromGitHub , pythonOlder +, pyserial , pyserial-asyncio , pytestCheckHook }: buildPythonPackage rec { pname = "velbus-aio"; - version = "2021.11.6"; + version = "2021.11.7"; + format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,11 +19,12 @@ buildPythonPackage rec { owner = "Cereal2nd"; repo = pname; rev = version; - sha256 = "sha256-Vm/CgrSSCU76CzAxCtpMsE8/GtPE9SlfqDyzYp4Gc8E="; + sha256 = "sha256-itaYSfZm+/vF/tKRO2BW4qXrDXP0YfBrKiq9bMGFj0M="; }; propagatedBuildInputs = [ backoff + pyserial pyserial-asyncio ]; diff --git a/pkgs/development/python-modules/weasyprint/default.nix b/pkgs/development/python-modules/weasyprint/default.nix index ecc13b1d6377..a3c8181cf7de 100644 --- a/pkgs/development/python-modules/weasyprint/default.nix +++ b/pkgs/development/python-modules/weasyprint/default.nix @@ -1,17 +1,24 @@ { buildPythonPackage, fetchPypi, fetchpatch, + pytestCheckHook, + brotli, cairosvg, + fonttools, + pydyf, pyphen, cffi, cssselect, lxml, html5lib, tinycss, + zopfli, glib, + harfbuzz, pango, fontconfig, lib, stdenv, + ghostscript, pytest, pytest-runner, pytest-isort, @@ -23,35 +30,48 @@ buildPythonPackage rec { pname = "weasyprint"; - version = "52"; + version = "53.4"; disabled = !isPy3k; - # excluded test needs the Ahem font - checkPhase = '' - runHook preCheck - pytest -k 'not test_font_stretch' - runHook postCheck - ''; + pytestFlagsArray = [ + # setup.py is auto-generated and doesn't pass the flake8 check + "--ignore=setup.py" + # ffi.py is patched by us and doesn't pass the flake8 check + "--ignore=weasyprint/text/ffi.py" + ]; - # ignore failing flake8-test - prePatch = '' - substituteInPlace setup.cfg \ - --replace '[tool:pytest]' '[tool:pytest]\nflake8-ignore = E501' - ''; + disabledTests = [ + # test_font_stretch needs the Ahem font (fails on macOS) + "test_font_stretch" + ]; - checkInputs = [ pytest pytest-runner pytest-isort pytest-flake8 pytest-cov ]; + checkInputs = [ + pytestCheckHook + ghostscript + pytest + pytest-runner + pytest-isort + pytest-flake8 + pytest-cov + ]; FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; - propagatedBuildInputs = [ cairosvg pyphen cffi cssselect lxml html5lib tinycss ]; + propagatedBuildInputs = [ + brotli + cairosvg + cffi + cssselect + fonttools + html5lib + lxml + pydyf + pyphen + tinycss + zopfli + ]; - # 47043a1fd7e50a892b9836466f521df85d597c4.patch can be removed after next release of weasyprint, see: - # https://github.com/Kozea/WeasyPrint/issues/1333#issuecomment-818062970 patches = [ - (fetchpatch { - url = "https://github.com/Kozea/WeasyPrint/commit/47043a1fd7e50a892b9836466f521df85d597c44.patch"; - sha256 = "0l9z0hrav3bcdajlg3vbzljq0lkw7hlj8ppzrq3v21hbj1il1nsb"; - }) (substituteAll { src = ./library-paths.patch; fontconfig = "${fontconfig.lib}/lib/libfontconfig${stdenv.hostPlatform.extensions.sharedLibrary}"; @@ -59,13 +79,14 @@ buildPythonPackage rec { gobject = "${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}"; pango = "${pango.out}/lib/libpango-1.0${stdenv.hostPlatform.extensions.sharedLibrary}"; pangocairo = "${pango.out}/lib/libpangocairo-1.0${stdenv.hostPlatform.extensions.sharedLibrary}"; + harfbuzz = "${harfbuzz.out}/lib/libharfbuzz${stdenv.hostPlatform.extensions.sharedLibrary}"; }) ]; src = fetchPypi { inherit version; - pname = "WeasyPrint"; - sha256 = "0rwf43111ws74m8b1alkkxzz57g0np3vmd8as74adwnxslfcg4gs"; + pname = "weasyprint"; + sha256 = "sha256-EMyxfVXHMJa98e3T7+WMuFWwfkwwfZutTryaPxP/RYA="; }; meta = with lib; { diff --git a/pkgs/development/python-modules/weasyprint/library-paths.patch b/pkgs/development/python-modules/weasyprint/library-paths.patch index c6eb87c94585..9a10990fd43f 100644 --- a/pkgs/development/python-modules/weasyprint/library-paths.patch +++ b/pkgs/development/python-modules/weasyprint/library-paths.patch @@ -1,38 +1,31 @@ -diff --git a/weasyprint/fonts.py b/weasyprint/fonts.py -index 79e3b5b..4438eb4 100644 ---- a/weasyprint/fonts.py -+++ b/weasyprint/fonts.py -@@ -45,11 +45,8 @@ else: - # with OSError: dlopen() failed to load a library: cairo / cairo-2 - # So let's hope we find the same file as cairo already did ;) - # Same applies to pangocairo requiring pangoft2 -- fontconfig = dlopen(ffi, 'fontconfig', 'libfontconfig', -- 'libfontconfig-1.dll', -- 'libfontconfig.so.1', 'libfontconfig-1.dylib') -- pangoft2 = dlopen(ffi, 'pangoft2-1.0', 'libpangoft2-1.0-0', -- 'libpangoft2-1.0.so.0', 'libpangoft2-1.0.dylib') -+ fontconfig = dlopen(ffi, '@fontconfig@') -+ pangoft2 = dlopen(ffi, '@pangoft2@') - - ffi.cdef(''' - // FontConfig -diff --git a/weasyprint/text.py b/weasyprint/text.py -index 1dc5e4d..b070bad 100644 ---- a/weasyprint/text.py -+++ b/weasyprint/text.py -@@ -255,12 +255,9 @@ def dlopen(ffi, *names): +diff --git a/weasyprint/text/ffi.py b/weasyprint/text/ffi.py +index 0734cbea..22e31a5e 100644 +--- a/weasyprint/text/ffi.py ++++ b/weasyprint/text/ffi.py +@@ -387,21 +387,11 @@ def _dlopen(ffi, *names): return ffi.dlopen(names[0]) # pragma: no cover --gobject = dlopen(ffi, 'gobject-2.0', 'libgobject-2.0-0', 'libgobject-2.0.so.0', -- 'libgobject-2.0.dylib') --pango = dlopen(ffi, 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so.0', -- 'libpango-1.0.dylib') --pangocairo = dlopen(ffi, 'pangocairo-1.0', 'libpangocairo-1.0-0', -- 'libpangocairo-1.0.so.0', 'libpangocairo-1.0.dylib') -+gobject = dlopen(ffi, '@gobject@') -+pango = dlopen(ffi, '@pango@') -+pangocairo = dlopen(ffi, '@pangocairo@') +-gobject = _dlopen( +- ffi, 'gobject-2.0-0', 'gobject-2.0', 'libgobject-2.0-0', +- 'libgobject-2.0.so.0', 'libgobject-2.0.dylib') +-pango = _dlopen( +- ffi, 'pango-1.0-0', 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so.0', +- 'libpango-1.0.dylib') +-harfbuzz = _dlopen( +- ffi, 'harfbuzz', 'harfbuzz-0.0', 'libharfbuzz-0', +- 'libharfbuzz.so.0', 'libharfbuzz.so.0', 'libharfbuzz.0.dylib') +-fontconfig = _dlopen( +- ffi, 'fontconfig-1', 'fontconfig', 'libfontconfig', 'libfontconfig-1.dll', +- 'libfontconfig.so.1', 'libfontconfig-1.dylib') +-pangoft2 = _dlopen( +- ffi, 'pangoft2-1.0-0', 'pangoft2-1.0', 'libpangoft2-1.0-0', +- 'libpangoft2-1.0.so.0', 'libpangoft2-1.0.dylib') ++gobject = _dlopen(ffi, '@gobject@') ++pango = _dlopen(ffi, '@pango@') ++harfbuzz = _dlopen(ffi, '@harfbuzz@') ++fontconfig = _dlopen(ffi, '@fontconfig@') ++pangoft2 = _dlopen(ffi, '@pangoft2@') gobject.g_type_init() - + diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 3fd81c749a42..3b70bd0ce6e9 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -56,13 +56,13 @@ with py.pkgs; buildPythonApplication rec { pname = "checkov"; - version = "2.0.580"; + version = "2.0.582"; src = fetchFromGitHub { owner = "bridgecrewio"; repo = pname; rev = version; - sha256 = "sha256-GnEXGXJCI9VIOKJbGjTppum6j/uwX4m4ytaZqvpfl7Q="; + sha256 = "sha256-25RT70HyOyfdg2jWLKMnEVgvNdlZuJ0e6eajlU486IQ="; }; nativeBuildInputs = with py.pkgs; [ diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix index b44ef14c6cab..1cd5d9caf282 100644 --- a/pkgs/development/tools/earthly/default.nix +++ b/pkgs/development/tools/earthly/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "earthly"; - version = "0.5.22"; + version = "0.5.24"; src = fetchFromGitHub { owner = "earthly"; repo = "earthly"; rev = "v${version}"; - sha256 = "sha256-mwyL0o+f7hPvVhWBE7k5a56kzDpeM4rw8h5oLkgsqgc="; + sha256 = "sha256-d4TCuFj7nbQDxTLCStrGj698iUYTH0mCqoCZeeOGNIE="; }; - vendorSha256 = "sha256-pITTp9BqGfUFSF15pl5AM0npJuylJ+FcGw4xGaOi0/o="; + vendorSha256 = "sha256-3o+jizVVHcPZ6nNT2nCF8fLDynnFccI2Y50kbXp2qAI="; ldflags = [ "-s" "-w" @@ -24,6 +24,9 @@ buildGoModule rec { makeFlagsArray+=(BUILD_TAGS="${BUILDTAGS}") ''; + # For some reasons the tests fail, but the program itself seems to work. + doCheck = false; + postInstall = '' mv $out/bin/debugger $out/bin/earthly-debugger mv $out/bin/shellrepeater $out/bin/earthly-shellrepeater diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index ff61c109b671..d3a62bf331bc 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -22,7 +22,7 @@ let in rec { - electron = electron_15; + electron = electron_16; electron_3 = mkElectron "3.1.13" { x86_64-linux = "1psmbplz6jhnnf6hmfhxbmmhn4n1dpnhzbc12pxn645xhfpk9ark"; @@ -105,24 +105,24 @@ rec { headers = "1zkdgpjrh1dc9j8qyrrrh49v24960yhvwi2c530qbpf2azgqj71b"; }; - electron_12 = mkElectron "12.2.2" { - armv7l-linux = "aeee4acf40afa0397c10a4c76bc61ed2967433bab5c6f11de181fa33d0b168ff"; - aarch64-linux = "593a3fef97a7fed8e93b64d659af9c736dff445eedcbfd037f7d226a88d58862"; - x86_64-linux = "a8e88c67f375e41f3a6f8b8a8c3a1e41b8c0a46f1b731e05de21208caa005fb2"; - i686-linux = "5f0bdc9581237f2f87b5d34e232d711617bd8bf5ff5d7ebd66480779c13fba0a"; - x86_64-darwin = "8a33d2bed668e30a6d64856e01d2aa3b1f1d9efe4eb0e808e916694d32d5e8f2"; - aarch64-darwin = "256daa25a8375c565b32c3c2f0e12fbac8d5039a13a9edbb3673a863149b750a"; - headers = "1fvqkw08pync38ixi5cq4f8a108k2ajxpm1w2f8sn2hjph9kpbsd"; + electron_12 = mkElectron "12.2.3" { + armv7l-linux = "4de83c34987ac7b3b2d0c8c84f27f9a34d9ea2764ae1e54fb609a95064e7e71a"; + aarch64-linux = "d29d234c09ba810d89ed1fba9e405b6975916ea208d001348379f89b50d1835c"; + x86_64-linux = "deae6d0941762147716b8298476080d961df2a32d0f6f57b244cbe3a2553cd24"; + i686-linux = "11b4f159cd3b89d916cc05b5231c2cde53f0c6fb5be8e881824fde00daa5e8c2"; + x86_64-darwin = "5af34f1198ce9fd17e9fa581f57a8ad2c9333187fb617fe943f30b8cde9e6231"; + aarch64-darwin = "0db2c021a047a4cd5b28eea16490e16bc82592e3f8a4b96fbdc72a292ce13f50"; + headers = "1idam1xirxqxqg4g7n33kdx2skk0r351m00g59a8yx9z82g06ah9"; }; - electron_13 = mkElectron "13.6.1" { - armv7l-linux = "c8bba8da0baf5cde3eb4823c801c228abfa7943c69131b3701c74e2b342e1813"; - aarch64-linux = "09a1ff29c33a23f19cc702e0147dee03cfe2acedcff6bfb63c7911184b871a1a"; - x86_64-linux = "bfc09dd2d591ad614c8d598dad6e13b76c3baf4f48773e7819c493b524a0bb1a"; - i686-linux = "1ea7c7d19759fa0ee0ddef68c09bcc1c57265436d3f5dab37dad3567f117f317"; - x86_64-darwin = "ce45f17f875d72e791999eaf30a1af39b6e9143e57a653e7f06cfa0bee9b985d"; - aarch64-darwin = "e2f82720acae3a03d7d4b3e7dcc7697b84d5bb69a63d087a7420ace2412e7a28"; - headers = "1bd87c74863w0sjs8gfxl62kjjscc56dmmw85vhwz01s4niksr02"; + electron_13 = mkElectron "13.6.2" { + armv7l-linux = "aeb037e24cbcc532b09a604c3421dd1e330afbc3c34b3fb692fcdafbe2d63097"; + aarch64-linux = "c6014ac6842d81a612e907ce3655edde495f647784ba2bafebd2ada52c065702"; + x86_64-linux = "529fb7ceb2646324e527a0d9472bbb608e89756a310a8fe1cd929e3a218b45ec"; + i686-linux = "eeaec723f16adae8b6ba9375745cc143a038905cfa0a9e9ef59ea9026fe1a11b"; + x86_64-darwin = "86f7f7270ebd36e4957f56c1ef38eecd7d1725f032810c7fef3476955914d6ff"; + aarch64-darwin = "cc0a19b6ae73f953ce3a3f8d587da8220cd00a284aa705250e81be324b9271dd"; + headers = "0a5nnj3bd8ly9shx7palaiy0q7n70x8zp1myshcg5pz1qqjjmlw9"; }; electron_14 = mkElectron "14.2.1" { @@ -135,13 +135,23 @@ rec { headers = "14yaw3kml2kmi7sns8z32kv4cd8anyj5nd7rfxcg74hj2pbl9dvp"; }; - electron_15 = mkElectron "15.3.1" { - armv7l-linux = "b3e73ad174f692da36a4e1d2cd6b849080ee891027e37126868c88e6b89d82ac"; - aarch64-linux = "35ebfeeedcb71bd256c24550c75b9515fdda2db7a2ee1deb1097040480a26198"; - x86_64-linux = "941330103b9ab66a0195dd86e1503b5d2087f93a0b1e8453d8270d47cfe2bfc2"; - i686-linux = "1eeef6b189b4305845a0832b98efcba773c329e351181debe003562a7885afff"; - x86_64-darwin = "a91b089b5dc5b1279966511344b805ec84869b6cd60af44f800b363bba25b915"; - aarch64-darwin = "89fafef20426c0a3a2326172d222d29fc5d24d64c8910b7abddf61bd2c6a6700"; - headers = "0f665x7yp0xz1p1cl8c3vcw3k7g53c13rkbz8cz3phl6v3n1s1w0"; + electron_15 = mkElectron "15.3.2" { + armv7l-linux = "40d2f83a3cd29350edfff442ec1d9a5a681358ad9a7a086adf0ed8d0afa4145e"; + aarch64-linux = "c4c37b852a5576420d43c0a7d3b62be343fc0340134e9f0a7791c3c9285fe249"; + x86_64-linux = "10b85813d5280f97125437c65a002aa783f204247d501fb58786ac2a7144bb7d"; + i686-linux = "4a138dbf3d7e34915de73e0224c434666b0c9c5f335ed22e72014b20147378e6"; + x86_64-darwin = "0bd7e44d41bcdd048a2ac5dc4e1eb6807e80165ce5c06f1a220b20f10579be75"; + aarch64-darwin = "9eae07658b7d9a5eb318233a66c3933dba31661cf78b7b156d3d20ab7134f4c3"; + headers = "0r1qxgkpcn03fd28zbz86ilhsqg0gzp9clbghr5w6gy5ak8y68hz"; + }; + + electron_16 = mkElectron "16.0.0" { + armv7l-linux = "a3bec9664a17d3f8adc072f88d105601b5d25a42e339c73c26c3b59a0ab0f44a"; + aarch64-linux = "f4dc4ba8ce14f2e64943838c85654766522c46bb8e02914d3fdf1894b6e5b2fa"; + x86_64-linux = "a5c5c0547c989207ab63e0b06b46a04b545e4cc74e6fc8f94d7beda0c0bcb0b2"; + i686-linux = "e93e5eaaf33e4c30d2ba613b67858ada311a6e28b5fd42893499b50ef97b3695"; + x86_64-darwin = "f95847ea721cbf8632a72bec504137554aa262d111aaa5e2e30a74df66ff6c97"; + aarch64-darwin = "0c71b070cf6bcfa7dc4dad65ee14af926d5dda73e4a2f96e68cff844df8aba1d"; + headers = "1gr43w8pw9b7xl1bmpap8v1wp4ixmc2qkww02kbzfw53h6m4ccn3"; }; } diff --git a/pkgs/games/pacvim/default.nix b/pkgs/games/pacvim/default.nix index dc2c216b1bf1..a4347550c1d2 100644 --- a/pkgs/games/pacvim/default.nix +++ b/pkgs/games/pacvim/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, ncurses }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses }: stdenv.mkDerivation { pname = "pacvim"; @@ -9,6 +9,15 @@ stdenv.mkDerivation { rev = "ca7c8833c22c5fe97974ba5247ef1fcc00cedb8e"; sha256 = "1kq6j7xmsl5qfl1246lyglkb2rs9mnb2rhsdrp18965dpbj2mhx2"; }; + patches = [ + # Fix pending upstream inclusion for ncurses-6.3 support: + # https://github.com/jmoon018/PacVim/pull/53 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/jmoon018/PacVim/commit/760682824cdbb328af616ff43bf822ade23924f7.patch"; + sha256 = "1y3928dc2nkfldqhpiqk0blbx7qj8ar35f1w7fb92qwxrj8p4i6g"; + }) + ]; buildInputs = [ ncurses ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix index 715f33421210..c7b94e29589a 100644 --- a/pkgs/misc/emulators/retroarch/cores.nix +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -1,293 +1,257 @@ -{ lib, stdenv, fetchgit, fetchFromGitHub, fetchpatch, cmake, pkg-config, makeWrapper, python27, python3, retroarch -, alsa-lib, fluidsynth, curl, hidapi, libGLU, gettext, portaudio, SDL, SDL2, libGL -, ffmpeg, pcre, libevdev, libpng, libjpeg, libzip, udev, libvorbis, snappy, which, hexdump -, sfml, xorg, zlib, nasm, libpcap, boost, icu, openssl -, buildPackages }: +{ lib +, stdenv +, SDL +, alsa-lib +, boost +, buildPackages +, cmake +, curl +, fetchFromGitHub +, fetchpatch +, ffmpeg +, fluidsynth +, gettext +, hexdump +, hidapi +, icu +, libGL +, libGLU +, libevdev +, libjpeg +, libpcap +, libpng +, libvorbis +, libzip +, makeWrapper +, nasm +, openssl +, pcre +, pkg-config +, portaudio +, python27 +, python3 +, retroarch +, sfml +, snappy +, udev +, which +, xorg +, zlib +}: let + d2u = lib.replaceChars [ "-" ] [ "_" ]; - d2u = lib.replaceChars ["-"] ["_"]; + hashesFile = builtins.fromJSON (builtins.readFile ./hashes.json); - mkLibRetroCore = { core, src, description, license, broken ? false, version ? "2020-03-06", ... }@a: - lib.makeOverridable stdenv.mkDerivation ((rec { + getCoreSrc = core: + fetchFromGitHub (builtins.getAttr core hashesFile); - name = "libretro-${a.core}-${version}"; - inherit version; - inherit (a) src; + mkLibRetroCore = + { core + , description + , license + , src ? null + , broken ? false + , version ? "unstable-2021-11-16" + , ... + }@args: + lib.makeOverridable stdenv.mkDerivation ( + let + finalSrc = if src == null then getCoreSrc core else src; + in + (rec { + pname = "libretro-${core}"; + inherit version; + src = finalSrc; - buildInputs = [ zlib ] ++ a.extraBuildInputs or []; - nativeBuildInputs = [ makeWrapper ] ++ a.extraNativeBuildInputs or []; + buildInputs = [ zlib ] ++ args.extraBuildInputs or [ ]; + nativeBuildInputs = [ makeWrapper ] ++ args.extraNativeBuildInputs or [ ]; - makefile = "Makefile.libretro"; - makeFlags = [ - "platform=${{ - linux = "unix"; - darwin = "osx"; - windows = "win"; - }.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}" - "ARCH=${{ - armv7l = "arm"; - armv6l = "arm"; - i686 = "x86"; - }.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}" - ] ++ (a.makeFlags or []); + makefile = "Makefile.libretro"; + makeFlags = [ + "platform=${{ + linux = "unix"; + darwin = "osx"; + windows = "win"; + }.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}" + "ARCH=${{ + armv7l = "arm"; + armv6l = "arm"; + i686 = "x86"; + }.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name}" + ] ++ (args.makeFlags or [ ]); - installPhase = '' - COREDIR="$out/lib/retroarch/cores" - mkdir -p $out/bin - mkdir -p $COREDIR - mv ${d2u a.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} $@" - ''; + installPhase = '' + COREDIR="$out/lib/retroarch/cores" + mkdir -p $out/bin + 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} $@" + ''; - passthru = { - inherit (a) core; - libretroCore = "/lib/retroarch/cores"; - }; - - meta = with lib; { - inherit (a) description license; - broken = a.broken or false; - homepage = "https://www.libretro.com/"; - maintainers = with maintainers; [ edwtjo hrdinka MP2E ]; - platforms = platforms.unix; - }; - }) // builtins.removeAttrs a ["core" "src" "description" "license" "makeFlags"]); - - fetchRetro = { repo, rev, sha256 }: - fetchgit { - inherit rev sha256; - url = "https://github.com/libretro/${repo}.git"; - fetchSubmodules = true; - }; - -in with lib.licenses; + passthru = { + inherit core; + libretroCore = "/lib/retroarch/cores"; + }; + meta = with lib; { + inherit broken description license; + homepage = "https://www.libretro.com/"; + maintainers = with maintainers; [ edwtjo hrdinka MP2E thiagokokada ]; + platforms = platforms.unix; + }; + }) // builtins.removeAttrs args [ "core" "src" "description" "license" "makeFlags" ] + ); +in { - - atari800 = mkLibRetroCore rec { + atari800 = mkLibRetroCore { core = "atari800"; - src = fetchRetro { - repo = "libretro-" + core; - rev = "f9bf53b864344b8bbe8d425ed2f3c628eb10519c"; - sha256 = "0sgk93zs423pwiqzvj0x1gfwcn9gacnlrrdq53ps395k64lig6lk"; - }; description = "Port of Atari800 to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; makeFlags = [ "GIT_VERSION=" ]; }; beetle-snes = mkLibRetroCore { core = "mednafen-snes"; - src = fetchRetro { - repo = "beetle-bsnes-libretro"; - rev = "de22d8420ea606f1b2f72afd4dda34619cf2cc20"; - sha256 = "1nd4f8frmlhp1lyxz9zpxvwwz70x0i0rrp560cn9qlm1jzdv3xvf"; - }; + src = getCoreSrc "beetle-snes"; description = "Port of Mednafen's SNES core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; beetle-gba = mkLibRetroCore { core = "mednafen-gba"; - src = fetchRetro { - repo = "beetle-gba-libretro"; - rev = "135afdbb9591655a3e016b75abba07e481f6d406"; - sha256 = "0fc0x24qn4y7pz3mp1mm1ain31aj9pznp1irr0k7hvazyklzy9g3"; - }; + src = getCoreSrc "beetle-gba"; description = "Port of Mednafen's GameBoy Advance core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; beetle-lynx = mkLibRetroCore { core = "mednafen-lynx"; - src = fetchRetro { - repo = "beetle-lynx-libretro"; - rev = "74dde204c0ec6c4bc4cd7821c14548387fbd9ce8"; - sha256 = "05kwibjr30laalqzazswvmn9smm3mwqsz1i0z1s0pj7idfdhjfw0"; - }; + src = getCoreSrc "beetle-lynx"; description = "Port of Mednafen's Lynx core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; beetle-ngp = mkLibRetroCore { core = "mednafen-ngp"; - src = fetchRetro { - repo = "beetle-ngp-libretro"; - rev = "6f15532b6ad17a2d5eb9dc8241d6af62416e796b"; - sha256 = "05r8mk9rc19nzs3gpfsjr6i7pm6xx3gn3b4xs8ab7v4vcmfg4cn2"; - }; + src = getCoreSrc "beetle-ngp"; description = "Port of Mednafen's NeoGeo Pocket core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - beetle-pce-fast = let der = mkLibRetroCore { + beetle-pce-fast = mkLibRetroCore { core = "mednafen-pce-fast"; - src = fetchRetro { - repo = "beetle-pce-fast-libretro"; - rev = "40a42b7f43f029760c92bf0b2097e7d4b90ed29c"; - sha256 = "1gr6wg4bd4chm4c39w0c1b5zfzr05zd7234vvlmr1imk0v6m0wj6"; - }; + src = getCoreSrc "beetle-pce-fast"; description = "Port of Mednafen's PC Engine core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; - }; in der.override { - name = "beetle-pce-fast-${der.version}"; }; - beetle-pcfx = mkLibRetroCore rec { + beetle-pcfx = mkLibRetroCore { core = "mednafen-pcfx"; - src = fetchRetro { - repo = "beetle-pcfx-libretro"; - rev = "7bba6699d6f903bd701b0aa525d845de8427fee6"; - sha256 = "1lh7dh96fyi005fcg3xaf7r4ssgkq840p6anldlqy52vfwmglw3p"; - }; + src = getCoreSrc "beetle-pcfx"; description = "Port of Mednafen's PCFX core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - beetle-psx = let der = (mkLibRetroCore { + beetle-psx = mkLibRetroCore { core = "mednafen-psx"; - src = fetchRetro { - repo = "beetle-psx-libretro"; - rev = "0f1e7e60827cad49ebba628abdc83ad97652ab89"; - sha256 = "1j92jgddyl970v775d6gyb50l8md6yfym2fpqhfxcr4gj1b4ivwq"; - }; + src = getCoreSrc "beetle-psx"; description = "Port of Mednafen's PSX Engine core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; makeFlags = [ "HAVE_HW=0" "HAVE_LIGHTREC=1" ]; - }); in der.override { - name = "beetle-psx-${der.version}"; }; - beetle-psx-hw = let der = (mkLibRetroCore { + beetle-psx-hw = mkLibRetroCore { core = "mednafen-psx-hw"; - src = fetchRetro { - repo = "beetle-psx-libretro"; - rev = "0f1e7e60827cad49ebba628abdc83ad97652ab89"; - sha256 = "1j92jgddyl970v775d6gyb50l8md6yfym2fpqhfxcr4gj1b4ivwq"; - }; + src = getCoreSrc "beetle-psx"; description = "Port of Mednafen's PSX Engine (with HW accel) core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; extraBuildInputs = [ libGL libGLU ]; makefile = "Makefile"; makeFlags = [ "HAVE_VULKAN=1" "HAVE_OPENGL=1" "HAVE_HW=1" "HAVE_LIGHTREC=1" ]; - }); in der.override { - name = "beetle-psx-hw-${der.version}"; }; - beetle-saturn = let der = (mkLibRetroCore { + beetle-saturn = mkLibRetroCore { core = "mednafen-saturn"; - src = fetchRetro { - repo = "beetle-saturn-libretro"; - rev = "8a65943bb7bbc3183eeb0d57c4ac3e663f1bcc11"; - sha256 = "1f0cd9wmvarsmf4jw0p6h3lbzs6515aja7krrwapja7i4xmgbrnh"; - }; + src = getCoreSrc "beetle-saturn"; description = "Port of Mednafen's Saturn core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; makeFlags = [ "HAVE_HW=0" ]; meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; - }); in der.override { - name = "beetle-saturn-${der.version}"; }; - beetle-saturn-hw = let der = (mkLibRetroCore { + beetle-saturn-hw = mkLibRetroCore { core = "mednafen-saturn-hw"; - src = fetchRetro { - repo = "beetle-saturn-libretro"; - rev = "8a65943bb7bbc3183eeb0d57c4ac3e663f1bcc11"; - sha256 = "1f0cd9wmvarsmf4jw0p6h3lbzs6515aja7krrwapja7i4xmgbrnh"; - }; + src = getCoreSrc "beetle-saturn"; description = "Port of Mednafen's Saturn core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; extraBuildInputs = [ libGL libGLU ]; makefile = "Makefile"; makeFlags = [ "HAVE_OPENGL=1" "HAVE_HW=1" ]; meta.platforms = [ "x86_64-linux" "aarch64-linux" ]; - }); in der.override { - name = "beetle-saturn-${der.version}"; }; - beetle-supergrafx = mkLibRetroCore rec { + beetle-supergrafx = mkLibRetroCore { core = "mednafen-supergrafx"; - src = fetchRetro { - repo = "beetle-supergrafx-libretro"; - rev = "fadef23d59fa5ec17bc99e1e722cfd9e10535695"; - sha256 = "15rm7p5q38qy3xpyvamhphjnna8h91fsbcqnl9vhzx9cmjg0wf54"; - }; + src = getCoreSrc "beetle-supergrafx"; description = "Port of Mednafen's SuperGrafx core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - beetle-wswan = mkLibRetroCore rec { + beetle-wswan = mkLibRetroCore { core = "mednafen-wswan"; - src = fetchRetro { - repo = "beetle-wswan-libretro"; - rev = "5b03d1b09f70dc208387d3c8b59e12e1f0d2692f"; - sha256 = "1sm6ww3y9m85lhp74dpxbs05yxdhhqqmj2022j9s0m235z29iygc"; - }; + src = getCoreSrc "beetle-wswan"; description = "Port of Mednafen's WonderSwan core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - beetle-vb = mkLibRetroCore rec { + beetle-vb = mkLibRetroCore { core = "mednafen-vb"; - src = fetchRetro { - repo = "beetle-vb-libretro"; - rev = "9a4e604a7320a3c6ed30601989fe0bc417fa9ad3"; - sha256 = "1gallwbqxn5qbmwxr1vxb41nncksai4rxc739a7vqvp65k5kl0qp"; - }; + src = getCoreSrc "beetle-vb"; description = "Port of Mednafen's VirtualBoy core to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - bluemsx = mkLibRetroCore rec { + bluemsx = mkLibRetroCore { core = "bluemsx"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "7a1d40e750860580ab7cc21fbc244b5bc6db6586"; - sha256 = "05hnkyr47djccspr8v438zimdfsgym7v0jn1hwpkqc4i5zf70981"; - }; description = "Port of BlueMSX to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; }; - bsnes-mercury = let bname = "bsnes-mercury"; in mkLibRetroCore { - core = bname + "-accuracy"; - src = fetchRetro { - repo = bname; - rev = "4a382621da58ae6da850f1bb003ace8b5f67968c"; - sha256 = "0z8psz24nx8497vpk2wya9vs451rzzw915lkw3qiq9bzlzg9r2wv"; - }; + bsnes-mercury = mkLibRetroCore { + core = "bsnes-mercury-accuracy"; + src = getCoreSrc "bsnes-mercury"; description = "Fork of bsnes with HLE DSP emulation restored"; - license = gpl3; + license = lib.licenses.gpl3Only; makefile = "Makefile"; - postBuild = "cd out"; + makeFlags = [ "PROFILE=accuracy" ]; }; - citra = mkLibRetroCore rec { + citra = mkLibRetroCore { core = "citra"; - src = fetchgit { - url = "https://github.com/libretro/citra.git"; - rev = "84f31e95160b029e6d614053705054ed6a34bb38"; - sha256 = "0gkgxpwrh0q098cpx56hprvmazi5qi448c23svwa8ar1myh8p248"; - fetchSubmodules = true; + # `nix-prefetch-github` doesn't support `deepClone`, necessary for citra + # https://github.com/seppeljordan/nix-prefetch-github/issues/41 + src = fetchFromGitHub { + inherit (hashesFile.citra) owner repo rev fetchSubmodules; deepClone = true; + sha256 = "sha256-bwnYkMvbtRF5bGZRYVtMWxnCu9P45qeX4+ntOj9eRds="; }; description = "Port of Citra to libretro"; - license = gpl2Plus; + license = lib.licenses.gpl2Plus; extraNativeBuildInputs = [ cmake pkg-config ]; extraBuildInputs = [ libGLU libGL boost ]; makefile = "Makefile"; @@ -302,52 +266,41 @@ in with lib.licenses; postBuild = "cd src/citra_libretro"; }; - desmume = mkLibRetroCore rec { + desmume = mkLibRetroCore { core = "desmume"; - src = fetchRetro { - repo = core; - rev = "e8cf461f83eebb195f09e70090f57b07d1bcdd9f"; - sha256 = "0rc8s5226wn39jqs5yxi30jc1snc0p106sfym7kgi98hy5na8yab"; - }; description = "libretro wrapper for desmume NDS emulator"; - license = gpl2; + license = lib.licenses.gpl2Plus; extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ]; preBuild = "cd desmume/src/frontend/libretro"; makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix" - ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; + ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; }; - desmume2015 = mkLibRetroCore rec { + desmume2015 = mkLibRetroCore { core = "desmume2015"; - src = fetchRetro { - repo = core; - rev = "93d5789d60f82436e20ccad05ce9cb43c6e3656e"; - sha256 = "12nii2pbnqgh7f7jkphbwjpr2hiy2mzbwpas3xyhpf9wpy3qiasg"; - }; description = "libretro wrapper for desmume NDS emulator from 2015"; - license = gpl2; + license = lib.licenses.gpl2Plus; extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ]; makeFlags = lib.optional stdenv.hostPlatform.isAarch32 "platform=armv-unix" - ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; + ++ lib.optional (!stdenv.hostPlatform.isx86) "DESMUME_JIT=0"; preBuild = "cd desmume"; }; dolphin = mkLibRetroCore { core = "dolphin"; - version = "2021-11-01"; - src = fetchRetro { - repo = "dolphin"; - rev = "3370f7693be95c23ac779e5172ff52b7eb2861a7"; - sha256 = "0ylxi25kbv0h2p24aid7z4i0w6drf7h92q02hjdl3h3gni98lk9i"; - }; description = "Port of Dolphin to libretro"; - license = gpl2Plus; + license = lib.licenses.gpl2Plus; extraNativeBuildInputs = [ cmake curl pkg-config ]; extraBuildInputs = [ - libGLU libGL pcre sfml - gettext hidapi - libevdev udev + libGLU + libGL + pcre + sfml + gettext + hidapi + libevdev + udev ] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]); makefile = "Makefile"; cmakeFlags = [ @@ -362,48 +315,29 @@ in with lib.licenses; dontUseCmakeBuildDir = true; }; - dosbox = mkLibRetroCore rec { + dosbox = mkLibRetroCore { core = "dosbox"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "e4ed503b14ed59d5d745396ef1cc7d52cf912328"; - sha256 = "13bx0ln9hwn6hy4sv0ivqmjgjbfq8svx15dsa24hwd8lkf0kakl4"; - }; description = "Port of DOSBox to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; }; - eightyone = mkLibRetroCore rec { + eightyone = mkLibRetroCore { core = "81"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "4352130bd2363954262a804b086f86b9d13d97f9"; - sha256 = "057ynnv85imjqhgixrx7p28wn42v88vsm3fc1lp3mpcfi2bk266h"; - }; + src = getCoreSrc "eightyone"; description = "Port of EightyOne to libretro"; - license = gpl3; + license = lib.licenses.gpl3Only; }; - fbalpha2012 = mkLibRetroCore rec { + fbalpha2012 = mkLibRetroCore { core = "fbalpha2012"; - src = fetchRetro { - repo = core; - rev = "fa97cd2784a337f8ac774c2ce8a136aee69b5f43"; - sha256 = "1i75k0r6838hl77bjjmzvan33ka5qjrdpirmclzj20g5j97lmas7"; - }; description = "Port of Final Burn Alpha ~2012 to libretro"; license = "Non-commercial"; makefile = "makefile.libretro"; preBuild = "cd svn-current/trunk"; }; - fbneo = mkLibRetroCore rec { + fbneo = mkLibRetroCore { core = "fbneo"; - src = fetchRetro { - repo = core; - rev = "cf43fdb1755f9f5c886266e86ba40d339bc8f5d7"; - sha256 = "13g3c6mbwhcf0rp95ga4klszh8dab2d4ahh2vzzlmd57r69lf2lv"; - }; description = "Port of FBNeo to libretro"; license = "Non-commercial"; makefile = "Makefile"; @@ -414,123 +348,73 @@ in with lib.licenses; makeFlags = [ "USE_EXPERIMENTAL_FLAGS=1" ]; }; - fceumm = mkLibRetroCore rec { + fceumm = mkLibRetroCore { core = "fceumm"; - src = fetchRetro { - repo = "libretro-" + core; - rev = "9ed22e5a9a1360a7f599a64283af9fe24b858e3d"; - sha256 = "0rz6iy281jpybmsz5rh06k5xvmd9id9w2q2gd0qdv9a2ylwv7s2j"; - }; description = "FCEUmm libretro port"; - license = gpl2; + license = lib.licenses.gpl2Only; }; - flycast = mkLibRetroCore rec { + flycast = mkLibRetroCore { core = "flycast"; - src = fetchRetro { - repo = core; - rev = "b12f3726d9093acb4e441b1cdcf6cd11403c8644"; - sha256 = "0nczjhdqr7svq9aflczf7rwz64bih1wqy9q0gyglb55xlslf5jqc"; - }; description = "Flycast libretro port"; - license = gpl2; + license = lib.licenses.gpl2Only; extraBuildInputs = [ libGL libGLU ]; makefile = "Makefile"; makeFlags = lib.optional stdenv.hostPlatform.isAarch64 [ "platform=arm64" ]; meta.platforms = [ "aarch64-linux" "x86_64-linux" ]; }; - fmsx = mkLibRetroCore rec { + fmsx = mkLibRetroCore { core = "fmsx"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "3de916bbf15062de1ab322432d38a1fee29d5e68"; - sha256 = "1krr4lmdiv0d7bxk37fqz5y412znb5bmxapv9g7ci6fp87sr69jq"; - }; description = "FMSX libretro port"; license = "Non-commercial"; makefile = "Makefile"; }; - freeintv = mkLibRetroCore rec { + freeintv = mkLibRetroCore { core = "freeintv"; - src = fetchRetro { - repo = core; - rev = "45030e10cc1a50cf7a80c5d921aa8cba0aeaca91"; - sha256 = "10lngk3p012bgrg752426701hfzsiy359h8i0vzsa64pgyjbqlag"; - }; description = "FreeIntv libretro port"; - license = gpl3; + license = lib.licenses.gpl3Only; makefile = "Makefile"; }; - gambatte = mkLibRetroCore rec { + gambatte = mkLibRetroCore { core = "gambatte"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "132f36e990dfc6effdafa6cf261373432464f9bf"; - sha256 = "19w5k9yc1cl99c5hiqbp6j54g6z06xcblpvd3x6nmhxij81yqxy7"; - }; description = "Gambatte libretro port"; - license = gpl2; + license = lib.licenses.gpl2Only; }; genesis-plus-gx = mkLibRetroCore { core = "genesis-plus-gx"; - src = fetchRetro { - repo = "Genesis-Plus-GX"; - rev = "50551066f71f8a5ea782ea3747891fd6d24ebe67"; - sha256 = "150lgdrv7idcq7jbd1jj7902rcsyixd7kfjs2m5xdinjvl22kihr"; - }; description = "Enhanced Genesis Plus libretro port"; license = "Non-commercial"; }; - gpsp = mkLibRetroCore rec { + gpsp = mkLibRetroCore { core = "gpsp"; - src = fetchRetro { - repo = core; - rev = "3f2f57c982ffead643957db5b26931df4913596f"; - sha256 = "09fa1c623rmy1w9zx85r75viv8q1vknhbs8fn6xbss9rhpxhivwg"; - }; description = "Port of gpSP to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - gw = mkLibRetroCore rec { + gw = mkLibRetroCore { core = "gw"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "819b1dde560013003eeac86c2069c5be7af25c6d"; - sha256 = "1jhgfys8hiipvbwq3gc48d7v6wq645d10rbr4w5m6px0fk6csshk"; - }; description = "Port of Game and Watch to libretro"; license = lib.licenses.zlib; makefile = "Makefile"; }; - handy = mkLibRetroCore rec { + handy = mkLibRetroCore { core = "handy"; - src = fetchRetro { - repo = "libretro-" + core; - rev = "c9fe65d1a2df454ee11404ac27bdc9be319dd9a2"; - sha256 = "1l1gi8z68mv2cpdy7a6wvhd86q55khj3mv3drf43ak4kj2ij8cvq"; - }; description = "Port of Handy to libretro"; - license = "Handy-License"; + license = lib.licenses.zlib; makefile = "Makefile"; }; - hatari = mkLibRetroCore rec { + hatari = mkLibRetroCore { core = "hatari"; - src = fetchRetro { - repo = core; - rev = "ec1b59c4b6c7ca7d0d23d60cfe2cb61911b11173"; - sha256 = "1pm821s2cz93xr7qx7dv0imr44bi4pvdvlnjl486p83vff9yawfg"; - }; description = "Port of Hatari to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; extraBuildInputs = [ SDL zlib ]; extraNativeBuildInputs = [ cmake which ]; dontUseCmakeConfigure = true; @@ -541,15 +425,10 @@ in with lib.licenses; mame = mkLibRetroCore { core = "mame"; - src = fetchRetro { - repo = "mame"; - rev = "ed987ad07964a938351ff3cc1ad42e02ffd2af6d"; - sha256 = "0qc66mvraffx6ws972skx3wgblich17q6z42798qn13q1a264p4j"; - }; description = "Port of MAME to libretro"; - license = gpl2Plus; + license = with lib.licenses; [ bsd3 gpl2Plus ]; - extraBuildInputs = [ alsa-lib libGLU libGL portaudio python27 xorg.libX11 ]; + extraBuildInputs = [ alsa-lib libGLU libGL portaudio python3 xorg.libX11 ]; postPatch = '' # Prevent the failure during the parallel building of: # make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o @@ -558,77 +437,47 @@ in with lib.licenses; makefile = "Makefile.libretro"; }; - mame2000 = mkLibRetroCore rec { + mame2000 = mkLibRetroCore { core = "mame2000"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "e5d4a934c60adc6d42a3f87319312aad89595a15"; - sha256 = "1zn63yqyrsnsk196v5f3nm7cx41mvsm3icpis1yxbma2r3dk3f89"; - }; description = "Port of MAME ~2000 to libretro"; - license = gpl2Plus; + license = "MAME"; makefile = "Makefile"; makeFlags = lib.optional (!stdenv.hostPlatform.isx86) "IS_X86=0"; }; - mame2003 = mkLibRetroCore rec { + mame2003 = mkLibRetroCore { core = "mame2003"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "82596014905ad38c80c9eb322ab08c625d1d92cd"; - sha256 = "17dp2rz6p7q7nr0lajn3vhk9ghngxz16f7c6c87r6wgsy4y3xw0m"; - }; description = "Port of MAME ~2003 to libretro"; - license = gpl2Plus; + license = "MAME"; makefile = "Makefile"; }; - mame2003-plus = mkLibRetroCore rec { + mame2003-plus = mkLibRetroCore { core = "mame2003-plus"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "0134c428b75882aa474f78dbbf2c6ecde49b97b7"; - sha256 = "0jln2ys6v9hrsrkhqd87jfslwvkca425f40mf7866g6b4pz56mwc"; - }; description = "Port of MAME ~2003+ to libretro"; - license = gpl2Plus; + license = "MAME"; makefile = "Makefile"; }; - mame2010 = mkLibRetroCore rec { + mame2010 = mkLibRetroCore { core = "mame2010"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "d3151837758eade73c85c28c20e7d2a8706f30c6"; - sha256 = "0hj0yhc8zs32fkzn8j341ybhvrsknv0k6x0z2fv3l9ic7swgb93i"; - }; description = "Port of MAME ~2010 to libretro"; - license = gpl2Plus; + license = "MAME"; makefile = "Makefile"; makeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [ "PTR64=1" "ARM_ENABLED=1" "X86_SH2DRC=0" "FORCE_DRC_C_BACKEND=1" ]; }; - mame2015 = mkLibRetroCore rec { + mame2015 = mkLibRetroCore { core = "mame2015"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "37333ed6fda4c798a1d6b055fe4708f9f0dcf5a7"; - sha256 = "1asldlj1ywgmhabbhaagagg5hn0359122al07802q3l57ns41l64"; - }; description = "Port of MAME ~2015 to libretro"; - license = gpl2Plus; + license = "MAME"; extraNativeBuildInputs = [ python27 ]; extraBuildInputs = [ alsa-lib ]; makefile = "Makefile"; }; - mame2016 = mkLibRetroCore rec { + mame2016 = mkLibRetroCore { core = "mame2016"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "02987af9b81a9c3294af8fb9d5a34f9826a2cf4d"; - sha256 = "0gl7irmn5d8lk7kf484vgw6kb325fq4ghwsni3il4nm5n2a8yglh"; - }; patches = [ (fetchpatch { name = "fix_mame_build_on_make-4.3.patch"; @@ -637,7 +486,7 @@ in with lib.licenses; }) ]; description = "Port of MAME ~2016 to libretro"; - license = gpl2Plus; + license = with lib.licenses; [ bsd3 gpl2Plus ]; extraNativeBuildInputs = [ python27 ]; extraBuildInputs = [ alsa-lib ]; postPatch = '' @@ -647,136 +496,86 @@ in with lib.licenses; ''; }; - mesen = mkLibRetroCore rec { + mesen = mkLibRetroCore { core = "mesen"; - src = fetchFromGitHub { - owner = "SourMesen"; - repo = core; - rev = "cfc5bf6976f62ebd42ea30d5a803c138fc357509"; - sha256 = "0ihlgvzvni1yqcyi5yxdvg36q20fsqd6n67zavwfb2ph09cqv7kz"; - }; description = "Port of Mesen to libretro"; - license = gpl3; + license = lib.licenses.gpl3Only; makefile = "Makefile"; preBuild = "cd Libretro"; }; - meteor = mkLibRetroCore rec { + meteor = mkLibRetroCore { core = "meteor"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "3d21e3b5a7596918bee0fcaca5752ae76624c05e"; - sha256 = "0fghnxxbdrkdz6zswkd06w2r3dvr4ikvcp8jbr7nb9fc5yzn0avw"; - }; description = "Port of Meteor to libretro"; - license = gpl3; + license = lib.licenses.gpl3Only; makefile = "Makefile"; preBuild = "cd libretro"; }; - mgba = mkLibRetroCore rec { + mgba = mkLibRetroCore { core = "mgba"; - src = fetchRetro { - repo = core; - rev = "f87f9ef6cb38537e07dcaedeb82aecac6537d42e"; - sha256 = "0yixvnzgk7qvcfz12r5y8i85czqxbxx6bvl1c7yms8riqn9ssvb7"; - }; description = "Port of mGBA to libretro"; - license = mpl20; + license = lib.licenses.mpl20; }; mupen64plus = mkLibRetroCore { core = "mupen64plus-next"; - src = fetchRetro { - repo = "mupen64plus-libretro-nx"; - rev = "81a58df0263c90b10b7fc11b6deee04d47e3aa40"; - sha256 = "1brqyrsdzdq53a68q7ph01q2bx5y4m8b3ymvpp25229imm88lgkn"; - }; + src = getCoreSrc "mupen64plus"; description = "Libretro port of Mupen64 Plus, GL only"; - license = gpl2; + license = lib.licenses.gpl3Only; extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ]; makefile = "Makefile"; }; - neocd = mkLibRetroCore rec { + neocd = mkLibRetroCore { core = "neocd"; - src = fetchRetro { - repo = core + "_libretro"; - rev = "3825848fe7dd7e0ef859729eefcb29e2ea2956b7"; - sha256 = "018vfmjsx62zk45yx3pwisp4j133yxjbm7fnwwr244gnyms57711"; - }; description = "NeoCD libretro port"; - license = gpl3; + license = lib.licenses.lgpl3Only; makefile = "Makefile"; }; - nestopia = mkLibRetroCore rec { + nestopia = mkLibRetroCore { core = "nestopia"; - src = fetchRetro { - repo = core; - rev = "70c53f08c0cc92e90d095d6558ab737ce20431ac"; - sha256 = "1hlfqml66wy6fn40f1iiy892vq9y9fj20vv3ynd2s3b3qxhwfx73"; - }; description = "Nestopia libretro port"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; preBuild = "cd libretro"; }; np2kai = mkLibRetroCore rec { core = "np2kai"; - src = fetchFromGitHub rec { - owner = "AZO234"; - repo = "NP2kai"; - rev = "4a317747724669343e4c33ebdd34783fb7043221"; - sha256 = "0kxysxhx6jyk82mx30ni0ydzmwdcbnlxlnarrlq018rsnwb4md72"; - }; + src = getCoreSrc core; description = "Neko Project II kai libretro port"; - license = mit; + license = lib.licenses.mit; makefile = "Makefile.libretro"; - preBuild = '' - cd sdl2 - substituteInPlace ${makefile} \ - --replace 'GIT_VERSION :=' 'GIT_VERSION ?=' - export GIT_VERSION=${builtins.substring 0 7 src.rev} - ''; + makeFlags = [ + # See https://github.com/AZO234/NP2kai/tags + "NP2KAI_VERSION=rev.22" + "NP2KAI_HASH=${src.rev}" + ]; + preBuild = "cd sdl"; }; - o2em = mkLibRetroCore rec { + o2em = mkLibRetroCore { core = "o2em"; - src = fetchRetro { - repo = "libretro-" + core; - rev = "b23a796dd3490e979ff43710317df6d43bd661e1"; - sha256 = "1pkbq7nig394zdjdic0mzdsvx8xhzamsh53xh2hzznipyj46b7z0"; - }; description = "Port of O2EM to libretro"; - license = artistic1; + license = lib.licenses.artistic1; makefile = "Makefile"; }; - opera = mkLibRetroCore rec { + opera = mkLibRetroCore { core = "opera"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "27bc2653ed469072a6a95102a8212a35fbb1e590"; - sha256 = "10cxjpsd35rb4fjc5ycs1h00gvshpn2mxxvwb6xzrfrzva0kjw1l"; - }; description = "Opera is a port of 4DO/libfreedo to libretro"; license = "Non-commercial"; makefile = "Makefile"; makeFlags = [ "CC_PREFIX=${stdenv.cc.targetPrefix}" ]; }; - parallel-n64 = mkLibRetroCore rec { + parallel-n64 = mkLibRetroCore { core = "parallel-n64"; - src = fetchRetro { - repo = core; - rev = "8fe07c62a364d0af1e22b7f75e839d42872dae7f"; - sha256 = "0p3fpldw6w4n4l60bv55c17vhqwq4q39fp36h8iqmnj7c32c61kf"; - }; description = "Parallel Mupen64plus rewrite for libretro."; - license = gpl2; + license = lib.licenses.gpl3Only; extraBuildInputs = [ libGLU libGL libpng ]; makefile = "Makefile"; postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 '' @@ -785,44 +584,29 @@ in with lib.licenses; ''; }; - pcsx_rearmed = mkLibRetroCore rec { + pcsx_rearmed = mkLibRetroCore { core = "pcsx_rearmed"; - src = fetchRetro { - repo = core; - rev = "8fda5dd0e28fe46621fb1ab57781c316143017da"; - sha256 = "0k371d0xqzqwy8ishvxssgasm36q83qj7ksn2av110n879n4knwb"; - }; description = "Port of PCSX ReARMed with GNU lightning to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; dontConfigure = true; }; - picodrive = mkLibRetroCore rec { + picodrive = mkLibRetroCore { core = "picodrive"; - src = fetchRetro { - repo = core; - rev = "600894ec6eb657586a972a9ecd268f50907a279c"; - sha256 = "1bxphwnq4b80ssmairy8sfc5cp4m6jyvrcjcj63q1vk7cs6qls7p"; - }; description = "Fast MegaDrive/MegaCD/32X emulator"; license = "MAME"; extraBuildInputs = [ libpng SDL ]; SDL_CONFIG = "${SDL.dev}/bin/sdl-config"; dontAddPrefix = true; - configurePlatforms = []; + configurePlatforms = [ ]; makeFlags = lib.optional stdenv.hostPlatform.isAarch64 [ "platform=aarch64" ]; }; play = mkLibRetroCore { core = "play"; - src = fetchRetro { - repo = "play-"; - rev = "884ae3b96c631f235cd18b2643d1f318fa6951fb"; - sha256 = "0m9pk20jh4y02visgzfw64bpbw93bzs15x3a3bnd19yivm34dbfc"; - }; description = "Port of Play! to libretro"; - license = bsd2; + license = lib.licenses.bsd2; extraBuildInputs = [ boost ]; extraNativeBuildInputs = [ cmake openssl curl icu libGL libGLU xorg.libX11 ]; makefile = "Makefile"; @@ -832,22 +616,8 @@ in with lib.licenses; ppsspp = mkLibRetroCore { core = "ppsspp"; - src = fetchFromGitHub { - owner = "hrydgard"; - repo = "ppsspp"; - rev = "v1.11"; - fetchSubmodules = true; - sha256 = "sha256-vfp/vacIItlPP5dR7jzDT7oOUNFnjvvdR46yi79EJKU="; - }; - patches = [ - (fetchpatch { - name = "fix_ffmpeg_4.4.patch"; # to be removed with next release - url = "https://patch-diff.githubusercontent.com/raw/hrydgard/ppsspp/pull/14176.patch"; - sha256 = "sha256-ecDoOydaLfL6+eFpahcO1TnRl866mZZVHlr6Qrib1mo="; - }) - ]; description = "ppsspp libretro port"; - license = gpl2; + license = lib.licenses.gpl2Plus; extraNativeBuildInputs = [ cmake pkg-config python3 ]; extraBuildInputs = [ libGLU libGL libzip ffmpeg snappy xorg.libX11 ]; makefile = "Makefile"; @@ -855,114 +625,69 @@ in with lib.licenses; postBuild = "mv lib/ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary} ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary}"; }; - prboom = mkLibRetroCore rec { + prboom = mkLibRetroCore { core = "prboom"; - src = fetchRetro { - repo = "libretro-" + core; - rev = "991016b3c7a9c8b0e49b2bc9c72f68c60800fc7b"; - sha256 = "1abv9qgfvh3x84shgyl3y90bjz77mjj17vibag7bg6i8hgjikjgq"; - }; description = "Prboom libretro port"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - prosystem = mkLibRetroCore rec { + prosystem = mkLibRetroCore { core = "prosystem"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "6f7e34aea89db5ba2fbf674e5ff0ad6fc68a198e"; - sha256 = "0pqkb0f51s8ma0l4m9xk2y85z2kh3fgay9g4g8fingbgqq1klvzs"; - }; description = "Port of ProSystem to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; quicknes = mkLibRetroCore { core = "quicknes"; - src = fetchRetro { - repo = "QuickNES_Core"; - rev = "31654810b9ebf8b07f9c4dc27197af7714364ea7"; - sha256 = "15fr5a9hv7wgndb0fpmr6ws969him41jidzir2ix9xkb0mmvcm86"; - }; description = "QuickNES libretro port"; - license = lgpl21Plus; + license = lib.licenses.lgpl21Plus; makefile = "Makefile"; }; - sameboy = mkLibRetroCore rec { + sameboy = mkLibRetroCore { core = "sameboy"; - src = fetchRetro { - repo = "sameboy"; - rev = "c9e547c1063fd62c40a4b7a86e7db99dc9089051"; - sha256 = "0bff6gicm24d7h270aqvgd8il6mi7j689nj5zl9ij0wc77hrrpmq"; - }; description = "SameBoy libretro port"; - license = mit; + license = lib.licenses.mit; extraNativeBuildInputs = [ which hexdump ]; preBuild = "cd libretro"; makefile = "Makefile"; }; - scummvm = mkLibRetroCore rec { + scummvm = mkLibRetroCore { core = "scummvm"; - src = fetchRetro { - repo = core; - rev = "de91bf9bcbf4449f91e2f50fde173496a2b52ee0"; - sha256 = "06h9xaf2b1cjk85nbslpjj0fm9iy9b2lxr1wf3i09hgs4sh6x464"; - }; description = "Libretro port of ScummVM"; - license = gpl2; + license = lib.licenses.gpl2Only; extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ]; makefile = "Makefile"; preConfigure = "cd backends/platform/libretro/build"; }; - smsplus-gx = mkLibRetroCore rec { + smsplus-gx = mkLibRetroCore { core = "smsplus"; - src = fetchRetro { - repo = core + "-gx"; - rev = "36c82768c03d889f1cf4b66369edac2297acba32"; - sha256 = "1f9waikyp7kp2abb76wlv9hmf2jpc76zjmfqyc7wk2pc70ljm3l4"; - }; + src = getCoreSrc "smsplus-gx"; description = "SMS Plus GX libretro port"; - license = gpl2Plus; + license = lib.licenses.gpl2Plus; }; - snes9x = mkLibRetroCore rec { + snes9x = mkLibRetroCore { core = "snes9x"; - src = fetchFromGitHub { - owner = "snes9xgit"; - repo = core; - rev = "bd9246ddd75a5e9f78d6189c8c57754d843630f7"; - sha256 = "10fm7ah3aha9lf4k9hgw0dlhdvshzpig2d0ylcb12gf9zz0i22ns"; - }; description = "Port of SNES9x git to libretro"; license = "Non-commercial"; makefile = "Makefile"; preBuild = "cd libretro"; }; - snes9x2002 = mkLibRetroCore rec { + snes9x2002 = mkLibRetroCore { core = "snes9x2002"; - src = fetchRetro { - repo = core; - rev = "a869da7f22c63ee1cb316f79c6dd7691a369da3e"; - sha256 = "11lcwscnxg6sk9as2xlr4nai051qhidbsymyis4nz3r4dmgzf8j8"; - }; description = "Optimized port/rewrite of SNES9x 1.39 to Libretro"; license = "Non-commercial"; makefile = "Makefile"; }; - snes9x2005 = mkLibRetroCore rec { + snes9x2005 = mkLibRetroCore { core = "snes9x2005"; - src = fetchRetro { - repo = core; - rev = "c216559b9e0dc3d7f059dcf31b813402ad47fea5"; - sha256 = "19b2rpj6i32c34ryvlna4yca84y5ypza78w4x9l17qlhp021h9pv"; - }; description = "Optimized port/rewrite of SNES9x 1.43 to Libretro"; license = "Non-commercial"; makefile = "Makefile"; @@ -970,66 +695,40 @@ in with lib.licenses; postBuild = "mv snes9x2005_plus_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x2005_libretro${stdenv.hostPlatform.extensions.sharedLibrary}"; }; - snes9x2010 = mkLibRetroCore rec { + snes9x2010 = mkLibRetroCore { core = "snes9x2010"; - src = fetchRetro { - repo = core; - rev = "ba9f2240360f8db270fb6ba5465c79c317070560"; - sha256 = "00y53sjrsp8sccpp1qqw88iawsz30g6d370cbqcxs4ya1r6awn5x"; - }; description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; license = "Non-commercial"; }; - stella = mkLibRetroCore rec { + stella = mkLibRetroCore { core = "stella"; - src = fetchFromGitHub { - owner = "stella-emu"; - repo = core; - rev = "506bb0bd0618e676b1959931dcc00a9d0f5f0f3d"; - sha256 = "09nclx0ksixngnxkkjjcyhf3d0vl4ykm8fx7m307lvag8nxj7z03"; - }; description = "Port of Stella to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; extraBuildInputs = [ libpng pkg-config SDL ]; makefile = "Makefile"; preBuild = "cd src/libretro"; dontConfigure = true; }; - stella2014 = mkLibRetroCore rec { + stella2014 = mkLibRetroCore { core = "stella2014"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "fc87f2c78d3b177f4b9b19698557dce452ac3ce7"; - sha256 = "0yqzavk1w0d0ngpls32c4wlihii97fz2g6zsgadhm48apwjvn3xx"; - }; description = "Port of Stella to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - tgbdual = mkLibRetroCore rec { + tgbdual = mkLibRetroCore { core = "tgbdual"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "9be31d373224cbf288db404afc785df41e61b213"; - sha256 = "19m3f3hj3jyg711z1xq8qn1hgsr593krl6s6hi0r6vf8p5x0zbzw"; - }; description = "Port of TGBDual to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; }; - thepowdertoy = mkLibRetroCore rec { + thepowdertoy = mkLibRetroCore { core = "thepowdertoy"; - src = fetchRetro { - repo = "ThePowderToy"; - rev = "0ff547e89ae9d6475b0226db76832daf03eec937"; - sha256 = "kDpmo/RPYRvROOX3AhsB5pIl0MfHbQmbyTMciLPDNew="; - }; description = "Port of The Powder Toy to libretro"; - license = gpl3Only; + license = lib.licenses.gpl3Only; extraNativeBuildInputs = [ cmake ]; makefile = "Makefile"; postBuild = "cd src/"; @@ -1037,14 +736,9 @@ in with lib.licenses; tic80 = mkLibRetroCore { core = "tic80"; - src = fetchRetro { - repo = "tic-80"; - rev = "f43bad908d5f05f2a66d5cd1d6f21b234d4abd2c"; - sha256 = "0bp34r8qqyw52alws1z4ib9j7bs4d641q6nvqszd07snp9lpvwym"; - }; description = "Port of TIC-80 to libretro"; - license = mit; - extraNativeBuildInputs = [ cmake pkg-config ]; + license = lib.licenses.mit; + extraNativeBuildInputs = [ cmake pkg-config libGL libGLU ]; makefile = "Makefile"; cmakeFlags = [ "-DBUILD_LIBRETRO=ON" @@ -1057,66 +751,42 @@ in with lib.licenses; postBuild = "cd lib"; }; - vba-next = mkLibRetroCore rec { + vba-next = mkLibRetroCore { core = "vba-next"; - src = fetchRetro { - repo = core; - rev = "019132daf41e33a9529036b8728891a221a8ce2e"; - sha256 = "0hab4rhvvcg30jifd9h9jq5q2vqk2hz5i1q456w6v2d10hl1lf15"; - }; description = "VBA-M libretro port with modifications for speed"; - license = gpl2; + license = lib.licenses.gpl2Only; }; - vba-m = mkLibRetroCore rec { + vba-m = mkLibRetroCore { core = "vbam"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "7d88e045a2fe44e56b3f84846beec446b4c4b2d9"; - sha256 = "04f8adg99a36qkqhij54vkw5z18m5ld33p78lbmv8cxk7k7g7yhy"; - }; + src = getCoreSrc "vba-m"; description = "vanilla VBA-M libretro port"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; preBuild = "cd src/libretro"; }; - vecx = mkLibRetroCore rec { + vecx = mkLibRetroCore { core = "vecx"; - src = fetchRetro { - repo = "libretro-" + core; - rev = "321205271b1c6be5dbdb8d309097a5b5c2032dbd"; - sha256 = "1w54394yhf2yqmq1b8wi5y7lvixc5hpjxpyiancrdbjd0af7pdvd"; - }; description = "Port of Vecx to libretro"; - license = gpl3; + license = lib.licenses.gpl3Only; + extraBuildInputs = [ libGL libGLU ]; }; - virtualjaguar = mkLibRetroCore rec { + virtualjaguar = mkLibRetroCore { core = "virtualjaguar"; - src = fetchRetro { - repo = core + "-libretro"; - rev = "a162fb75926f5509f187e9bfc69958bced40b0a6"; - sha256 = "06k8xpn5y9rzmi2lwfw0v9v9pz4wvmpalycc608bw9cl39lmz10h"; - }; description = "Port of VirtualJaguar to libretro"; - license = gpl3; + license = lib.licenses.gpl3Only; makefile = "Makefile"; }; - yabause = mkLibRetroCore rec { + yabause = mkLibRetroCore { core = "yabause"; - src = fetchRetro { - repo = core; - rev = "9be109f9032afa793d2a79b837c4cc232cea5929"; - sha256 = "0aj862bs4dmnldy62wdssj5l63ibfkbzqvkxcqa3wyvdz4i367jc"; - }; description = "Port of Yabause to libretro"; - license = gpl2; + license = lib.licenses.gpl2Only; makefile = "Makefile"; # Disable SSE for non-x86. DYNAREC doesn't build on either Aarch64 or x86_64. makeFlags = lib.optional (!stdenv.hostPlatform.isx86) "HAVE_SSE=0"; preBuild = "cd yabause/src/libretro"; }; - } diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix index f5db3d427f9e..e4c09c3c8f6c 100644 --- a/pkgs/misc/emulators/retroarch/default.nix +++ b/pkgs/misc/emulators/retroarch/default.nix @@ -22,12 +22,13 @@ with lib; stdenv.mkDerivation rec { pname = "retroarch-bare"; - version = "1.8.5"; + # FIXME: retroarch >=1.9.3 doesn't load the cores + version = "1.9.2"; src = fetchFromGitHub { owner = "libretro"; repo = "RetroArch"; - sha256 = "1pg8j9wvwgrzsv4xdai6i6jgdcc922v0m42rbqxvbghbksrc8la3"; + sha256 = "sha256-Dwv0hl+d99FbVMG4KnkjO1aYfAw0m4x+zvrbyb/wOX8="; rev = "v${version}"; }; @@ -55,8 +56,8 @@ stdenv.mkDerivation rec { meta = { homepage = "https://libretro.com"; description = "Multi-platform emulator frontend for libretro cores"; - license = licenses.gpl3; + license = licenses.gpl3Plus; platforms = platforms.all; - maintainers = with maintainers; [ MP2E edwtjo matthewbauer kolbycrouch ]; + maintainers = with maintainers; [ MP2E edwtjo matthewbauer kolbycrouch thiagokokada ]; }; } diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/misc/emulators/retroarch/hashes.json new file mode 100644 index 000000000000..a849a37bfab4 --- /dev/null +++ b/pkgs/misc/emulators/retroarch/hashes.json @@ -0,0 +1,513 @@ +{ + "atari800": { + "owner": "libretro", + "repo": "libretro-atari800", + "rev": "478a8ec99a7f8436a39d5ac193c5fe313233ee7b", + "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", + "rev": "38182572571a48cb58057cde64b915237c4e2d58", + "sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=", + "fetchSubmodules": false + }, + "beetle-lynx": { + "owner": "libretro", + "repo": "beetle-lynx-libretro", + "rev": "b84c79b2f185482f9cec2b10f33cbe1bc5732dd9", + "sha256": "pR3EsFN/Wf77gPoAnjf/nI0XlB2098qIrmbdjB4jmMQ=", + "fetchSubmodules": false + }, + "beetle-ngp": { + "owner": "libretro", + "repo": "beetle-ngp-libretro", + "rev": "f969af2b52f20642aea7e800e3cfcce728f3aee9", + "sha256": "GIzLZ3iOJeHKdAowhM4S56iouaxX8v2XZgc/ZiCzCPk=", + "fetchSubmodules": false + }, + "beetle-pce-fast": { + "owner": "libretro", + "repo": "beetle-pce-fast-libretro", + "rev": "81d4c9d07a76c89c32ad0e7450b69bde6403836f", + "sha256": "LhQbAEUMhoIF3VfwLbhtD7xxSddzdgwIHHnSabQPAvs=", + "fetchSubmodules": false + }, + "beetle-pcfx": { + "owner": "libretro", + "repo": "beetle-pcfx-libretro", + "rev": "a1f1734509dd6acb11269f118d61f480ae8dbacf", + "sha256": "rvRDuYJLxb1TSwNXhp3ATJW0sQgWi8Cj4NR3hep/AJk=", + "fetchSubmodules": false + }, + "beetle-psx": { + "owner": "libretro", + "repo": "beetle-psx-libretro", + "rev": "ccca81930a078c0efd77b00327d2ee212698f3b4", + "sha256": "Hy8Zrp0kTR+Mfbq0nVYerSarRCxZI+ykgDOscakDMiU=", + "fetchSubmodules": false + }, + "beetle-saturn": { + "owner": "libretro", + "repo": "beetle-saturn-libretro", + "rev": "e1119e91a4e3f4b30971455aeb3c1a6f4cd05e59", + "sha256": "lKlNNAHK1ynFXY++Ya0m1Ax5YTZkd44eQjzuOLXfWa8=", + "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=", + "fetchSubmodules": false + }, + "beetle-vb": { + "owner": "libretro", + "repo": "beetle-vb-libretro", + "rev": "1bd0da71c8f6add253ad76e2b6e1357cd09fc304", + "sha256": "KguKbRK0uXE+brpF8HdRwi8Gt76AMa4wkh1MFvNCbN4=", + "fetchSubmodules": false + }, + "bluemsx": { + "owner": "libretro", + "repo": "bluemsx-libretro", + "rev": "cfc1df4d026387883f21994bcce603c4a6be8730", + "sha256": "ix/AyYNer1R73ZJW1reXyj7geBr3ThrqXf5Ki5yrz9A=", + "fetchSubmodules": false + }, + "bsnes-mercury": { + "owner": "libretro", + "repo": "bsnes-mercury", + "rev": "d232c6ea90552f5921fec33a06626f08d3e18b24", + "sha256": "fpl7hmqz+Ca+9ZeM6E1JSikbiu+NJUU8xXtyl6Dd9Gg=", + "fetchSubmodules": false + }, + "citra": { + "owner": "libretro", + "repo": "citra", + "rev": "b1959d07a340bfd9af65ad464fd19eb6799a96ef", + "sha256": "Tw6Niba9gsZOMKGaXF9AZ5gdigB0mmFyqoRTMElM/Ps=", + "fetchSubmodules": true + }, + "desmume": { + "owner": "libretro", + "repo": "desmume", + "rev": "7ea0fc96804fcd9c8d33e8f76cf64b1be50cc5ea", + "sha256": "4S/CirRVOBN6PVbato5X5fu0tBn3Fu5FEAbdf3TBqng=", + "fetchSubmodules": false + }, + "desmume2015": { + "owner": "libretro", + "repo": "desmume2015", + "rev": "cd89fb7c48c735cb321311fbce7e6e9889dda1ce", + "sha256": "9Ou/n6pxRjJOp/Ybpyg4+Simosj2X26kLZCMEqeVL6U=", + "fetchSubmodules": false + }, + "dolphin": { + "owner": "libretro", + "repo": "dolphin", + "rev": "82e617439b622af5d1189e9fec67e7f1376be099", + "sha256": "Q3a+0SYocX1hBGLs1K9r932NkiCDFINPhtHeyzUknJE=", + "fetchSubmodules": false + }, + "dosbox": { + "owner": "libretro", + "repo": "dosbox-libretro", + "rev": "aa71b67d54eaaf9e41cdd3cb5153d9cff0ad116e", + "sha256": "L0Y67UROjldnXUlLQ+Xbd7RHLb96jDxlB/k+LR9Kbas=", + "fetchSubmodules": false + }, + "eightyone": { + "owner": "libretro", + "repo": "81-libretro", + "rev": "30344d3499fdb301ee33de136f7b390bebe0756a", + "sha256": "kMwga9MkjV+dKxW3VLu+rxst6H20HhREoiNBsCLa1G0=", + "fetchSubmodules": false + }, + "fbalpha2012": { + "owner": "libretro", + "repo": "fbalpha2012", + "rev": "23f98fc7cf4f2f216149c263cf5913d2e28be8d4", + "sha256": "dAInW6tTV7oXcPhKMnHWcmQaWQCTqRrYHD2yuaI1I1w=", + "fetchSubmodules": false + }, + "fbneo": { + "owner": "libretro", + "repo": "fbneo", + "rev": "4d6387b7f3e3f1a9c25015789d751c6db1a9ae8c", + "sha256": "bIOmvhu9mOfOXoOTbwbjMHIZ3JkGz96yyFZALmqkOmk=", + "fetchSubmodules": false + }, + "fceumm": { + "owner": "libretro", + "repo": "libretro-fceumm", + "rev": "a918869c18c9f30b84e04260b78b675b8a3c7be1", + "sha256": "nDYPrwIsvhWveDQDE0WEK7GO60iRE967p1XxXn+lNj4=", + "fetchSubmodules": false + }, + "flycast": { + "owner": "libretro", + "repo": "flycast", + "rev": "ae670ea28fdbb9f08149cb598312a71a0970ca67", + "sha256": "jmSOfyak5mX04HgZOtCF9cz8HqAApxDXHJ6IqhqGILE=", + "fetchSubmodules": false + }, + "fmsx": { + "owner": "libretro", + "repo": "fmsx-libretro", + "rev": "20c805409b8f6e1f9d61cb3dff0d5b28d82d1ee3", + "sha256": "uqqVF2+YpfWOKbe8aIreoImFb3/kL8ohslJkl+JivQI=", + "fetchSubmodules": false + }, + "freeintv": { + "owner": "libretro", + "repo": "freeintv", + "rev": "0058a09492c5c17a4fa59ebb3601ce66844b3b25", + "sha256": "DA6eAl9ZR84Ow8rH9q/DVbEU83nmidwMy3kqk+hWWLQ=", + "fetchSubmodules": false + }, + "gambatte": { + "owner": "libretro", + "repo": "gambatte-libretro", + "rev": "4b822bcf561856689e101dd5505d365de5ffcffe", + "sha256": "FsIQLd/UO5xs/aTpggSn8WLPgi83gsxRlwKR+UzH+TY=", + "fetchSubmodules": false + }, + "genesis-plus-gx": { + "owner": "libretro", + "repo": "Genesis-Plus-GX", + "rev": "309a4aacfd582c312dcad61b7abfdffba4a0c66e", + "sha256": "jnbey1USldDZGXGXLLR5TgSJZgD+6ZFpwfIf6c8xvyM=", + "fetchSubmodules": false + }, + "gpsp": { + "owner": "libretro", + "repo": "gpsp", + "rev": "a2aa78733d8daf1d550c9dc76c6ff94e8670b31c", + "sha256": "nKim7YkksUyZO97SvrW1TEYQlA+7Yi7xbLtyDPV4LWc=", + "fetchSubmodules": false + }, + "gw": { + "owner": "libretro", + "repo": "gw-libretro", + "rev": "0f1ccca156388880bf4507ad44741f80945dfc6f", + "sha256": "BVpx8pL224J2u9W6UDrxzfEv4qIsh6wrf3bDdd1R850=", + "fetchSubmodules": false + }, + "handy": { + "owner": "libretro", + "repo": "libretro-handy", + "rev": "e7b4e32d5f32d6e96630072072844a7dd16a02d9", + "sha256": "dQpEqxOcac7gdbmWu4HTvFx++us/spVMfroBlLTAgF0=", + "fetchSubmodules": false + }, + "hatari": { + "owner": "libretro", + "repo": "hatari", + "rev": "cea06eebf695b078fadc0e78bb0f2b2baaca799f", + "sha256": "Z05IGubwdgg7X/e2ZG49zVfXuITM59HW/1gicdpDXls=", + "fetchSubmodules": false + }, + "mame": { + "owner": "libretro", + "repo": "mame", + "rev": "031ac783585e7d5156a6f87a9ba20d88caf94ad6", + "sha256": "hLMQw5jvJTxojGwCY7iUDHcJdLZjcLzEDhW576TerJI=", + "fetchSubmodules": false + }, + "mame2000": { + "owner": "libretro", + "repo": "mame2000-libretro", + "rev": "4793742b457945afb74053c8a895e6ff0b36b033", + "sha256": "DA9fZTic/jlYzSAIiOjfhohyEyQZiBNdIa8YCZoKZNs=", + "fetchSubmodules": false + }, + "mame2003": { + "owner": "libretro", + "repo": "mame2003-libretro", + "rev": "d0ed1a565803cfada9f4088326eae616f6e5f8a3", + "sha256": "JGEy6Mp5qcZwaehzbj+qpdBfxHzqi6qIR7akxIj/WK8=", + "fetchSubmodules": false + }, + "mame2003-plus": { + "owner": "libretro", + "repo": "mame2003-plus-libretro", + "rev": "841e44dff953a346127f15be53cb34778e20ce1c", + "sha256": "aCXyeDcz0uSObe4S2bQWCxIAF5aA3kne5v0HT+oXHuw=", + "fetchSubmodules": false + }, + "mame2010": { + "owner": "libretro", + "repo": "mame2010-libretro", + "rev": "932e6f2c4f13b67b29ab33428a4037dee9a236a8", + "sha256": "HSZRSnc+0300UE9fPcUOMrXABlxHhTewkFPTqQ4Srxs=", + "fetchSubmodules": false + }, + "mame2015": { + "owner": "libretro", + "repo": "mame2015-libretro", + "rev": "ef41361dc9c88172617f7bbf6cd0ead4516a3c3f", + "sha256": "HZrw9KKwYAJyU4NH1BEvuod/TK/nqjN03qJuSX8JP8o=", + "fetchSubmodules": false + }, + "mame2016": { + "owner": "libretro", + "repo": "mame2016-libretro", + "rev": "d53c379892b0bd91b4a52fc2de491e1199f03e32", + "sha256": "GQ4Sdg/1nZRT4Z1Aqq1zPo96duqIGyt6sjghf9ap2Jg=", + "fetchSubmodules": false + }, + "mesen": { + "owner": "SourMesen", + "repo": "mesen", + "rev": "86326e832974d984846ae078e568c023a5f76f1f", + "sha256": "At5rhlJ6rAnXaQrmRA1NtCCi+Ff/ytlt5dwsaXZhxXg=", + "fetchSubmodules": false + }, + "meteor": { + "owner": "libretro", + "repo": "meteor-libretro", + "rev": "e533d300d0561564451bde55a2b73119c768453c", + "sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=", + "fetchSubmodules": false + }, + "mgba": { + "owner": "libretro", + "repo": "mgba", + "rev": "033e067285745909722df930deaeead80ea2d54a", + "sha256": "ZFmiVOf8H3PtSCWTtYc3XsIpiJI6XZ2v/HsusQsg7H8=", + "fetchSubmodules": false + }, + "mupen64plus": { + "owner": "libretro", + "repo": "mupen64plus-libretro-nx", + "rev": "018ee72b4fe247b38ed161033ad12a19bb936f00", + "sha256": "vJz9S9lUgJp8O0NgJF6/EYymFqwZefvrT/HJLpMhgEk=", + "fetchSubmodules": false + }, + "neocd": { + "owner": "libretro", + "repo": "neocd_libretro", + "rev": "83d10f3be10fff2f28aa56fc674c687528cb7f5c", + "sha256": "yYZGoMsUfE8cpU9i826UWQGi1l0zPJPcBDb2CINxGeQ=", + "fetchSubmodules": false + }, + "nestopia": { + "owner": "libretro", + "repo": "nestopia", + "rev": "ea6f1c0631bb62bf15ab96493127dd9cfaf74d1c", + "sha256": "v+5000V1SR1sXWHryoZEi5sTgaRlVMrHmWKJX2stdSk=", + "fetchSubmodules": false + }, + "np2kai": { + "owner": "AZO234", + "repo": "NP2kai", + "rev": "3e8fedc7c1c6f68faa26589187512474a766ee9e", + "sha256": "5bfh/aZOqfHz1x2s5AzZo4zq9qA4w10d9vYuuILdKJQ=", + "fetchSubmodules": true + }, + "o2em": { + "owner": "libretro", + "repo": "libretro-o2em", + "rev": "c039e83f2589cb9d21b9aa5dc211954234ab8c97", + "sha256": "QQS4mS68C3aTZ4dw7ju6WyPlDjIBoDkIeQduCccAmDQ=", + "fetchSubmodules": false + }, + "opera": { + "owner": "libretro", + "repo": "opera-libretro", + "rev": "d8aa7cecf96298bd7ee51718086f7b1bc8c57e2a", + "sha256": "1t+zwCVmqiPFFNCNq9XzVfRGbEA1q8v4jzhOb+wV/nA=", + "fetchSubmodules": false + }, + "parallel-n64": { + "owner": "libretro", + "repo": "parallel-n64", + "rev": "0a67445ce63513584d92e5c57ea87efe0da9b3bd", + "sha256": "rms+T8JOp/TJ/T5a5uLj8lu1LLz/GAsJZ7UbK42C9yU=", + "fetchSubmodules": false + }, + "pcsx_rearmed": { + "owner": "libretro", + "repo": "pcsx_rearmed", + "rev": "589bd99ba31de8216624dbf0cbbc016f0663ce3d", + "sha256": "6OtsWXTo6ca0M/cofpvWPEd0Tqy3XDa8vaa7OUTxnMU=", + "fetchSubmodules": false + }, + "picodrive": { + "owner": "libretro", + "repo": "picodrive", + "rev": "9cb99ce36f93871b05c5adc2790b2e33e63b50b6", + "sha256": "hhdEuri1hSNLAkno8Rwd0Yls11Yh6Q7/+t4T2LH+BaE=", + "fetchSubmodules": true + }, + "play": { + "owner": "jpd002", + "repo": "Play-", + "rev": "b8e16159734c2068db0f2f12b11bc16ef55058ce", + "sha256": "qjp1rEjmDAAB2wXITA3lAS+ERJuZinoneJToYiYRi/w=", + "fetchSubmodules": true + }, + "ppsspp": { + "owner": "hrydgard", + "repo": "ppsspp", + "rev": "b6e7fe1aaf2bbb8f4faa1378bf14f434aea33cc1", + "sha256": "Kif6oF8Bjhgc02xKDivCG9RBxj5wxNFEwxl9nX3AZug=", + "fetchSubmodules": true + }, + "prboom": { + "owner": "libretro", + "repo": "libretro-prboom", + "rev": "0f5927db4fb7e61f32bc9eccc5f809e54f71a371", + "sha256": "DFpDxEUHjuCcHQGxT+impj98vYITeok1SHrRN5Hba4M=", + "fetchSubmodules": false + }, + "prosystem": { + "owner": "libretro", + "repo": "prosystem-libretro", + "rev": "f8652c7f2b0edc81685d03204d4963fc4ea9eccd", + "sha256": "Ki4Dyb//X8isP0tScqunA/qt2vkX6d2HH7rHhqk3D5k=", + "fetchSubmodules": false + }, + "quicknes": { + "owner": "libretro", + "repo": "QuickNES_Core", + "rev": "71b8000b33daab8ed488f8707ccd8d5b623443f8", + "sha256": "Wx8nFWy0DQaZlhEMiI2KRwBK0earSVSke7/qXbs0bQ0=", + "fetchSubmodules": false + }, + "sameboy": { + "owner": "libretro", + "repo": "sameboy", + "rev": "68f67b3db7747ba7aac84c5c253bc71d5a906525", + "sha256": "/4JQ1Tem3UgOUIcsLV0aLU+1R55hMTaT+wWElwj00Q4=", + "fetchSubmodules": false + }, + "scummvm": { + "owner": "libretro", + "repo": "scummvm", + "rev": "63e57573a9ffe71a1083ff46d9cd210203b87afb", + "sha256": "LTFe8HIX9OSJuJj5YfPigrPAE8nrbSpDckh0hj3w52s=", + "fetchSubmodules": false + }, + "smsplus-gx": { + "owner": "libretro", + "repo": "smsplus-gx", + "rev": "3f1ffede55bcfe0168caa484a00bf041ab591abf", + "sha256": "fD+grzMPk4uXvmzGf+f9Mor0eefBLHIumCydsSHUsck=", + "fetchSubmodules": false + }, + "snes9x": { + "owner": "snes9xgit", + "repo": "snes9x", + "rev": "edc32fc0bd6aea6d5645a03f0f94b72f3cbfa43e", + "sha256": "Zeojdoykmk+lpG1z5EdZToGWYDQvSSQqaEr7F68iyk0=", + "fetchSubmodules": false + }, + "snes9x2002": { + "owner": "libretro", + "repo": "snes9x2002", + "rev": "e16cb16efa00765b1bc3b8fee195680efb1542c7", + "sha256": "0dhLpNy+NUE3mE/ejEwbq3G28/a2HONS5NPslI5LOEc=", + "fetchSubmodules": false + }, + "snes9x2005": { + "owner": "libretro", + "repo": "snes9x2005", + "rev": "88a46f7c085f6e2accc4c777e264b9b5cd41cf0e", + "sha256": "5wVKK3xhCXkvonwQRyVtd8Afggb0gv8Sv7PEYkDfKRE=", + "fetchSubmodules": false + }, + "snes9x2010": { + "owner": "libretro", + "repo": "snes9x2010", + "rev": "714b1c8e08c7580430190119b07e793405773ac2", + "sha256": "yKSQEE+lT4V2V1XqemfziHuIt79TcvC0ranU9ounTXo=", + "fetchSubmodules": false + }, + "stella": { + "owner": "stella-emu", + "repo": "stella", + "rev": "e1035b74fce26932078d00e8625688927efce34c", + "sha256": "+ZvSCnnoKGyToSFqUQOArolFdgUcBBFNjFw8aoVDkYI=", + "fetchSubmodules": false + }, + "stella2014": { + "owner": "libretro", + "repo": "stella2014-libretro", + "rev": "934c7a2a44ef038af529b68950ddba4f7ea3478e", + "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak=", + "fetchSubmodules": false + }, + "tgbdual": { + "owner": "libretro", + "repo": "tgbdual-libretro", + "rev": "1e0c4f931d8c5e859e6d3255d67247d7a2987434", + "sha256": "0wHv9DpKuzJ/q5vERqCo4GBLre2ggClBIWSjGnMLQq8=", + "fetchSubmodules": false + }, + "thepowdertoy": { + "owner": "libretro", + "repo": "ThePowderToy", + "rev": "ac620c0a89a18774c3ad176a8a1bc596df23ff57", + "sha256": "C/X1DbmnucRddemEYml2zN3qr5yoXY3b+nvqfpboS0M=", + "fetchSubmodules": false + }, + "tic80": { + "owner": "libretro", + "repo": "tic-80", + "rev": "bd03e6a548676745e81fa95e60b233b5a56420c2", + "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", + "rev": "254f6effebe882b7d3d29d9e417c6aeeabc08026", + "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk=", + "fetchSubmodules": false + }, + "vecx": { + "owner": "libretro", + "repo": "libretro-vecx", + "rev": "28d6efc8972313903d0802a736ff8c3bc115e78f", + "sha256": "VYa8s+HB8IYF+HS6SA+sO5DzpgCtnMGrh88KTVNGICY=", + "fetchSubmodules": false + }, + "virtualjaguar": { + "owner": "libretro", + "repo": "virtualjaguar-libretro", + "rev": "d1b1b28a6ad2518b746e3f7537ec6d66db96ec57", + "sha256": "Io25dt80fqIqIxwzF2DK9J5UFz6YCUQoqThcIuxdEBo=", + "fetchSubmodules": false + }, + "yabause": { + "owner": "libretro", + "repo": "yabause", + "rev": "811f9e81dbff4bed18644e19631fd4893e73e6ee", + "sha256": "VstPh0oMEZ7/ts58NjZxBYZZx/7dRTYePhDIQMu0WOo=", + "fetchSubmodules": false + } +} diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/misc/emulators/retroarch/update.py new file mode 100755 index 000000000000..db43db13575f --- /dev/null +++ b/pkgs/misc/emulators/retroarch/update.py @@ -0,0 +1,135 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ requests nix-prefetch-github ])" -p "git" + +import json +import sys +from pathlib import Path + +from nix_prefetch_github import nix_prefetch_github + +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"}, + "beetle-pce-fast": {"repo": "beetle-pce-fast-libretro"}, + "beetle-pcfx": {"repo": "beetle-pcfx-libretro"}, + "beetle-psx": {"repo": "beetle-psx-libretro"}, + "beetle-saturn": {"repo": "beetle-saturn-libretro"}, + "beetle-supergrafx": {"repo": "beetle-supergrafx-libretro"}, + "beetle-wswan": {"repo": "beetle-wswan-libretro"}, + "beetle-vb": {"repo": "beetle-vb-libretro"}, + "bluemsx": {"repo": "bluemsx-libretro"}, + "bsnes-mercury": {"repo": "bsnes-mercury"}, + "citra": {"repo": "citra", "fetch_submodules": True}, + "desmume": {"repo": "desmume"}, + "desmume2015": {"repo": "desmume2015"}, + "dolphin": {"repo": "dolphin"}, + "dosbox": {"repo": "dosbox-libretro"}, + "eightyone": {"repo": "81-libretro"}, + "fbalpha2012": {"repo": "fbalpha2012"}, + "fbneo": {"repo": "fbneo"}, + "fceumm": {"repo": "libretro-fceumm"}, + "flycast": {"repo": "flycast"}, + "fmsx": {"repo": "fmsx-libretro"}, + "freeintv": {"repo": "freeintv"}, + "gambatte": {"repo": "gambatte-libretro"}, + "genesis-plus-gx": {"repo": "Genesis-Plus-GX"}, + "gpsp": {"repo": "gpsp"}, + "gw": {"repo": "gw-libretro"}, + "handy": {"repo": "libretro-handy"}, + "hatari": {"repo": "hatari"}, + "mame": {"repo": "mame"}, + "mame2000": {"repo": "mame2000-libretro"}, + "mame2003": {"repo": "mame2003-libretro"}, + "mame2003-plus": {"repo": "mame2003-plus-libretro"}, + "mame2010": {"repo": "mame2010-libretro"}, + "mame2015": {"repo": "mame2015-libretro"}, + "mame2016": {"repo": "mame2016-libretro"}, + "mesen": {"repo": "mesen", "owner": "SourMesen"}, + "meteor": {"repo": "meteor-libretro"}, + "mgba": {"repo": "mgba"}, + "mupen64plus": {"repo": "mupen64plus-libretro-nx"}, + "neocd": {"repo": "neocd_libretro"}, + "nestopia": {"repo": "nestopia"}, + "np2kai": {"repo": "NP2kai", "owner": "AZO234", "fetch_submodules": True}, + "o2em": {"repo": "libretro-o2em"}, + "opera": {"repo": "opera-libretro"}, + "parallel-n64": {"repo": "parallel-n64"}, + "pcsx_rearmed": {"repo": "pcsx_rearmed"}, + "picodrive": {"repo": "picodrive", "fetch_submodules": True}, + "play": {"repo": "Play-", "owner": "jpd002", "fetch_submodules": True}, + "ppsspp": {"repo": "ppsspp", "owner": "hrydgard", "fetch_submodules": True}, + "prboom": {"repo": "libretro-prboom"}, + "prosystem": {"repo": "prosystem-libretro"}, + "quicknes": {"repo": "QuickNES_Core"}, + "sameboy": {"repo": "sameboy"}, + "scummvm": {"repo": "scummvm"}, + "smsplus-gx": {"repo": "smsplus-gx"}, + "snes9x": {"repo": "snes9x", "owner": "snes9xgit"}, + "snes9x2002": {"repo": "snes9x2002"}, + "snes9x2005": {"repo": "snes9x2005"}, + "snes9x2010": {"repo": "snes9x2010"}, + "stella": {"repo": "stella", "owner": "stella-emu"}, + "stella2014": {"repo": "stella2014-libretro"}, + "tgbdual": {"repo": "tgbdual-libretro"}, + "thepowdertoy": {"repo": "ThePowderToy"}, + "tic80": {"repo": "tic-80", "fetch_submodules": True}, + "vba-next": {"repo": "vba-next"}, + "vba-m": {"repo": "vbam-libretro"}, + "vecx": {"repo": "libretro-vecx"}, + "virtualjaguar": {"repo": "virtualjaguar-libretro"}, + "yabause": {"repo": "yabause"}, +} + + +def info(*msg): + print(*msg, file=sys.stderr) + + +def get_repo_hash_fetchFromGitHub(repo, owner="libretro", fetch_submodules=False): + assert repo is not None, "Parameter 'repo' can't be None." + + repo_hash = nix_prefetch_github( + owner=owner, repo=repo, fetch_submodules=fetch_submodules + ) + return { + "owner": repo_hash.repository.owner, + "repo": repo_hash.repository.name, + "rev": repo_hash.rev, + "sha256": repo_hash.sha256, + "fetchSubmodules": repo_hash.fetch_submodules, + } + + +def get_repo_hash(fetcher="fetchFromGitHub", **kwargs): + if fetcher == "fetchFromGitHub": + return get_repo_hash_fetchFromGitHub(**kwargs) + else: + raise ValueError(f"Unsupported fetcher: {fetcher}") + + +def get_repo_hashes(): + repo_hashes = {} + + for core, repo in CORES.items(): + info(f"Getting repo hash for '{core}'...") + repo_hashes[core] = get_repo_hash(**repo) + + return repo_hashes + + +def main(): + repo_hashes = get_repo_hashes() + info(f"Generating '{HASHES_PATH}'...") + with open(HASHES_PATH, "w") as f: + f.write(json.dumps(repo_hashes, indent=4)) + f.write("\n") + info("Finished!") + + +if __name__ == "__main__": + main() diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix index 4cc7ad404be0..b8fbd70ecc46 100644 --- a/pkgs/misc/emulators/retroarch/wrapper.nix +++ b/pkgs/misc/emulators/retroarch/wrapper.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, makeWrapper, retroarch, cores }: +{ stdenv, lib, makeWrapper, retroarch, cores ? [ ] }: stdenv.mkDerivation { pname = "retroarch"; @@ -8,10 +8,10 @@ stdenv.mkDerivation { buildCommand = '' mkdir -p $out/lib - $(for coreDir in $cores + for coreDir in $cores do - $(ln -s $coreDir/* $out/lib/.) - done) + ln -s $coreDir/* $out/lib/. + done ln -s -t $out ${retroarch}/share diff --git a/pkgs/misc/emulators/ryujinx/default.nix b/pkgs/misc/emulators/ryujinx/default.nix index 43c98cbacac2..86716ed5d535 100644 --- a/pkgs/misc/emulators/ryujinx/default.nix +++ b/pkgs/misc/emulators/ryujinx/default.nix @@ -6,13 +6,13 @@ buildDotnetModule rec { pname = "ryujinx"; - version = "1.0.7101"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx + version = "1.0.7105"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx src = fetchFromGitHub { owner = "Ryujinx"; repo = "Ryujinx"; - rev = "911ea38e939459c652c6e27a28599340a61267dc"; - sha256 = "0znn5bcjhajs26y2ykizpya11ism27zlpbsrf12a25ak4vj6pzvx"; + rev = "b9d83cc97ee1cb8c60d9b01c162bab742567fe6e"; + sha256 = "0plchh8f9xhhza1wfw3ys78f0pa1bh3898fqhfhcc0kxb39px9is"; }; projectFile = "Ryujinx.sln"; diff --git a/pkgs/os-specific/linux/ddcci/default.nix b/pkgs/os-specific/linux/ddcci/default.nix index 27de98611006..086373f1ab5a 100644 --- a/pkgs/os-specific/linux/ddcci/default.nix +++ b/pkgs/os-specific/linux/ddcci/default.nix @@ -1,14 +1,17 @@ -{ lib, stdenv, fetchFromGitLab, kernel }: +{ lib, stdenv, fetchpatch, fetchFromGitLab, kernel }: stdenv.mkDerivation rec { pname = "ddcci-driver"; - version = "0.4.1"; + # XXX: We apply a patch for the upcoming version to the source of version 0.4.1 + # XXX: When 0.4.2 is actually released, don't forget to remove this comment, + # XXX: fix the rev in fetchFromGitLab, and remove the patch. + version = "0.4.2"; name = "${pname}-${kernel.version}-${version}"; src = fetchFromGitLab { owner = "${pname}-linux"; repo = "${pname}-linux"; - rev = "v${version}"; + rev = "v0.4.1"; sha256 = "1qhsm0ccwfmwn0r6sbc6ms4lf4a3iqfcgqmbs6afr6hhxkqll3fg"; }; @@ -25,6 +28,13 @@ stdenv.mkDerivation rec { --replace depmod \# ''; + patches = [ + (fetchpatch { + url = "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/commit/bf9d79852cbd0aa5c2e288ce51b8280f74a1f5d2.patch"; + sha256 = "sha256-ShqVzkoRnlX4Y5ARY11YVYatFI1K7bAtLulP3/8/nwg="; + }) + ]; + makeFlags = kernel.makeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "KVER=${kernel.modDirVersion}" @@ -38,6 +48,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ ]; platforms = platforms.linux; - broken = kernel.kernelOlder "5.1" || kernel.kernelAtLeast "5.15"; + broken = kernel.kernelOlder "5.1"; }; } diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 9c6e3a22122a..0b7fb6f50fe7 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -51,8 +51,8 @@ in { }; nextcloud22 = generic { - version = "22.2.2"; - sha256 = "sha256-lDvn29N19Lhm3P2YIVM/85vr/U07qR+M8TkF/D/GTfA="; + version = "22.2.3"; + sha256 = "sha256-ZqKaakkHOMCr7bZ3y2jHyR+rqz5kGaPJnYtAaJnrlCo="; }; # tip: get she sha with: # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256' diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix new file mode 100644 index 000000000000..3ff8ae3caa23 --- /dev/null +++ b/pkgs/tools/admin/aliyun-cli/default.nix @@ -0,0 +1,30 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "aliyun-cli"; + version = "3.0.94"; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "aliyun"; + repo = pname; + fetchSubmodules = true; + sha256 = "sha256:1l9rzdp9kxxicvp45pa7288zxa07xp7w6aj7d9k9xlzv8l96k6j3"; + }; + vendorSha256 = "sha256:0dklq78bqfidcda8pwd6qwaycah3gndmq9s90h1pqx1isw4frckk"; + + subPackages = ["aliyun-openapi-meta" "main"]; + + ldFlags = "-X 'github.com/aliyun/${pname}/cli.Version=${version}'"; + + postInstall = '' + mv $out/bin/main $out/bin/aliyun + ''; + + meta = with lib; { + description = "Tool to manage and use Alibaba Cloud resources through a command line interface."; + homepage = "https://github.com/aliyun/aliyun-cli"; + license = licenses.asl20; + maintainers = with maintainers; [ ornxka ]; + }; +} diff --git a/pkgs/tools/filesystems/kio-fuse/default.nix b/pkgs/tools/filesystems/kio-fuse/default.nix new file mode 100644 index 000000000000..a68165956eb3 --- /dev/null +++ b/pkgs/tools/filesystems/kio-fuse/default.nix @@ -0,0 +1,31 @@ +{ lib +, mkDerivation +, fetchgit +, cmake +, extra-cmake-modules +, kio +, fuse3 +}: + +mkDerivation rec { + pname = "kio-fuse"; + version = "5.0.1"; + + src = fetchgit { + url = "https://invent.kde.org/system/kio-fuse.git"; + sha256 = "sha256-LSFbFCaEPkQTk1Rg9xpueBOQpkbr/tgYxLD31F6i/qE="; + rev = "v${version}"; + }; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + + buildInputs = [ kio fuse3 ]; + + meta = with lib; { + description = "FUSE Interface for KIO"; + homepage = "https://invent.kde.org/system/kio-fuse"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ _1000teslas ]; + }; +} diff --git a/pkgs/tools/graphics/svgcleaner/Cargo.lock b/pkgs/tools/graphics/svgcleaner/Cargo.lock deleted file mode 100644 index 8daf4c4f83b5..000000000000 --- a/pkgs/tools/graphics/svgcleaner/Cargo.lock +++ /dev/null @@ -1,256 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "autocfg" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi", -] - -[[package]] -name = "clap" -version = "2.33.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" -dependencies = [ - "bitflags", - "textwrap", - "unicode-width", -] - -[[package]] -name = "error-chain" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3" - -[[package]] -name = "fern" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa" -dependencies = [ - "chrono", - "log", -] - -[[package]] -name = "float-cmp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be876712b52d3970d361df27210574630d8d44d6461f0b55745d56e88ac10b0" -dependencies = [ - "num", -] - -[[package]] -name = "libc" -version = "0.2.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6" - -[[package]] -name = "log" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "num" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e" -dependencies = [ - "num-integer", - "num-iter", - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" -dependencies = [ - "autocfg", -] - -[[package]] -name = "phf" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_shared" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0" -dependencies = [ - "siphasher", -] - -[[package]] -name = "simplecss" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135685097a85a64067df36e28a243e94a94f76d829087ce0be34eeb014260c0e" - -[[package]] -name = "siphasher" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" - -[[package]] -name = "svgcleaner" -version = "0.9.5" -dependencies = [ - "clap", - "error-chain", - "fern", - "log", - "svgdom", -] - -[[package]] -name = "svgdom" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac5d235d251b4266fb95bdf737fe0c546b26327a127e35ad33effdd78cb2e83" -dependencies = [ - "error-chain", - "float-cmp", - "log", - "simplecss", - "svgparser", -] - -[[package]] -name = "svgparser" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90b2a4d5f7d25526c750e436fb5a224e06579f32581515bf511b37210007a3cb" -dependencies = [ - "error-chain", - "log", - "phf", - "xmlparser", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi", - "winapi", -] - -[[package]] -name = "unicode-width" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "xmlparser" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4fb8cb7e78fcf5055e751eae348c81bba17b6c84c8ed9fc5f6cf60e3e15d4aa" -dependencies = [ - "error-chain", - "log", -] diff --git a/pkgs/tools/graphics/svgcleaner/default.nix b/pkgs/tools/graphics/svgcleaner/default.nix deleted file mode 100644 index 48902f322e2f..000000000000 --- a/pkgs/tools/graphics/svgcleaner/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, rustPlatform, fetchFromGitHub }: - -rustPlatform.buildRustPackage rec { - pname = "svgcleaner"; - version = "0.9.5"; - - src = fetchFromGitHub { - owner = "RazrFalcon"; - repo = "svgcleaner"; - rev = "v${version}"; - sha256 = "sha256-nc+lKL6CJZid0WidcBwILhn81VgmmFrutfKT5UffdHA="; - }; - - cargoLock.lockFile = ./Cargo.lock; - - postPatch = '' - cp ${./Cargo.lock} Cargo.lock; - ''; - - meta = with lib; { - description = "A tool for tidying and optimizing SVGs"; - homepage = "https://github.com/RazrFalcon/svgcleaner"; - changelog = "https://github.com/RazrFalcon/svgcleaner/blob/v${version}/CHANGELOG.md"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ mehandes ]; - }; -} diff --git a/pkgs/tools/misc/topicctl/default.nix b/pkgs/tools/misc/topicctl/default.nix index 9ecbbcba37af..0a51eda48570 100644 --- a/pkgs/tools/misc/topicctl/default.nix +++ b/pkgs/tools/misc/topicctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "topicctl"; - version = "1.1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "segmentio"; repo = "topicctl"; rev = "v${version}"; - sha256 = "sha256-LsMt2BHfO0I5N2C247fmoOgQ5EXMgk/3Kj/lI+vTRV0="; + sha256 = "sha256-bCTlKhYmMe89dYuLiZ58CPpYZiXSGqbddxugsZS5/Cs="; }; - vendorSha256 = "sha256-ur7qMm7l1CocQwX58fTL1PpdgIEJyRAzSlNJM1WTvM0="; + vendorSha256 = "sha256-1VRK8tmsbOuP5t5uJ1h+KPcS4K9D+y6UQKeUP2HPXrQ="; ldflags = [ "-X main.BuildVersion=${version}" diff --git a/pkgs/tools/networking/ookla-speedtest/default.nix b/pkgs/tools/networking/ookla-speedtest/default.nix index 200b488cf714..6f377a0a4bf7 100644 --- a/pkgs/tools/networking/ookla-speedtest/default.nix +++ b/pkgs/tools/networking/ookla-speedtest/default.nix @@ -2,16 +2,16 @@ let pname = "ookla-speedtest"; - version = "1.0.0"; + version = "1.1.0"; srcs = { x86_64-linux = fetchurl { url = "https://install.speedtest.net/app/cli/${pname}-${version}-x86_64-linux.tgz"; - sha256 = "sha256-X+ICjw1EJ+T0Ix2fnPcOZpG7iQpwY211Iy/k2XBjMWg="; + sha256 = "sha256-/NWN8G6uqokjchSnNcC3FU1qDsOjt4Jh2kCnZc5B9H8="; }; aarch64-linux = fetchurl { url = "https://install.speedtest.net/app/cli/${pname}-${version}-aarch64-linux.tgz"; - sha256 = "sha256-BzaE3DSQUIygGwTFhV4Ez9eX/tM/bqam7cJt+8b2qp4="; + sha256 = "sha256-kyOrChC3S8kn4ArO5IylFIstS/N3pXxBVx4ZWI600oU="; }; }; in diff --git a/pkgs/tools/security/gau/default.nix b/pkgs/tools/security/gau/default.nix index fec4e4e013b5..95d5f228c803 100644 --- a/pkgs/tools/security/gau/default.nix +++ b/pkgs/tools/security/gau/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "gau"; - version = "1.2.0"; + version = "2.0.6"; src = fetchFromGitHub { owner = "lc"; repo = pname; rev = "v${version}"; - sha256 = "sha256-hUIUDDP9NtMmJXj5GCD/ISUUcx5prKCVVFztff9txoU="; + sha256 = "sha256-d9Cfd2KD+ymGnzOjlVQkSm3XBamoJIUKQLnRZzSDBtk="; }; - vendorSha256 = "sha256-WMoFbqtBMcjTWX51mEMzpgDEAndCElldNqjG27yXd2w="; + vendorSha256 = "sha256-u5ketxHPwZN2mV0uTgwJbY+ImusGZ9GTTmFAGvdH5yA="; meta = with lib; { description = "Tool to fetch known URLs"; diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix index 7e4ce71ec547..6b22dd5fe5ce 100644 --- a/pkgs/tools/system/plan9port/default.nix +++ b/pkgs/tools/system/plan9port/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { pname = "plan9port"; - version = "0.pre+date=2021-10-19"; + version = "2021-10-19"; src = fetchFromGitHub { owner = "9fans"; @@ -101,6 +101,7 @@ stdenv.mkDerivation { kovirobi ]; platforms = platforms.unix; + broken = stdenv.isDarwin; }; } # TODO: investigate the mouse chording support patch diff --git a/pkgs/tools/text/tidy-viewer/default.nix b/pkgs/tools/text/tidy-viewer/default.nix index 29d243a65042..43b38d06b928 100644 --- a/pkgs/tools/text/tidy-viewer/default.nix +++ b/pkgs/tools/text/tidy-viewer/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "tidy-viewer"; - version = "1.4.2"; + version = "1.4.3"; src = fetchFromGitHub { owner = "alexhallam"; repo = "tv"; rev = version; - sha256 = "sha256-YXYz+SvL6YRwnZ7frmmx4NevNTh0rJcW7e4jSuX3TNs="; + sha256 = "sha256-onLu4XNe3sLfZ273Hq9IvgZEV9ir8oEXX7tQG75K2Hw="; }; - cargoSha256 = "sha256-KwnnoVacTMw7kHLQynv9557zUq8aFZfzBD+Zc9Q6XBs="; + cargoSha256 = "sha256-CYiRi6ny0wzTddpjdnnMHGqcWRM9wVjF34RmETgLH5A="; # this test parses command line arguments # error: Found argument '--test-threads' which wasn't expected, or isn't valid in this context diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 6fac1340ff04..a35a53b420e6 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -892,6 +892,7 @@ mapAliases ({ stanchion = throw "Stanchion was part of riak-cs which is not maintained anymore"; # added 2020-10-14 stumpwm-git = throw "stumpwm-git has been broken for a long time and lispPackages.stumpwm follows Quicklisp that is close to git version"; # added 2021-05-09 surf-webkit2 = surf; # added 2017-04-02 + svgcleaner = throw "svgcleaner has been removed."; # added 2021-11-17 swec = throw "swec has been removed; broken and abandoned upstream."; # added 2021-10-14 swfdec = throw "swfdec has been removed as broken and unmaintained."; # added 2020-08-23 swtpm-tpm2 = swtpm; # added 2021-02-26 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 99197cb90550..988e1154429d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -259,7 +259,9 @@ with pkgs; clj-kondo = callPackage ../development/tools/clj-kondo { }; - cloak = callPackage ../applications/misc/cloak { }; + cloak = callPackage ../applications/misc/cloak { + inherit (darwin.apple_sdk.frameworks) Security; + }; cmark = callPackage ../development/libraries/cmark { }; @@ -1044,6 +1046,8 @@ with pkgs; hyper = callPackage ../applications/terminal-emulators/hyper { }; + iqueue = callPackage ../development/libraries/iqueue {}; + iterm2 = callPackage ../applications/terminal-emulators/iterm2 {}; kitty = callPackage ../applications/terminal-emulators/kitty { @@ -1335,6 +1339,8 @@ with pkgs; avfs = callPackage ../tools/filesystems/avfs { }; + aliyun-cli = callPackage ../tools/admin/aliyun-cli { }; + aws-iam-authenticator = callPackage ../tools/security/aws-iam-authenticator {}; awscli = callPackage ../tools/admin/awscli { }; @@ -3220,6 +3226,10 @@ with pkgs; lite = callPackage ../applications/editors/lite { }; + lite-xl = callPackage ../applications/editors/lite-xl { + inherit (darwin.apple_sdk.frameworks) Foundation; + }; + loadwatch = callPackage ../tools/system/loadwatch { }; loccount = callPackage ../development/tools/misc/loccount { }; @@ -6739,6 +6749,8 @@ with pkgs; kibi = callPackage ../applications/editors/kibi { }; + kio-fuse = libsForQt5.callPackage ../tools/filesystems/kio-fuse { }; + kismet = callPackage ../applications/networking/sniffers/kismet { }; kiterunner = callPackage ../tools/security/kiterunner { }; @@ -7662,7 +7674,9 @@ with pkgs; metasploit = callPackage ../tools/security/metasploit { }; - mhost = callPackage ../applications/networking/mhost { }; + mhost = callPackage ../applications/networking/mhost { + inherit (darwin.apple_sdk.frameworks) Security; + }; ms-sys = callPackage ../tools/misc/ms-sys { }; @@ -9692,8 +9706,6 @@ with pkgs; svgbob = callPackage ../tools/graphics/svgbob { }; - svgcleaner = callPackage ../tools/graphics/svgcleaner { }; - ssb = callPackage ../tools/security/ssb { }; ssb-patchwork = callPackage ../applications/networking/ssb-patchwork { }; @@ -13910,7 +13922,8 @@ with pkgs; electron_12 electron_13 electron_14 - electron_15; + electron_15 + electron_16; autobuild = callPackage ../development/tools/misc/autobuild { }; @@ -27115,6 +27128,8 @@ with pkgs; mlt-qt5 = libsForQt514.mlt; }; + synology-drive = libsForQt5.callPackage ../applications/networking/synology-drive { }; + taxi = callPackage ../applications/networking/ftp/taxi { }; librep = callPackage ../development/libraries/librep { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b33949f62cca..a5fcb42fbd64 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2259,6 +2259,8 @@ in { dnspython = callPackage ../development/python-modules/dnspython { }; + dnspythonchia = callPackage ../development/python-modules/dnspythonchia { }; + doc8 = callPackage ../development/python-modules/doc8 { }; docker = callPackage ../development/python-modules/docker { }; @@ -5299,6 +5301,8 @@ in { onnx = callPackage ../development/python-modules/onnx { }; + oocsi = callPackage ../development/python-modules/oocsi { }; + open-garage = callPackage ../development/python-modules/open-garage { }; openant = callPackage ../development/python-modules/openant { }; @@ -6360,6 +6364,8 @@ in { pydy = callPackage ../development/python-modules/pydy { }; + pydyf = callPackage ../development/python-modules/pydyf { }; + pyechonest = callPackage ../development/python-modules/pyechonest { }; pyeclib = callPackage ../development/python-modules/pyeclib { };