Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-02-19 00:13:13 +00:00
committed by GitHub
137 changed files with 7073 additions and 3403 deletions

View File

@@ -81,9 +81,9 @@ let
, # `class`:
# A nominal type for modules. When set and non-null, this adds a check to
# make sure that only compatible modules are imported.
# This would be remove in the future, Prefer _module.args option instead.
class ? null
, args ? {}
, # This would be remove in the future, Prefer _module.args option instead.
args ? {}
, # This would be remove in the future, Prefer _module.check option instead.
check ? true
}:

View File

@@ -14920,6 +14920,12 @@
fingerprint = "3AC6 F170 F011 33CE 393B CD94 BE94 8AFD 7E78 73BE";
}];
};
phijor = {
name = "Philipp Joram";
email = "nixpkgs@phijor.me";
github = "phijor";
githubId = 10487782;
};
philandstuff = {
email = "philip.g.potter@gmail.com";
github = "philandstuff";

View File

@@ -39,7 +39,7 @@ let
hydra-package =
let
makeWrapperArgs = concatStringsSep " " (mapAttrsToList (key: value: "--set \"${key}\" \"${value}\"") hydraEnv);
makeWrapperArgs = concatStringsSep " " (mapAttrsToList (key: value: "--set-default \"${key}\" \"${value}\"") hydraEnv);
in pkgs.buildEnv rec {
name = "hydra-env";
nativeBuildInputs = [ pkgs.makeWrapper ];

View File

@@ -7,6 +7,9 @@ let
cfg = config.services.mysql;
isMariaDB = lib.getName cfg.package == lib.getName pkgs.mariadb;
isOracle = lib.getName cfg.package == lib.getName pkgs.mysql80;
# Oracle MySQL has supported "notify" service type since 8.0
hasNotify = isMariaDB || (isOracle && versionAtLeast cfg.package.version "8.0");
mysqldOptions =
"--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${cfg.package}";
@@ -377,19 +380,11 @@ in
# The super user account to use on *first* run of MySQL server
superUser = if isMariaDB then cfg.user else "root";
in ''
${optionalString (!isMariaDB) ''
${optionalString (!hasNotify) ''
# Wait until the MySQL server is available for use
count=0
while [ ! -e /run/mysqld/mysqld.sock ]
do
if [ $count -eq 30 ]
then
echo "Tried 30 times, giving up..."
exit 1
fi
echo "MySQL daemon not yet started. Waiting for 1 second..."
count=$((count++))
sleep 1
done
''}
@@ -477,7 +472,7 @@ in
serviceConfig = mkMerge [
{
Type = if isMariaDB then "notify" else "simple";
Type = if hasNotify then "notify" else "simple";
Restart = "on-abort";
RestartSec = "5s";

View File

@@ -74,7 +74,7 @@ in
description = lib.mdDoc "";
};
options.message-level = mkOption {
type = types.ints.between 0 3;
type = types.ints.between 0 6;
default = 2;
description = lib.mdDoc "Set verbosity of transmission messages.";
};

View File

@@ -218,6 +218,9 @@ let
services.dnsmasq.enable = true;
};
exporterTest = ''
wait_for_unit("dnsmasq.service")
wait_for_open_port(53)
wait_for_file("/var/lib/dnsmasq/dnsmasq.leases")
wait_for_unit("prometheus-dnsmasq-exporter.service")
wait_for_open_port(9153)
succeed("curl -sSf http://localhost:9153/metrics | grep 'dnsmasq_leases 0'")

File diff suppressed because it is too large Load Diff

View File

@@ -1,59 +1,61 @@
{ lib, fetchFromGitHub, rustPlatform, gtk4, pkg-config, openssl, dbus, wrapGAppsHook4, glib, makeDesktopItem, copyDesktopItems }:
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, wrapGAppsHook4
, openssl
, dbus
}:
rustPlatform.buildRustPackage rec {
pname = "waylyrics";
version = "unstable-2023-05-14";
version = "0.2.4";
src = fetchFromGitHub {
owner = "poly000";
repo = pname;
rev = "7e8bd99e1748a5448c1a5c49f0664bd96fbf965e";
hash = "sha256-vSYtLsLvRHCCHxomPSHifXFZKjkFrlskNp7IlFflrUU=";
repo = "waylyrics";
rev = "v${version}";
hash = "sha256-Tpsk1KL+QSiv8aWl8N5hextKnhMulI3YWtQvB6IIdmQ=";
};
cargoHash = "sha256-dpJa0T6xapCBPM5fWbSDEhBlZ55c3Sr5oTnu58B/voM=";
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"ncmapi-0.1.13" = "sha256-wh9RsyuS1L7rnz1jh2A27s6wUvyH8cNgUywPORIimmg=";
"qqmusic-rs-0.1.0" = "sha256-woLsO0n+m3EBUI+PRLio7iLp0UPQSliWK0djCSZEaZc=";
};
};
nativeBuildInputs = [ pkg-config wrapGAppsHook4 copyDesktopItems ];
buildInputs = [ gtk4 openssl dbus glib ];
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
'';
RUSTC_BOOTSTRAP = 1;
nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
buildInputs = [ openssl dbus ];
doCheck = false; # No tests defined in the project.
doCheck = false; # Requires network access
WAYLYRICS_DEFAULT_CONFIG = "${placeholder "out"}/share/waylyrics/config.toml";
WAYLYRICS_THEME_PRESETS_DIR = "${placeholder "out"}/share/waylyrics/themes";
desktopItems = [
(makeDesktopItem {
name = "io.poly000.waylyrics";
exec = "waylyrics";
comment = "Simple on screen lyrics for MPRIS-friendly players";
type = "Application";
icon = "io.poly000.waylyrics";
desktopName = "Waylyrics";
terminal = false;
categories = [ "Audio" "AudioVideo" ];
})
];
postInstall = ''
$out/bin/gen_config_example
mkdir -p $out/share/waylyrics
install -Dm644 config.toml $WAYLYRICS_DEFAULT_CONFIG
cp -vr themes $out/share/waylyrics/
rm $out/bin/gen_config_example # Unnecessary for end users
# Install themes
install -d $WAYLYRICS_THEME_PRESETS_DIR
cp -vr themes/* $WAYLYRICS_THEME_PRESETS_DIR
# Install desktop entry
install -Dm644 io.poly000.waylyrics.desktop -t $out/share/applications
# Install schema
install -Dm644 io.poly000.waylyrics.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas
glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
# Install icons
cp -vr res/icons $out/share/
install -d $out/share/icons
cp -vr res/icons/hicolor $out/share/icons/hicolor
'';
meta = with lib; {
description = "On screen lyrics for Wayland with NetEase Music source";
description = "Desktop lyrics with QQ and NetEase Music source";
homepage = "https://github.com/poly000/waylyrics";
license = licenses.mit;
maintainers = [ maintainers.shadowrz ];
license = with licenses; [ mit cc-by-40 ];
maintainers = with maintainers; [ shadowrz aleksana ];
platforms = platforms.linux;
};
}

View File

@@ -15,6 +15,7 @@
, protobuf
, qrencode
, libevent
, libnatpmp
, sqlite
, withGui
, python3
@@ -24,13 +25,13 @@
mkDerivation rec {
pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
version = "0.26.2";
version = "0.28.9";
src = fetchFromGitHub {
owner = "bitcoin-ABC";
repo = "bitcoin-abc";
rev = "v${version}";
sha256 = "0gz4713lk3alk3ykwq1bdqjywadrfrnb7n2878136g01n87j00az";
hash = "sha256-VK9/qL3rFdU7O62FwEdr3WD4VWli8KGZH9hcbTaVHGQ=";
};
nativeBuildInputs = [ pkg-config cmake ];
@@ -41,6 +42,7 @@ mkDerivation rec {
zlib
python3
jemalloc
libnatpmp
zeromq4
miniupnpc
util-linux

View File

@@ -787,18 +787,36 @@ let
};
charliermarsh.ruff = buildVscodeMarketplaceExtension {
mktplcRef = {
mktplcRef = let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
sha256 = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
sha256 = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw=";
};
"aarch64-linux" = {
arch = "linux-arm64";
sha256 = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
sha256 = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc=";
};
};
in {
name = "ruff";
publisher = "charliermarsh";
version = "2023.60.0";
sha256 = "sha256-qgwud2gzHLHID45VxDlngFMoks5O3pTHQe+Q7bdf8+I=";
};
version = "2024.4.0";
} // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}");
meta = {
license = lib.licenses.mit;
changelog = "https://github.com/astral-sh/ruff-vscode/releases";
description = "Ruff extension for Visual Studio Code";
changelog = "https://marketplace.visualstudio.com/items/charliermarsh.ruff/changelog";
description = "A Visual Studio Code extension with support for the Ruff linter.";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff";
homepage = "https://github.com/astral-sh/ruff-vscode/";
homepage = "https://github.com/astral-sh/ruff-vscode";
maintainers = [ lib.maintainers.azd325 ];
};
};
@@ -2288,6 +2306,16 @@ let
};
};
karunamurti.haml = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "haml";
publisher = "karunamurti";
version = "1.4.1";
sha256 = "123cwfajakkg2pr0z4v289fzzlhwbxx9dvb5bjc32l3pzvbhq4gv";
};
meta.license = lib.licenses.mit;
};
kddejong.vscode-cfn-lint =
let
inherit (python3Packages) cfn-lint pydot;

View File

@@ -1,5 +1,5 @@
diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh
index 9c1dacab..d1f895ee 100755
index 9122cd8..50ed8f9 100755
--- a/src/scmversion/gen_scmversion.sh
+++ b/src/scmversion/gen_scmversion.sh
@@ -10,10 +10,10 @@ else
@@ -8,7 +8,7 @@ index 9c1dacab..d1f895ee 100755
-HASH=$(git rev-parse HEAD)
-BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n')
-TAG=$(git describe --tags --dirty --exclude latest --exclude preview --exclude legacy --exclude previous-latest | tr -d '\r\n')
-TAG=$(git describe --dirty | tr -d '\r\n')
-DATE=$(git log -1 --date=iso8601-strict --format=%cd)
+HASH="@gitHash@"
+BRANCH="@gitBranch@"

View File

@@ -9,7 +9,7 @@
, extra-cmake-modules
, libXrandr
, libbacktrace
, makeDesktopItem
, makeWrapper
, ninja
, pkg-config
, qtbase
@@ -20,18 +20,17 @@
, vulkan-loader
, wayland
, wrapQtAppsHook
, enableWayland ? true
}:
stdenv.mkDerivation (finalAttrs: {
pname = "duckstation";
version = "unstable-2023-09-30";
version = "0.1-6292";
src = fetchFromGitHub {
owner = "stenzek";
repo = "duckstation";
rev = "d5608bf12df7a7e03750cb94a08a3d7999034ae2";
hash = "sha256-ktfZgacjkN6GQb1vLmyTZMr8QmmH12qAvFSIBTjgRSs=";
rev = "0bc42c38aab49030118f507c9783de047769148b";
hash = "sha256-8OavixSwEWihFY2fEdsepR1lqWlTH+//xZRKwb7lFCQ=";
};
patches = [
@@ -42,21 +41,19 @@ stdenv.mkDerivation (finalAttrs: {
src = ./002-hardcode-vars.diff;
gitHash = finalAttrs.src.rev;
gitBranch = "master";
gitTag = "0.1-5889-gd5608bf1";
gitDate = "2023-09-30T23:20:09+10:00";
gitTag = "${finalAttrs.version}-g0bc42c38";
gitDate = "2024-02-06T22:47:47+09:00";
})
];
nativeBuildInputs = [
cmake
copyDesktopItems
extra-cmake-modules
ninja
pkg-config
qttools
wrapQtAppsHook
]
++ lib.optionals enableWayland [
extra-cmake-modules
];
buildInputs = [
@@ -66,9 +63,6 @@ stdenv.mkDerivation (finalAttrs: {
libbacktrace
qtbase
qtsvg
vulkan-loader
]
++ lib.optionals enableWayland [
qtwayland
wayland
]
@@ -78,21 +72,6 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "BUILD_TESTS" true)
(lib.cmakeBool "ENABLE_WAYLAND" enableWayland)
];
desktopItems = [
(makeDesktopItem {
name = "duckstation-qt";
desktopName = "DuckStation";
genericName = "PlayStation 1 Emulator";
icon = "duckstation";
tryExec = "duckstation-qt";
exec = "duckstation-qt %f";
comment = "Fast PlayStation 1 emulator";
categories = [ "Game" "Emulator" "Qt" ];
type = "Application";
})
];
doCheck = true;
@@ -110,14 +89,28 @@ stdenv.mkDerivation (finalAttrs: {
cp -r bin $out/share/duckstation
ln -s $out/share/duckstation/duckstation-qt $out/bin/
install -Dm644 bin/resources/images/duck.png $out/share/pixmaps/duckstation.png
install -Dm644 $src/scripts/org.duckstation.DuckStation.desktop $out/share/applications/org.duckstation.DuckStation.desktop
install -Dm644 $src/scripts/org.duckstation.DuckStation.png $out/share/pixmaps/org.duckstation.DuckStation.png
runHook postInstall
'';
qtWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ vulkan-loader ] ++ cubeb.passthru.backendLibs)}"
];
qtWrapperArgs =
let
libPath = lib.makeLibraryPath ([
vulkan-loader
] ++ cubeb.passthru.backendLibs);
in [
"--prefix LD_LIBRARY_PATH : ${libPath}"
];
# https://github.com/stenzek/duckstation/blob/master/scripts/appimage/apprun-hooks/default-to-x11.sh
# Can't avoid the double wrapping, the binary wrapper from qtWrapperArgs doesn't support --run
postFixup = ''
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/duckstation-qt \
--run 'if [[ -z $I_WANT_A_BROKEN_WAYLAND_UI ]]; then export QT_QPA_PLATFORM=xcb; fi'
'';
meta = {
homepage = "https://github.com/stenzek/duckstation";

View File

@@ -56,12 +56,12 @@
}:
stdenv.mkDerivation rec {
version = "4.6.0";
version = "4.6.1";
pname = "darktable";
src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "sha256-cksn4yBNGCLebcU+oJCmsc5V98MiJtNGQmiXdcaKrMI=";
sha256 = "sha256-Fu3AoHApPi082k6hDkm9qb3pMuI/nmLi+i56x0rPev0=";
};
nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];

View File

@@ -13,19 +13,19 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "22.1.18";
version = "23.1.5";
src = fetchFromGitHub {
owner = "jgraph";
repo = "drawio-desktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-qOZm7XbF8QOx5rD5EJY0lJhaq2Yhp/nppOA4BIWheyE=";
hash = "sha256-ThmTahuU0o/vr6h/T/zCyEB5/APJlVA6t1TNfZgqTJ0=";
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-TwI3NCIn5NnKXuwW5dBl4q6Ma5rZR7NVNb5hoKbmNLM=";
hash = "sha256-hL89WVYy/EQe6Zppmr17Q9T2o/UjBvydDIgGpr7AA5M=";
};
nativeBuildInputs = [
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
sed -i "/afterSign/d" electron-builder-linux-mac.json
'' + ''
yarn --offline run electron-builder --dir \
--config electron-builder-linux-mac.json \
${if stdenv.isDarwin then "--config electron-builder-linux-mac.json" else ""} \
-c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \
-c.electronVersion=${electron.version}

View File

@@ -2,7 +2,6 @@
, stdenv
, cmake
, fetchurl
, fetchpatch
, gnumake
, makeWrapper
, pkg-config
@@ -38,21 +37,13 @@
stdenv.mkDerivation rec {
pname = "hugin";
version = "2022.0.0";
version = "2023.0.0";
src = fetchurl {
url = "mirror://sourceforge/hugin/hugin-${version}.tar.bz2";
hash = "sha256-l8hWKgupp0PguVWkPf3gSLHGDNnl8u4rad4agWRuBac=";
hash = "sha256-BKOfzMYBfgVExjm9IjCUcsV001s0Vcut4fw4cOYxYys=";
};
patches = [
(fetchpatch {
name = "hugin-2022.0.0-exiv2-0.28.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/hugin/files/hugin-2022.0.0-exiv2-0.28.patch?id=d18335caa756f5e5c1478d5fe3ba17f011a78c80";
hash = "sha256-Y+79bFb926GW5oLOL0e5y7kLhqU/vZcry+kLL4H2fUE=";
})
];
buildInputs = [
boost
cairo

View File

@@ -19,7 +19,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "komikku";
version = "1.37.1";
version = "1.38.1";
format = "other";
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "valos";
repo = "Komikku";
rev = "v${version}";
hash = "sha256-pGOut63+ST1Yqe1Fj0c4cI0du1q4JW7WVA4h+muWGJQ=";
hash = "sha256-eVNW8Iuhee9WBbiXP7ijvd0K44/IpwdrdiT4RkBNcxI=";
};
nativeBuildInputs = [

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "cotp";
version = "1.4.1";
version = "1.4.4";
src = fetchFromGitHub {
owner = "replydev";
repo = "cotp";
rev = "v${version}";
hash = "sha256-NGasyAhODvV/tYifhlkfZ3cEIBDD/3PaASCDbBK3JsI=";
hash = "sha256-S2658xkaDshQBYfy8mwuuBAKWGF4j+UYtapqPEf1wP4=";
};
cargoHash = "sha256-5olA78kYjeqFMy8ObRkcPOnYjqaTZqVCefmNkTi3VYs=";
cargoHash = "sha256-DGx/LsKzoITA4extStjULiuiHJx0sTlPloE8h8MvnXQ=";
buildInputs = lib.optionals stdenv.isLinux [ libxcb ]
++ lib.optionals stdenv.isDarwin [ AppKit ];

View File

@@ -2,13 +2,13 @@
buildPythonApplication rec {
pname = "gallery-dl";
version = "1.26.7";
version = "1.26.8";
format = "setuptools";
src = fetchPypi {
inherit version;
pname = "gallery_dl";
sha256 = "sha256-+aoXcxJVBp9nXKS+3+CG7XkDMemSgvExMXtnR2FDhYs=";
sha256 = "sha256-tfNmKgWKr2TGQNgvC/qo2+Dvij4LUL0Zy77mfTcci2k=";
};
propagatedBuildInputs = [

View File

@@ -1,12 +1,13 @@
{ fetchFromGitHub
{ lib
, fetchFromGitHub
, python3Packages
, gobject-introspection
, lib
, libadwaita
, python3
, wrapGAppsHook
, lmmath
}:
python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "plots";
version = "0.8.5";
@@ -17,36 +18,21 @@ python3.pkgs.buildPythonApplication rec {
hash = "sha256-GjNpaorxkkhZsqrKq4kO5nqF5+4I4tmSc023AZpY8Sw=";
};
nativeBuildInputs = [
gobject-introspection
wrapGAppsHook
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
buildInputs = [ libadwaita ];
propagatedBuildInputs = with python3Packages; [
pygobject3
numpy
lark
jinja2
freetype-py
pyopengl
pycairo
pyglm
];
propagatedBuildInputs = [
libadwaita
(python3.withPackages (p: with p; [
numpy
pygobject3
lark
jinja2
freetype-py
pyopengl
pycairo
pyglm
]))
];
nativeCheckInputs = [
(python3.withPackages (p: with p; [
pytest
]))
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
nativeCheckInputs = with python3Packages; [ pytest ];
postInstall = ''
install -D ${lmmath}/share/fonts/opentype/latinmodern-math.otf -t $out/share/fonts/
@@ -62,6 +48,12 @@ python3.pkgs.buildPythonApplication rec {
done
'';
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = with lib; {
description = "Graph plotting app for GNOME";
longDescription = ''

View File

@@ -14,13 +14,13 @@
# instead of adding this to `services.udev.packages` on NixOS,
python3Packages.buildPythonApplication rec {
pname = "solaar";
version = "1.1.10";
version = "1.1.11";
src = fetchFromGitHub {
owner = "pwr-Solaar";
repo = "Solaar";
rev = "refs/tags/${version}";
hash = "sha256-cs1kj/spZtMUL9aUtBHINAH7uyjMSn9jRDF/hRPzIbo=";
hash = "sha256-fVWfV7rEu/knysWUrPeokBBlSGnvNlpiptAd1M7ZVd8=";
};
outputs = [ "out" "udev" ];

View File

@@ -1,8 +1,8 @@
{
k3sVersion = "1.28.6+k3s1";
k3sCommit = "39a0001575780fffa6aae0271f4cb4ce7413aac8";
k3sRepoSha256 = "1bhbpbgs02gh5y7pgn6vmanacrz3p0b2gq3w2kqpb11bijp2alld";
k3sVendorHash = "sha256-Mo+gZ+NOZqd3CP/Z02LfO4dHyEuRhabZVAU60GofOMo=";
k3sVersion = "1.28.6+k3s2";
k3sCommit = "c9f49a3b06cd7ebe793f8cc1dcd0293168e743d9";
k3sRepoSha256 = "0vz5976q58v9x6g1qz6kz3xksgf8gm1f727ccckmpbyxbhw75zsa";
k3sVendorHash = "sha256-HG4x3N/F5qCFpLxGrUWPkBHHqY7WBRDWN7DNyAcJwyI=";
chartVersions = import ./chart-versions.nix;
k3sRootVersion = "0.12.2";
k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";

View File

@@ -1,8 +1,8 @@
{
k3sVersion = "1.29.0+k3s1";
k3sCommit = "3190a5faa28d7a0d428c756d67adcab7eb11e6a5";
k3sRepoSha256 = "1g75a7kz9nnv0vagzhggkw0zqigykimdwsmibgssa8vyjpg7idda";
k3sVendorHash = "sha256-iHmPVjYR/ZLH9UZ5yNEApyuGQsEwtxVbQw7Pu7WrpaQ=";
k3sVersion = "1.29.1+k3s2";
k3sCommit = "57482a1c1bb9c67b5f893418a114edca1004258e";
k3sRepoSha256 = "0pvab3dd6dzgk1zgra4jmdwba5b8xssfjr3mihwq1h0c5bxf1cza";
k3sVendorHash = "sha256-EkRbdUoYpK7M+Wbc2Cf37bOwdwPB6/xLxULO7Bkpt5c=";
chartVersions = import ./chart-versions.nix;
k3sRootVersion = "0.12.2";
k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";

View File

@@ -30,6 +30,7 @@ lib:
# It is likely we will have to split out additional builders for additional
# versions in the future, or customize this one further.
{ lib
, fetchpatch
, makeWrapper
, socat
, iptables
@@ -184,6 +185,16 @@ let
src = k3sRepo;
vendorHash = k3sVendorHash;
patches =
# Disable: Add runtime checking of golang version
lib.optional (lib.versionAtLeast k3sVersion "1.28")
(fetchpatch {
# https://github.com/k3s-io/k3s/pull/9054
url = "https://github.com/k3s-io/k3s/commit/b297996b9252b02e56e9425f55f6becbf6bb7832.patch";
hash = "sha256-xBOY2jnLhT9dtVKtq26V9QUnuX1q6E/9UcO9IaU719U=";
revert = true;
});
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libseccomp sqlite.dev ];

View File

@@ -7,7 +7,10 @@
, which
, libvirt
, vmnet
, withQemu ? false
, qemu
, makeWrapper
, OVMF
}:
buildGoModule rec {
@@ -24,6 +27,22 @@ buildGoModule rec {
rev = "v${version}";
sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU=";
};
postPatch =
(
lib.optionalString (withQemu && stdenv.isDarwin) ''
substituteInPlace \
pkg/minikube/registry/drvs/qemu2/qemu2.go \
--replace "/usr/local/opt/qemu/share/qemu" "${qemu}/share/qemu" \
--replace "/opt/homebrew/opt/qemu/share/qemu" "${qemu}/share/qemu"
''
) + (
lib.optionalString (withQemu && stdenv.isLinux) ''
substituteInPlace \
pkg/minikube/registry/drvs/qemu2/qemu2.go \
--replace "/usr/share/OVMF/OVMF_CODE.fd" "${OVMF.firmware}" \
--replace "/usr/share/AAVMF/AAVMF_CODE.fd" "${OVMF.firmware}"
''
);
nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];

View File

@@ -57,9 +57,9 @@ rec {
nomad_1_5 = generic {
buildGoModule = buildGo121Module;
version = "1.5.13";
sha256 = "sha256-SFPjcr3W6Sj1n+1ooi1HDMQEapgGapVy4HtqxSIVi9U=";
vendorHash = "sha256-F9lzO3jMVbDq8sA4rBo81vmIoOhK2N8d4HXX58HOw18=";
version = "1.5.15";
sha256 = "sha256-OFmGOU+ObA0+BS48y0ZyyxR+VI5DYL39peVKcyVHgGI=";
vendorHash = "sha256-Ds94lB43cyMNyRJZti0mZDWGTtSdwY31dDijfAUxR0I=";
license = lib.licenses.mpl20;
passthru.tests.nomad = nixosTests.nomad;
preCheck = ''
@@ -69,9 +69,9 @@ rec {
nomad_1_6 = generic {
buildGoModule = buildGo121Module;
version = "1.6.6";
sha256 = "sha256-E7HLBABOtDO/BUc2+4mD4yJ/sfy85gy67ZylRTZI3Cg=";
vendorHash = "sha256-6jq00RsukuP8OSkXhqYqQxpXtp/jm/GChEwEJTVyO10=";
version = "1.6.8";
sha256 = "sha256-lc/HZgyzqWZNW2WHOFZ43gCeL5Y2hwK4lXPgWGboPOY=";
vendorHash = "sha256-ecLhq4OHDhA1Bd/97NMpfePqtuCtVje3BdvCzcwWzas=";
license = lib.licenses.mpl20;
passthru.tests.nomad = nixosTests.nomad;
preCheck = ''

View File

@@ -3,16 +3,16 @@
buildGoModule rec {
pname = "discordo";
version = "unstable-2024-01-25";
version = "unstable-2024-02-16";
src = fetchFromGitHub {
owner = "ayn2op";
repo = pname;
rev = "301b7c7a792b427595803679e37fe99007de9451";
hash = "sha256-ufAlwlH++g9L3aaA5soJ6r2oiJZi8Ny/6P530oV+BiY=";
rev = "7476d8b391f23fa576f8f34eef3829c6212c6331";
hash = "sha256-x1/CXHqfiT0HgIPsiRluifPOJUrulN+fih0aOrj3us0=";
};
vendorHash = "sha256-fy3FI1K57hLAgbw3WfmVNZT9ywCSXwRKSq+ATjG+Qpo=";
vendorHash = "sha256-PW0PPMlNB5aa81tsYWUk9mWfSyafI5A0OxqJTCe0OdI=";
CGO_ENABLED = 0;

View File

@@ -14,7 +14,7 @@
, gtkmm4
, libsecret
, fetchFromGitLab
, makeWrapper
, wrapGAppsHook4
, xdg-utils
, youtube-dl
, ffmpeg
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cmake
pkg-config
makeWrapper
wrapGAppsHook4
];
buildInputs = [
@@ -56,10 +56,10 @@ stdenv.mkDerivation rec {
gst-plugins-bad
]);
postFixup = ''
wrapProgram "$out/bin/headlines" \
--prefix PATH : "${lib.makeBinPath [ xdg-utils youtube-dl ffmpeg ]}" \
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ xdg-utils youtube-dl ffmpeg ]}"
)
'';
meta = with lib; {

View File

@@ -11,11 +11,11 @@
}:
let
pname = "beeper";
version = "3.95.26";
version = "3.96.30";
name = "${pname}-${version}";
src = fetchurl {
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.95.26-build-240213e5u8pwxjw-x86_64.AppImage";
hash = "sha256-1jlaY5rkw/dgOboj3iUPEkCVouUTXsbPS9E9xuJn9oU=";
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.96.30-build-240217e2y4xz3z3-x86_64.AppImage";
hash = "sha256-j/ACMLHircmt5yKhQIeZnVaJBDBcB2YYA+XOjcdMjxc=";
};
appimage = appimageTools.wrapType2 {
inherit version pname src;

View File

@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
description = "Free, easy, personal accounting for everyone";
homepage = "https://www.gethomebank.org";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ pSub ];
maintainers = with maintainers; [ pSub frlan ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@@ -52,13 +52,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sdrangel";
version = "7.17.3";
version = "7.18.0";
src = fetchFromGitHub {
owner = "f4exb";
repo = "sdrangel";
rev = "v${finalAttrs.version}";
hash = "sha256-NjahPDHM6qbBXTpDSe8HQPslMO0yTd6/0piNzrFNerM=";
hash = "sha256-5+OUOqQb0ekeAVCOr+MftttqTwcDeiV44Oni6i3rO0w=";
};
nativeBuildInputs = [

View File

@@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "qucs-s";
version = "2.1.0";
version = "24.1.0";
src = fetchFromGitHub {
owner = "ra3xdh";
repo = "qucs_s";
rev = version;
sha256 = "sha256-C7TLOuC0CHredDiWFIAFmOlV8ivX0j4bs3b8IB8FsqE=";
sha256 = "sha256-ei9CPlJg+Kfjh7vu5VnT6DNLmmnA8wZ2A1jXnm//Fgo=";
};
nativeBuildInputs = [ flex bison wrapQtAppsHook cmake ];

View File

@@ -70,11 +70,11 @@ in
mkDerivation rec {
pname = "recoll";
version = "1.37.2";
version = "1.37.4";
src = fetchurl {
url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
hash = "sha256-xLdk3pJSV1YaloSV3TuTdJhujXsxUGrDru+mu86YBTU=";
hash = "sha256-MQnXamW7L4hyMbZDmU7XAcLv5roHcfhFGzni8YbDtq0=";
};
configureFlags = [

View File

@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gh";
version = "2.44.0";
version = "2.44.1";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
hash = "sha256-5UESwrEDQpwQSGCKE6WjAGAQvJXACxIt2lw3fZvhAb4=";
hash = "sha256-ZcJY9XNkp1Glo0sQ0O9iadsvW4eterkogjlJmQeP+M4=";
};
vendorHash = "sha256-r1zcwBz/mJOv1RU4Ilgg73yH37xu7a/BmqgAkiODq0I=";

View File

@@ -37,6 +37,10 @@ rustPlatform.buildRustPackage rec {
libiconv
];
postInstall = ''
$out/bin/git-branchless install-man-pages $out/share/man
'';
preCheck = ''
export TEST_GIT=${git}/bin/git
export TEST_GIT_EXEC_PATH=$(${git}/bin/git --exec-path)

View File

@@ -5,13 +5,13 @@
buildGoModule rec {
pname = "open-in-mpv";
version = "2.1.0-unstable-2023-05-13";
version = "2.2.0";
src = fetchFromGitHub {
owner = "Baldomo";
repo = "open-in-mpv";
rev = "07fc639b2882a9a68e539f0fc34b61e247c355fa";
hash = "sha256-XkoXvSh5uu96isXc1at36mxSCPylHgMLN97qSpj2cyc=";
rev = "v${version}";
hash = "sha256-+sP8/wILBkT3NnhENDYZbOwqOufkFyMJFpQxquuUBEs=";
};
vendorHash = "sha256-G6GZO2+CfEAYcf7zBcqDa808A0eJjM8dq7+4VGZ+P4c=";

View File

@@ -13,6 +13,7 @@
, glm
, gbenchmark
, libcap
, libavif
, SDL2
, pipewire
, pixman
@@ -26,6 +27,7 @@
, libdisplay-info
, lib
, makeBinaryWrapper
, nix-update-script
, enableExecutable ? true
, enableWsi ? true
}:
@@ -39,14 +41,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gamescope";
version = "3.13.19";
version = "3.14.1";
src = fetchFromGitHub {
owner = "ValveSoftware";
repo = "gamescope";
rev = "refs/tags/${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-WKQgVbuHvTbZnvTU5imV35AKZ4AF0EDsdESBZwVH7+M=";
hash = "sha256-lJt6JVolorQdrhumkW9yjyItxqpw6ZtEUbkjNqzHfb8=";
};
patches = [
@@ -108,6 +110,7 @@ stdenv.mkDerivation (finalAttrs: {
xorg.libXres
xorg.libXtst
xorg.libXxf86vm
libavif
libdrm
libliftoff
SDL2
@@ -131,6 +134,8 @@ stdenv.mkDerivation (finalAttrs: {
cp -r ${joshShaders}/* $out/share/gamescope/reshade/
'';
passthru.updateScript = nix-update-script {};
meta = with lib; {
description = "SteamOS session compositing window manager";
homepage = "https://github.com/ValveSoftware/gamescope";

View File

@@ -5,17 +5,17 @@
python3.pkgs.buildPythonApplication rec {
pname = "ad-miner";
version = "1.0.0";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Mazars-Tech";
repo = "AD_Miner";
rev = "refs/tags/v${version}";
hash = "sha256-HM7PR1i7/L3MuUaTBPcDblflCH40NmEYSCTJUB06Fjg=";
hash = "sha256-eAcnGS0HLrTqc/WVKNNwYA89GK233QZj4Gfggt4S8R8=";
};
# ALl requirements are pinned
# All requirements are pinned
pythonRelaxDeps = true;
nativeBuildInputs = with python3.pkgs; [
@@ -40,7 +40,7 @@ python3.pkgs.buildPythonApplication rec {
meta = with lib; {
description = "Active Directory audit tool that leverages cypher queries to crunch data from Bloodhound";
homepage = "https://github.com/Mazars-Tech/AD_Miner";
changelog = "https://github.com/Mazars-Tech/AD_Miner/blob/${version}/CHANGELOG.md";
changelog = "https://github.com/Mazars-Tech/AD_Miner/blob/v${version}/CHANGELOG.md";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
mainProgram = "AD-miner";

View File

@@ -13,10 +13,10 @@ let
}.${system} or throwSystem;
hash = {
x86_64-linux = "sha256-nyw52kjBC4NCnb/WLkeozjH8A7kL+oRY7ayvGM70I9c=";
aarch64-linux = "sha256-GmTAdiOctV2rNwlospYtQmNbspDvdXlV6j/Q5v+GD/k=";
x86_64-darwin = "sha256-YMUztQRdjIqpFQqnK9gfZhMSKUAJlKWvcYH3Xns26hQ=";
aarch64-darwin = "sha256-cV/ZjmX9DfYyBdrVpbBZxAHfW70FVg+8R0Pxji38lRg=";
x86_64-linux = "sha256-lMlJezLLyN3OMtom/opbihUsrkCuWDGXB8j+o53JMBE=";
aarch64-linux = "sha256-Ccej0Amq/Yo2F2C21rC0E9rzwE4grvyP+q+QajEg1MA=";
x86_64-darwin = "sha256-DFGiYI1hc0GN+A63OWdcCHnwkDQKZ+fhrNozWtlebJs=";
aarch64-darwin = "sha256-iuGmmaCc0YbLUO6G8Uyy/DvNgmfV+TzU4j0VPyACQb4=";
}.${system} or throwSystem;
bin = "$out/bin/codeium_language_server";
@@ -24,7 +24,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "codeium";
version = "1.6.36";
version = "1.6.38";
src = fetchurl {
name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";

View File

@@ -0,0 +1,44 @@
{ lib, python3, fetchFromGitHub }:
python3.pkgs.buildPythonApplication {
pname = "coffeegrindsize";
# no tags in the repo
version = "0-unstable-2021-04-20";
format = "other";
src = fetchFromGitHub {
owner = "jgagneastro";
repo = "coffeegrindsize";
rev = "22661ebd21831dba4cf32bfc6ba59fe3d49f879c";
hash = "sha256-HlTw0nmr+VZL6EUX9RJzj253fnAred9LNFNgVHqoAoI=";
};
propagatedBuildInputs = with python3.pkgs; [
tkinter
matplotlib
numpy
pandas
pillow
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
echo "#!/usr/bin/env python" > "$out/bin/coffeegrindsize"
cat coffeegrindsize.py >> "$out/bin/coffeegrindsize"
chmod +x "$out/bin/coffeegrindsize"
patchShebangs "$out/bin/coffeegrindsize"
runHook postInstall
'';
meta = with lib; {
description = "Detects the individual coffee grounds in a white-background picture to determine particle size distribution";
mainProgram = "coffeegrindsize";
homepage = "https://github.com/jgagneastro/coffeegrindsize";
license = licenses.mit;
maintainers = with maintainers; [ t4ccer ];
};
}

View File

@@ -2,13 +2,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "kas";
version = "4.1";
version = "4.2";
src = fetchFromGitHub {
owner = "siemens";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-EYz9V45b7fSKoI8w9X0LcSTojErpJHfzxcdE4I4qD2k=";
hash = "sha256-NjNPcCqmjFeydTgNdN8QRrFG5Mys2jL4I8TiznO2rSA=";
};
propagatedBuildInputs = with python3.pkgs; [ setuptools kconfiglib jsonschema distro pyyaml ];

View File

@@ -0,0 +1,45 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, nghttp2
, openssl
, boost
}:
stdenv.mkDerivation rec {
pname = "libnghttp2_asio";
version = "unstable-2022-08-11";
outputs = [ "out" "dev" "doc" ];
src = fetchFromGitHub {
owner = "nghttp2";
repo = "nghttp2-asio";
rev = "e877868abe06a83ed0a6ac6e245c07f6f20866b5";
sha256 = "sha256-XQXRHLz0kvaIQq1nbqkJnETHR51FXMB1P9F/hQeZh6A=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
boost
nghttp2
openssl
];
meta = with lib; {
description = "High level HTTP/2 C++ library";
longDescription = ''
libnghttp2_asio is C++ library built on top of libnghttp2
and provides high level abstraction API to build HTTP/2
applications. It depends on the Boost::ASIO library and
OpenSSL. libnghttp2_asio provides both client and server APIs.
'';
homepage = "https://github.com/nghttp2/nghttp2-asio";
license = with licenses; [ mit ];
maintainers = with maintainers; [ izorkin ];
};
}

View File

@@ -0,0 +1,79 @@
From c8f75fec1e558d1f6d5bbcdd89ac14b10fa370de Mon Sep 17 00:00:00 2001
From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
Date: Sun, 18 Feb 2024 09:08:12 +0000
Subject: [PATCH] darwin build fixes
---
compat.h | 9 +++++++++
myrescue-bitmap2ppm.c | 1 +
myrescue-stat.c | 1 +
myrescue.c | 5 +++++
4 files changed, 16 insertions(+)
create mode 100644 src/compat.h
diff --git a/compat.h b/compat.h
new file mode 100644
index 0000000..99b7239
--- /dev/null
+++ b/compat.h
@@ -0,0 +1,9 @@
+#pragma once
+
+#ifdef __APPLE__
+#include <unistd.h>
+#include <fcntl.h>
+_Static_assert(sizeof(off_t) == 8, "off_t must be 8 bytes");
+#define lseek64 lseek
+#define open64 open
+#endif
diff --git a/myrescue-bitmap2ppm.c b/myrescue-bitmap2ppm.c
index 68ecc29..eb2dd9e 100644
--- a/myrescue-bitmap2ppm.c
+++ b/myrescue-bitmap2ppm.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
+#include "compat.h"
int main(int argc, char** argv)
{
diff --git a/myrescue-stat.c b/myrescue-stat.c
index c7a115f..264bd55 100644
--- a/myrescue-stat.c
+++ b/myrescue-stat.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
+#include "compat.h"
#define BUFFER_SIZE 4096
diff --git a/myrescue.c b/myrescue.c
index 0b119c5..f9b052c 100644
--- a/myrescue.c
+++ b/myrescue.c
@@ -21,7 +21,11 @@
#define __USE_LARGEFILE64 1
#define _LARGEFILE_SOURCE 1
#define _LARGEFILE64_SOURCE 1
+#ifdef __linux__
#define HAVE_USBRESET 1
+#else
+#define HAVE_USBRESET 0
+#endif
#include <stdio.h>
#include <stdlib.h>
@@ -37,6 +41,7 @@
#include <signal.h>
#include "permute.h"
+#include "compat.h"
#define LONG_TIME 3
#define SLEEP_AFTER_USBRESET 5
--
2.43.0

View File

@@ -0,0 +1,39 @@
{ lib
, stdenv
, fetchurl
, installShellFiles
}:
stdenv.mkDerivation (finalAttrs: {
pname = "myrescue";
version = "0.9.8";
src = fetchurl {
url = "mirror://sourceforge/project/myrescue/myrescue/myrescue-${finalAttrs.version}/myrescue-${finalAttrs.version}.tar.gz";
hash = "sha256-tO9gkDpEtmySatzV2Ktw3eq5SybCUGAUmKXiSxnkwdc=";
};
nativeBuildInputs = [ installShellFiles ];
sourceRoot = "./src";
patches = [
./0001-darwin-build-fixes.patch
];
installPhase = ''
runHook preInstall
install -Dm755 myrescue -t $out/bin
installManPage ../doc/myrescue.1
runHook postInstall
'';
meta = with lib; {
description = "Hard disk recovery tool that reads undamaged regions first";
mainProgram = "myrescue";
homepage = "https://myrescue.sourceforge.net";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.unix;
license = licenses.gpl2Plus;
};
})

View File

@@ -25,7 +25,7 @@ in
ps.buildPythonApplication rec {
pname = "normcap";
version = "0.4.4";
version = "0.5.4";
format = "pyproject";
disabled = ps.pythonOlder "3.9";
@@ -34,20 +34,32 @@ ps.buildPythonApplication rec {
owner = "dynobo";
repo = "normcap";
rev = "refs/tags/v${version}";
hash = "sha256-dShtmoqS9TC3PHuwq24OEOhYfBHGhDCma8Du8QCkFuI=";
hash = "sha256-bYja05U/JBwSij1J2LxN+c5Syrb4qzWSZY5+HNmC9Zo=";
};
postPatch = ''
# disable coverage testing
substituteInPlace pyproject.toml \
--replace "addopts = [" "addopts_ = ["
'';
pythonRemoveDeps = [
"PySide6-Essentials"
"pyside6-essentials"
];
pythonRelaxDeps = [
"shiboken6"
];
nativeBuildInputs = [
ps.pythonRelaxDepsHook
ps.poetry-core
ps.hatchling
ps.babel
];
propagatedBuildInputs = [
ps.pyside6
ps.jeepney
];
preFixup = ''
@@ -78,6 +90,7 @@ ps.buildPythonApplication rec {
postCheck = lib.optionalString stdenv.isLinux ''
# cleanup the virtual x11 display
sleep 0.5
kill $xvfb_pid
'';
@@ -90,11 +103,20 @@ ps.buildPythonApplication rec {
"test_urls_reachable"
# requires xdg
"test_synchronized_capture"
# flaky
"test_normcap_ocr_testcases"
] ++ lib.optionals stdenv.isDarwin [
# requires impure pbcopy
"test_get_copy_func_with_pbcopy"
"test_get_copy_func_without_pbcopy"
"test_perform_pbcopy"
# NSXPCSharedListener endpointForReply:withListenerName:replyErrorCode:
# while obtaining endpoint 'ClientCallsAuxiliary': Connection interrupted
# since v5.0.0
"test_introduction_initialize_checkbox_state"
"test_introduction_checkbox_sets_return_code"
"test_introduction_toggle_checkbox_changes_return_code"
"test_show_introduction"
];
disabledTestPaths = [
@@ -105,6 +127,9 @@ ps.buildPythonApplication rec {
] ++ lib.optionals stdenv.isDarwin [
# requires a display
"tests/integration/test_normcap.py"
"tests/integration/test_tray_menu.py"
# failure unknown, crashes in first test with `.show()`
"tests/tests_gui/test_loading_indicator.py"
];
meta = with lib; {
@@ -113,5 +138,6 @@ ps.buildPythonApplication rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ cafkafk pbsds ];
mainProgram = "normcap";
broken = stdenv.isDarwin;
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
{ lib
, rustPlatform
, fetchFromGitHub
, fetchpatch
, pkg-config
, protobuf
, bzip2
@@ -11,17 +10,17 @@
, zlib
, zstd
, stdenv
, apple_sdk
, darwin
, buildNpmPackage
}:
let
version = "0.8.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "openobserve";
repo = "openobserve";
rev = "v${version}";
hash = "sha256-J8TuaWjtuR39XA7tizyI+DFkpOaLFweM+/9VImGj8UE=";
hash = "sha256-BFLQL3msDuurRSFOCbqN0vK4NrTS9M6k1hNwet/9mnw=";
};
web = buildNpmPackage {
inherit src version;
@@ -29,7 +28,7 @@ let
sourceRoot = "source/web";
npmDepsHash = "sha256-RNUCR80ewFt9F/VHv7kXLa87h0fz0YBp+9gSOUhtrdU=";
npmDepsHash = "sha256-eYrspgejb5VR51wAXdGr+pSXDdGnRyX5cwwopK3Kex8=";
preBuild = ''
# Patch vite config to not open the browser to visualize plugin composition
@@ -38,7 +37,6 @@ let
'';
env = {
NODE_OPTIONS = "--max-old-space-size=8192";
# cypress tries to download binaries otherwise
CYPRESS_INSTALL_BINARY = 0;
};
@@ -55,14 +53,8 @@ rustPlatform.buildRustPackage {
pname = "openobserve";
inherit version src;
# prevent using git to determine version info during build time
patches = [
(fetchpatch {
name = "fix-test-hash-partition.patch";
url = "https://github.com/openobserve/openobserve/commit/24919333d6b6696f0f9d9aff0a883431481e8fce.patch";
includes = ["src/common/meta/stream.rs"];
hash = "sha256-GB3Pgmp1swJt6ESgKL2eWOZ3jBcsN0r+5Dxasgg50D4=";
})
# prevent using git to determine version info during build time
./build.rs.patch
];
@@ -73,6 +65,7 @@ rustPlatform.buildRustPackage {
lockFile = ./Cargo.lock;
outputHashes = {
"enrichment-0.1.0" = "sha256-FDPSCBkx+DPeWwTBz9+ORcbbiSBC2a8tJaay9Pxwz4w=";
"datafusion-33.0.0" = "sha256-RZAgk7up83zxPbmNzdnzB6M0yjjK9MYms+6TpXVDJ1o=";
};
};
@@ -88,9 +81,8 @@ rustPlatform.buildRustPackage {
xz
zlib
zstd
] ++ lib.optionals stdenv.isDarwin (with apple_sdk.frameworks; [
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
CoreFoundation
CoreServices
IOKit
Security
SystemConfiguration
@@ -138,7 +130,7 @@ rustPlatform.buildRustPackage {
];
meta = with lib; {
description = "A cloud-native observability platform built specifically for logs, metrics, traces, analytics & realtime user-monitoring.";
description = "10x easier, 🚀 140x lower storage cost, 🚀 high performance, 🚀 petabyte scale - Elasticsearch/Splunk/Datadog alternative for 🚀 (logs, metrics, traces";
homepage = "https://github.com/openobserve/openobserve";
license = licenses.asl20;
maintainers = with maintainers; [ happysalada ];

View File

@@ -78,12 +78,12 @@ in
# clang consume much less RAM than GCC
clangStdenv.mkDerivation rec {
pname = "openscad-unstable";
version = "2024-01-22";
version = "2024-02-18";
src = fetchFromGitHub {
owner = "openscad";
repo = "openscad";
rev = "88d244aed3c40a76194ff537ed84bd65bc0e1aeb";
hash = "sha256-qkQNbYhmOxF14zm+eCcwe9asLOEciYBANefUb8+KNEI=";
rev = "f5688998760d6b85d7b280300388448c162edc42";
hash = "sha256-rQnih7Am7NvlrTwIGAN4QbZCcziFm6YOOT27wmjcY8A=";
fetchSubmodules = true;
};
nativeBuildInputs = [

View File

@@ -4,16 +4,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "parallel-disk-usage";
version = "0.9.1";
version = "0.9.2";
src = fetchFromGitHub {
owner = "KSXGitHub";
repo = pname;
rev = version;
hash = "sha256-Bo2fBOGuAur3dQtBdcbeDRBgp+bFpi86dZQjSuZpEc8=";
hash = "sha256-nWn6T1vJ4UANuU5EL5Ws5qT+k8Wd3Cm0SOJEgAbsCvo=";
};
cargoHash = "sha256-V7j2dvu7Z3Xq8WGoFxl6DjO8sYU8+ZNC9V6qqdYIuQo=";
cargoHash = "sha256-69DwIDGX4b+l2ay+OH3gjHnCj43VXruzBklOkS6M0DY=";
meta = with lib; {
description = "Highly parallelized, blazing fast directory tree analyzer";

View File

@@ -0,0 +1,10 @@
--- a/src/pasco.c 2024-02-18 12:43:27.385857649 +0100
+++ b/src/pasco.c 2024-02-18 12:44:00.286087384 +0100
@@ -36,6 +36,7 @@
#include <stdio.h>
#include <time.h>
#include <math.h>
+#include <string.h>
//
/* This is the default block size for an activity record */

View File

@@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pasco";
version = "20040505_1";
src = fetchurl {
url = "mirror://sourceforge/project/fast/Pasco/Pasco%20v${finalAttrs.version}/pasco_${finalAttrs.version}.tar.gz";
hash = "sha256-o7jue+lgVxQQvFZOzJMGd1WihlD7Nb+1WaSutq9vaGg=";
};
patches = [
./include-string.h.patch
];
makeFlags = [
"-C src"
];
postPatch = ''
substituteInPlace src/Makefile \
--replace gcc cc
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp bin/pasco $out/bin
runHook postInstall
'';
meta = with lib; {
description = "Examine the contents of Internet Explorer's cache files for forensic purposes";
mainProgram = "pasco";
homepage = "https://sourceforge.net/projects/fast/files/Pasco/";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.unix;
license = with licenses; [ bsd3 ];
};
})

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +1,24 @@
{ php, fetchFromGitHub, lib }:
{ php
, fetchFromGitHub
, lib
}:
php.buildComposerProject (finalAttrs: {
pname = "pdepend";
version = "2.15.1";
version = "2.16.2";
src = fetchFromGitHub {
owner = "pdepend";
repo = "pdepend";
rev = finalAttrs.version;
hash = "sha256-tVWOR0rKMnQDeHk3MHhEVOjn+dSpoMx+Ln+AwFRMwYs=";
hash = "sha256-2Ruubcm9IWZYu2LGeGeKm1tmHca0P5xlKYkuBCCV9ag=";
};
composerLock = ./composer.lock;
vendorHash = "sha256-MWm8urRB9IujqrIl22x+JFFCRR+nINLQqnHUywT2pi0=";
vendorHash = "sha256-Rvvy6MI0q+T2W7xzf2UqWIbsqgrWhgqVnzhphQ3iw9g=";
meta = {
changelog = "https://github.com/pdepend/pdepend/releases/tag/${finalAttrs.version}";
description = "An adaptation of JDepend for PHP";
homepage = "https://github.com/pdepend/pdepend";
license = lib.licenses.bsd3;
@@ -24,7 +28,7 @@ php.buildComposerProject (finalAttrs: {
of your design in terms of extensibility, reusability and
maintainability.
";
mainProgram = "pdepend";
maintainers = lib.teams.php.members;
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,34 @@
{ lib, python3, fetchFromGitHub }:
python3.pkgs.buildPythonApplication rec {
pname = "pdfannots";
version = "0.4";
pyproject = true;
src = fetchFromGitHub {
owner = "0xabu";
repo = "pdfannots";
rev = "v${version}";
hash = "sha256-C0Ss6kZvPx0hHnpBKquEolxeuTfjshhSBSIDXcCKtM8=";
};
nativeBuildInputs = [
python3.pkgs.setuptools
];
propagatedBuildInputs = [
python3.pkgs.pdfminer-six
];
pythonImportsCheck = [
"pdfannots"
];
meta = with lib; {
description = "Extracts and formats text annotations from a PDF file";
homepage = "https://github.com/0xabu/pdfannots";
license = licenses.mit;
maintainers = [ maintainers.marsam ];
mainProgram = "pdfannots";
};
}

View File

@@ -0,0 +1,40 @@
{ lib
, fetchzip
, python3
, python3Packages
, makeBinaryWrapper
}:
python3Packages.buildPythonApplication rec {
pname = "pdfid";
version = "0.2.8";
format = "other";
src = fetchzip {
url = "https://didierstevens.com/files/software/pdfid_v0_2_8.zip";
hash = "sha256-ZLyhBMF2KMX0c1oCvuSCjEjHTnm2gFhJtasaTD9Q1BI=";
stripRoot = false;
};
nativeBuildInputs = [
makeBinaryWrapper
];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/pdfid}
cp -a * $out/share/pdfid/
makeBinaryWrapper ${lib.getExe python3} $out/bin/${meta.mainProgram} \
--add-flags "$out/share/pdfid/pdfid.py"
runHook postInstall
'';
meta = with lib; {
description = "Scan a file to look for certain PDF keywords";
homepage = "https://blog.didierstevens.com/programs/pdf-tools/";
license = with licenses; [ free ];
mainProgram = "pdfid";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.unix;
};
}

View File

@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication {
pname = "renode-dts2repl";
version = "unstable-2024-02-14";
version = "unstable-2024-02-16";
pyproject = true;
src = fetchFromGitHub {
owner = "antmicro";
repo = "dts2repl";
rev = "b31d32ff4d02577f17bad214d8d7d17f0a5d0466";
hash = "sha256-BgbCS4wRoV4/Rt+nLPQGQh25YEnXMqIz3RXEbQEmZuE=";
rev = "83c35ebd87c000f37a0b873e7c82134da7daa7a2";
hash = "sha256-ga9D/5MkAso9NVK7cv2JryOoDF+a2ORN4MVQ3uns/zk=";
};
nativeBuildInputs = [

View File

@@ -0,0 +1,31 @@
From f6c5dde13a39bd149d892162e2ef72267f4c4a57 Mon Sep 17 00:00:00 2001
From: Someone Serge <sergei.kozlukov@aalto.fi>
Date: Thu, 15 Feb 2024 18:05:16 +0000
Subject: [PATCH] re_space_view_time_series: utils: patch out doctests w
unstable features
---
crates/re_space_view_time_series/src/util.rs | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/crates/re_space_view_time_series/src/util.rs b/crates/re_space_view_time_series/src/util.rs
index 83ce5362f..59d3b9734 100644
--- a/crates/re_space_view_time_series/src/util.rs
+++ b/crates/re_space_view_time_series/src/util.rs
@@ -288,12 +288,7 @@ fn add_series_runs(
/// is finite `x == x.next_up().next_down()` also holds.
///
/// ```rust
-/// #![feature(float_next_up_down)]
-/// // f64::EPSILON is the difference between 1.0 and the next number up.
-/// assert_eq!(1.0f64.next_up(), 1.0 + f64::EPSILON);
-/// // But not for most numbers.
-/// assert!(0.1f64.next_up() < 0.1 + f64::EPSILON);
-/// assert_eq!(9007199254740992f64.next_up(), 9007199254740994.0);
+/// // PATCHED OUT THE UNSTABLE float_next_up_down
/// ```
///
/// [`NEG_INFINITY`]: f64::NEG_INFINITY
--
2.43.0

View File

@@ -0,0 +1,128 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
stdenv,
binaryen,
rustfmt,
lld,
darwin,
freetype,
glib,
gtk3,
libxkbcommon,
openssl,
protobuf,
vulkan-loader,
wayland,
python3Packages,
}:
rustPlatform.buildRustPackage rec {
pname = "rerun";
version = "0.13.0";
src = fetchFromGitHub {
owner = "rerun-io";
repo = "rerun";
rev = version;
hash = "sha256-HgzzuvCpzKgWC8it0PSq62hBjjqpdgYtQQ50SNbr3do=";
};
patches = [
# Disables a doctest that depends on a nightly feature
./0001-re_space_view_time_series-utils-patch-out-doctests-w.patch
];
cargoHash = "sha256-qvnkOlcjADV4b+JfFAy9yNaZGaf0ZO7hh9HBg5XmPi0=";
nativeBuildInputs = [
(lib.getBin binaryen) # wasm-opt
# @SomeoneSerge: Upstream suggests `mold`, but I didn't get it to work
lld
pkg-config
protobuf
rustfmt
];
buildInputs =
[
freetype
glib
gtk3
(lib.getDev openssl)
libxkbcommon
vulkan-loader
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.CoreGraphics
darwin.apple_sdk.frameworks.CoreServices
darwin.apple_sdk.frameworks.Foundation
darwin.apple_sdk.frameworks.IOKit
darwin.apple_sdk.frameworks.Metal
darwin.apple_sdk.frameworks.QuartzCore
darwin.apple_sdk.frameworks.Security
]
++ lib.optionals stdenv.isLinux [ (lib.getLib wayland) ];
env.CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_LINKER = "lld";
addBuildInputRunpathsPhase = ''
declare _extraRunpaths
_sep=
for p in "''${pkgsHostTarget[@]}" ; do
if [[ -d "$p/lib" ]] ; then
_extraRunpaths+="$_sep$p/lib"
if [[ -z "$_sep" ]] ; then
_sep=:
fi
fi
done
elfHasDynamicSection() {
patchelf --print-rpath "$1" >& /dev/null
}
while IFS= read -r -d $'\0' path ; do
if elfHasDynamicSection "$path" ; then
patchelf "$path" --add-rpath "''${_extraRunpaths}"
fi
done < <(
for o in $(getAllOutputNames) ; do
find "''${!o}" -type f -and "(" -executable -or -iname '*.so' ")" -print0
done
)
unset _extraRunpaths
unset _sep
'';
postPhases = lib.optionals stdenv.isLinux [ "addBuildInputRunpathsPhase" ];
cargoTestFlags = [
"-p"
"rerun"
"--workspace"
"--exclude=crates/rerun/src/lib.rs"
];
passthru.tests = {
inherit (python3Packages) rerun-sdk;
};
meta = with lib; {
description = "Visualize streams of multimodal data. Fast, easy to use, and simple to integrate. Built in Rust using egui";
homepage = "https://github.com/rerun-io/rerun";
changelog = "https://github.com/rerun-io/rerun/blob/${src.rev}/CHANGELOG.md";
license = with licenses; [
asl20
mit
];
maintainers = with maintainers; [ SomeoneSerge ];
mainProgram = "rerun";
};
}

View File

@@ -0,0 +1,41 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pipewire
, wireplumber
, makeWrapper
}:
let
version = "1.0.4";
in
rustPlatform.buildRustPackage {
pname = "sink-rotate";
inherit version;
src = fetchFromGitHub {
owner = "mightyiam";
repo = "sink-rotate";
rev = "v${version}";
hash = "sha256-q20uUr+7yLJlZc5YgEkY125YrZ2cuJrPv5IgWXaYRlo=";
};
cargoHash = "sha256-MPeyPTkxpi6iw/BT5m4S7jVBD0c2zG2rsv+UZWQxpUU=";
buildInputs = [ makeWrapper ];
postFixup = ''
wrapProgram $out/bin/sink-rotate \
--prefix PATH : ${pipewire}/bin/pw-dump \
--prefix PATH : ${wireplumber}/bin/wpctl
'';
meta = with lib; {
description = "Command that rotates default between two PipeWire audio sinks.";
homepage = "https://github.com/mightyiam/sink-rotate";
license = licenses.mit;
maintainers = with maintainers; [ mightyiam ];
mainProgram = "sink-rotate";
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,36 @@
{ lib
, stdenv
, fetchurl
, bluez
, ncurses
}:
stdenv.mkDerivation (finalAttrs: {
pname = "spooftooph";
version = "0.5.2";
src = fetchurl {
url = "mirror://sourceforge/project/spooftooph/spooftooph-${finalAttrs.version}/spooftooph-${finalAttrs.version}.tar.gz";
hash = "sha256-JH5+fHpe83NJV9AR5MXKnrwaTqz4s2BGAcczbddVNHw=";
};
buildInputs = [
bluez
ncurses
];
makeFlags = [ "BIN=$(out)/bin" ];
preInstall = ''
mkdir -p $out/bin
'';
meta = with lib; {
homepage = "https://sourceforge.net/projects/spooftooph";
description = "Automate spoofing or clone Bluetooth device Name, Class, and Address";
mainProgram = "spooftooph";
license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = with maintainers; [ d3vil0p3r ];
};
})

File diff suppressed because it is too large Load Diff

View File

@@ -21,13 +21,13 @@
"@fontsource/noto-sans": "^5.0.8",
"@fontsource/noto-sans-mono": "^5.0.8",
"@leeoniya/ufuzzy": "^1.0.8",
"@mantine/core": "^6.0.16",
"@mantine/form": "^6.0.16",
"@mantine/hooks": "^6.0.16",
"@mantine/modals": "^6.0.16",
"@mantine/notifications": "^6.0.16",
"@mantine/spotlight": "^6.0.17",
"@mantine/tiptap": "^6.0.16",
"@mantine/core": "^7.5.0",
"@mantine/form": "^7.5.0",
"@mantine/hooks": "^7.5.0",
"@mantine/modals": "^7.5.0",
"@mantine/notifications": "^7.5.0",
"@mantine/spotlight": "^7.5.0",
"@mantine/tiptap": "^7.5.0",
"@minoru/react-dnd-treeview": "^3.4.4",
"@mui/icons-material": "^5.14.0",
"@mui/material": "^5.14.0",
@@ -41,6 +41,7 @@
"@tiptap/extension-subscript": "^2.0.4",
"@tiptap/extension-superscript": "^2.0.4",
"@tiptap/extension-text-align": "^2.0.4",
"@tiptap/extension-typography": "^2.2.3",
"@tiptap/extension-underline": "^2.0.4",
"@tiptap/pm": "^2.0.4",
"@tiptap/react": "^2.0.4",

View File

@@ -2,7 +2,7 @@
, cargo-tauri
, cmake
, dbus
, fetchFromGitea
, fetchgit
, fetchYarnDeps
, freetype
, gsettings-desktop-schemas
@@ -19,14 +19,13 @@
let
pname = "treedome";
version = "0.3.3";
version = "0.4";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "solver-orgz";
repo = "treedome";
src = fetchgit {
url = "https://codeberg.org/solver-orgz/treedome";
rev = version;
sha256 = "sha256-492EAKCXyc4s9FvkpqppZ/GllYuYe0YsXgbRl/oQBgE=";
hash = "sha256-HzpfctEeiPj5fO1LCiQDvWRuXCPJIX7RsYYr/Y/sahA=";
fetchLFS = true;
};
frontend-build = mkYarnPackage {
@@ -35,13 +34,15 @@ let
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
sha256 = "sha256-rV5jKKnbMutaG5o8gRKgs/uoKwbIkxAPIcx6VWG7mm4=";
hash = "sha256-SU020NgQY2TXbAsGzrXa0gLEt0hllsgD82S5L2lEtKU=";
};
packageJSON = ./package.json;
configurePhase = ''
runHook preConfigure
ln -s $node_modules node_modules
runHook postConfigure
'';
buildPhase = ''
@@ -136,9 +137,10 @@ rustPlatform.buildRustPackage {
meta = with lib; {
description = "A local-first, encrypted, note taking application with tree-like structures, all written and saved in markdown";
homepage = " https://codeberg.org/solver-orgz/treedome";
license = licenses.gpl3Plus;
license = licenses.agpl3;
platforms = [ "x86_64-linux" ];
mainProgram = "treedome";
maintainers = with maintainers; [ tengkuizdihar ];
changelog = "https://codeberg.org/solver-orgz/treedome/releases/tag/${version}";
};
}

View File

@@ -203,9 +203,9 @@ dependencies = [
[[package]]
name = "async_http_range_reader"
version = "0.5.0"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea8c52f8b749ec4e8665041001a31208afdae9ef88916d2edf1610deb8b3616e"
checksum = "5143aaae4ec035a5d7cfda666eab896fe5428a2a8ab09ca651a2dce3a8f06912"
dependencies = [
"bisection",
"futures",
@@ -213,6 +213,7 @@ dependencies = [
"itertools 0.12.1",
"memmap2 0.9.4",
"reqwest",
"reqwest-middleware",
"thiserror",
"tokio",
"tokio-stream",
@@ -4114,7 +4115,7 @@ checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
[[package]]
name = "uv"
version = "0.1.3"
version = "0.1.4"
dependencies = [
"anstream",
"anyhow",

View File

@@ -15,14 +15,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "uv";
version = "0.1.3";
version = "0.1.4";
pyproject = true;
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
rev = version;
hash = "sha256-eOrmVI8Lc9ScWHst72xLayX0UHVij6h/jf2p8AXiIRE=";
hash = "sha256-0bG1nReTaNqjHXCeW8gg3AWfXpsm8KulX6jsZQMVLlg=";
};
cargoDeps = rustPlatform.importCargoLock {

View File

@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "zapzap";
version = "5.1.3";
version = "5.2";
format = "setuptools";
src = fetchFromGitHub {
owner = "zapzap-linux";
repo = "zapzap";
rev = version;
hash = "sha256-IxBmtXrRIxUqnhB4OsL+lRIBTISdIqpcbI/uZ31MEBU=";
hash = "sha256-vG8yDW0+scImPWHyVJs2QkiSWbjPLR9Z01zkOWZi/BI=";
};
nativeBuildInputs = with python3Packages; [

View File

@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "ispc";
version = "1.22.0";
version = "1.23.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-NiBwQ7BzNgRdWLvjOi1fQni+vnYwn0nLHxqAVucmb2k=";
sha256 = "sha256-zixPt7YICCG0N8t1pcXEu/sPKCVLQVPCiJsQEqEXl+A=";
};
nativeBuildInputs = [ cmake which m4 bison flex python3 llvmPackages.libllvm.dev tbb ] ++ lib.lists.optionals stdenv.isDarwin [ xcode ];
@@ -55,7 +55,6 @@ stdenv.mkDerivation rec {
"-DFILE_CHECK_EXECUTABLE=${llvmPackages.llvm}/bin/FileCheck"
"-DLLVM_AS_EXECUTABLE=${llvmPackages.llvm}/bin/llvm-as"
"-DLLVM_CONFIG_EXECUTABLE=${llvmPackages.llvm.dev}/bin/llvm-config"
"-DLLVM_DIS_EXECUTABLE=${llvmPackages.llvm}/bin/llvm-dis"
"-DCLANG_EXECUTABLE=${llvmPackages.clang}/bin/clang"
"-DCLANGPP_EXECUTABLE=${llvmPackages.clang}/bin/clang++"
"-DISPC_INCLUDE_EXAMPLES=OFF"

View File

@@ -8,7 +8,9 @@ let
pythonCheckInterpreter = python.interpreter;
setuppy = ../run_setup.py;
in {
makePythonHook = args: pkgs.makeSetupHook ({passthru.provides.setupHook = true; } // args);
makePythonHook = let
defaultArgs = { passthru.provides.setupHook = true; };
in args: pkgs.makeSetupHook (lib.recursiveUpdate defaultArgs args);
condaInstallHook = callPackage ({ makePythonHook, gnutar, lbzip2 }:
makePythonHook {
@@ -68,8 +70,8 @@ in {
# Such conflicts don't happen within the standard nixpkgs python package
# set, but in downstream projects that build packages depending on other
# versions of this hook's dependencies.
passthru.tests = import ./pypa-build-hook-test.nix {
inherit pythonOnBuildForHost runCommand;
passthru.tests = callPackage ./pypa-build-hook-test.nix {
inherit pythonOnBuildForHost;
};
} ./pypa-build-hook.sh) {
inherit (pythonOnBuildForHost.pkgs) build;

View File

@@ -2,13 +2,13 @@
mkDerivation rec {
pname = "cubical";
version = "0.6";
version = "0.7";
src = fetchFromGitHub {
repo = pname;
owner = "agda";
rev = "v${version}";
hash = "sha256-2quAZ/j7kQaFkh9W5Bj1y7YQj9BT7FwHqVWyj8T4AH8=";
hash = "sha256-oLpKRWfQqb6CIscC2XM0ia9HJ8edJFHoPeql3kfvyrA=";
};
# The cubical library has several `Everything.agda` files, which are
@@ -26,6 +26,6 @@ mkDerivation rec {
homepage = src.meta.homepage;
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ alexarice ryanorendorff ncfavier ];
maintainers = with maintainers; [ alexarice ryanorendorff ncfavier phijor ];
};
}

View File

@@ -70,16 +70,16 @@ let
projectArch = "x86_64";
};
};
platforms."aarch64-linux".sha256 = "12sp58nxa3nv800badv62vpvc30hyb0ykywdaxgv9y8pswp9lq0z";
platforms."x86_64-linux".sha256 = "0vzzwq1k6bv9d209yg3samvfnfwj7s58y9r3p3pd98wxa9iyzf4j";
platforms."aarch64-linux".sha256 = "16sbfk599h96wcsmpbxlwsvq0n1pssmm8dpwmjsqfrn1464dvs68";
platforms."x86_64-linux".sha256 = "1wa4nv28saz96kar9svdarfz6c4rnbcqz0rqxzl9zclnhfzhqdiw";
platformInfo = builtins.getAttr stdenv.hostPlatform.system platforms;
in
stdenv.mkDerivation rec {
pname = "cef-binary";
version = "117.2.4";
gitRevision = "5053a95";
chromiumVersion = "117.0.5938.150";
version = "121.3.13";
gitRevision = "5c4a81b";
chromiumVersion = "121.0.6167.184";
src = fetchurl {
url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";

View File

@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
./tests-skip-double-test-on-stub-locale-impls.patch
];
postPatch = ''
postPatch = lib.optionalString finalAttrs.finalPackage.doCheck ''
# The relative location of LD_PRELOAD works for Glibc but not for other loaders (e.g. pkgsMusl)
substituteInPlace tests/meson.build \
--replace "LD_PRELOAD=libumockdev-preload.so.0" "LD_PRELOAD=${lib.getLib umockdev}/lib/libumockdev-preload.so.0"

View File

@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "openvr";
version = "1.26.7";
version = "2.2.3";
src = fetchFromGitHub {
owner = "ValveSoftware";
repo = "openvr";
rev = "v${finalAttrs.version}";
hash = "sha256-verVIRyDdpF8lIjjjG8GllDJG7nhqByIfs/8O5TMOyc=";
hash = "sha256-Dpl88Te+EoVasoCtwERGrYt3xK8o03h15r8IVxxPPCw=";
};
patches = [

View File

@@ -1,6 +1,6 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix ({
version = "25.2";
hash = "sha256-Bw7xOgcGLshFppH4qD8E48D8v21ZJRaRkK19LPSATMg=";
version = "25.3";
hash = "sha256-N/mO9a6NyC0GwxY3/u1fbFbkfH7NTkyuIti6L3bc+7k=";
} // args)

View File

@@ -22,16 +22,16 @@
buildPythonPackage rec {
pname = "aiogram";
version = "3.3.0";
version = "3.4.1";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "aiogram";
repo = "aiogram";
rev = "refs/tags/v${version}";
hash = "sha256-TD4pDmM899zBOxllM0iju2u6IhmXxLYWBpjfWhewVFc=";
hash = "sha256-2of4KHdpAATOt0dCqI3AmTJtdeN5SdiWydeGjtagABI=";
};
nativeBuildInputs = [
@@ -66,7 +66,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "aiogram" ];
passthru.updateScript = gitUpdater { };
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};
meta = with lib; {
description = "Modern and fully asynchronous framework for Telegram Bot API";

View File

@@ -2,23 +2,28 @@
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, setuptools
, websockets
}:
buildPythonPackage rec {
pname = "aiowebostv";
version = "0.3.3";
format = "setuptools";
version = "0.4.0";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = pname;
repo = "aiowebostv";
rev = "refs/tags/v${version}";
hash = "sha256-djcfYpHkhXhjQwJzHP3mNflKrcP6Yj3/z62qeXg67ss=";
hash = "sha256-VUznW+rMCZF1LbrQmEaOgdcX3YCm6Tf7yWlB8KNrjxU=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
websockets
];

View File

@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "cachier";
version = "2.2.2";
version = "2.3.0";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "python-cachier";
repo = "cachier";
rev = "v${version}";
hash = "sha256-zUZqT4SIwZRqhRS/wHIzIYVULnp5aYcytCQd17T0D/4=";
hash = "sha256-pgDv0ApFgaNR0amqJNwkTSPlqczOClk9D1uVzZW1B7g=";
};
pythonRemoveDeps = [ "setuptools" ];
@@ -41,10 +41,10 @@ buildPythonPackage rec {
];
preCheck = ''
substituteInPlace pytest.ini \
substituteInPlace pyproject.toml \
--replace \
"--cov" \
"#--cov"
'"--cov' \
'#"--cov'
'';
nativeCheckInputs = [
@@ -77,7 +77,6 @@ buildPythonPackage rec {
pythonImportsCheck = [
"cachier"
"cachier.scripts"
];
meta = {

View File

@@ -19,14 +19,14 @@
buildPythonPackage rec {
pname = "django-pattern-library";
version = "1.1.0";
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "torchbox";
repo = "django-pattern-library";
rev = "refs/tags/v${version}";
hash = "sha256-9uuLYwG0/NYGouncuaN8S+3CBABSxSOkcrP59p5v84U=";
hash = "sha256-hrdJYVioY6y9D29DuKPMZjdWj92GcbHXANWiEHadimI=";
};
nativeBuildInputs = [

View File

@@ -1,35 +1,26 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, cmake
}:
let
tests = fetchFromGitHub {
owner = "editorconfig";
repo = "editorconfig-core-test";
rev = "e407c1592df0f8e91664835324dea85146f20189";
hash = "sha256-9WSEkMJOewPqJjB6f7J6Ir0L+U712hkaN+GszjnGw7c=";
};
in
buildPythonPackage rec {
pname = "editorconfig";
version = "0.12.3";
format = "setuptools";
version = "0.12.4";
pyproject = true;
src = fetchFromGitHub {
owner = "editorconfig";
repo = "editorconfig-core-py";
rev = "v${version}";
hash = "sha256-ZwoTMgk18+BpPNtXKQUMXGcl2Lp+1RQVyPHgk6gHWh8=";
# workaround until https://github.com/editorconfig/editorconfig-core-py/pull/40 is merged
# fetchSubmodules = true;
hash = "sha256-+m674bLj6xs7MWU+8BMixEwy7/TjyES0lvCLLogTDHQ=";
fetchSubmodules = true;
};
postUnpack = ''
cp -r ${tests}/* source/tests
chmod +w -R source/tests
'';
nativeBuildInputs = [
setuptools
];
nativeCheckInputs = [
cmake
@@ -38,9 +29,12 @@ buildPythonPackage rec {
dontUseCmakeConfigure = true;
checkPhase = ''
runHook preCheck
cmake .
# utf_8_char fails with Python 3
ctest -E "utf_8_char" .
ctest .
runHook postCheck
'';
pythonImportsCheck = [ "editorconfig" ];

View File

@@ -5,22 +5,27 @@
, pytestCheckHook
, pythonOlder
, requests
, setuptools
}:
buildPythonPackage rec {
pname = "fpyutils";
version = "3.0.1";
format = "setuptools";
version = "4.0.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "frnmst";
repo = pname;
repo = "fpyutils";
rev = "refs/tags/${version}";
hash = "sha256-cmCD8uKPX/7Ak6jAqzCvDqR1FgH09GaLfLTZdBQB+bs=";
hash = "sha256-VVR1zsejO6kHlMjqqlftDKu3/SyDzgPov9f48HYL/Bk=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
atomicwrites
requests

View File

@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "hahomematic";
version = "2024.2.3";
version = "2024.2.4";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -27,15 +27,15 @@ buildPythonPackage rec {
owner = "danielperna84";
repo = "hahomematic";
rev = "refs/tags/${version}";
hash = "sha256-T2318TnVzvteRADOjoTP7ulIhTyeTbCFX1/KpwWXjlI=";
hash = "sha256-p1LUF57wH8zWCwPo4pYeOGRBEYCNUv8CnYBGNYzKCgE=";
};
__darwinAllowLocalNetworking = true;
postPatch = ''
substituteInPlace pyproject.toml \
--replace "setuptools~=68.2" "setuptools" \
--replace "wheel~=0.41.2" "wheel"
--replace-fail "setuptools~=69.1.0" "setuptools" \
--replace-fail "wheel~=0.42.0" "wheel"
'';
nativeBuildInputs = [

View File

@@ -5,22 +5,27 @@
, pyfakefs
, pytestCheckHook
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "md-toc";
version = "8.2.2";
format = "setuptools";
version = "8.2.3";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "frnmst";
repo = pname;
rev = version;
hash = "sha256-fL3JlZWTEEinYILNeHw0cuvVza27atLLxjrBZkVLRiU=";
repo = "md-toc";
rev = "refs/tags/${version}";
hash = "sha256-nKkKtLEW0pohXiMtjWl2Kzh7SRwZJ/yzhXpDyluLodc=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
fpyutils
];

View File

@@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "meshtastic";
version = "2.2.21";
version = "2.2.22";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "meshtastic";
repo = "Meshtastic-python";
rev = "refs/tags/${version}";
hash = "sha256-qmzPtHAw4hzHDOLA8RT1VqAOjI287oxYNVT2t8sspVw=";
hash = "sha256-bAg7Rr17Q+a+S0ZuHcFmmTM0sRcX2w0zRClKdFwix30=";
};
nativeBuildInputs = [

View File

@@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "oelint-parser";
version = "3.2.0";
version = "3.2.1";
format = "setuptools";
src = fetchPypi {
inherit version;
pname = "oelint_parser";
hash = "sha256-RmOKrR89bRzewUwK4oebkM8GmfEcwcx8fKFiChnMD5A=";
hash = "sha256-UHBr6O0eV4A2yS04/gtPplp5rI+YfizQhYMUE2AZ41I=";
};
buildInputs = [ pip ];

View File

@@ -0,0 +1,27 @@
From 10f3d49aa6084d1b9b9624017cce7df106b9fb7e Mon Sep 17 00:00:00 2001
From: Yaroslav Bolyukin <iam@lach.pw>
Date: Tue, 6 Feb 2024 13:51:28 +0100
Subject: [PATCH] ptxas: disable version key for non-cuda targets
---
python/triton/runtime/jit.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/python/triton/runtime/jit.py b/python/triton/runtime/jit.py
index d55972b4b..bd875a701 100644
--- a/python/triton/runtime/jit.py
+++ b/python/triton/runtime/jit.py
@@ -117,8 +117,8 @@ def version_key():
with open(lib.module_finder.find_spec(lib.name).origin, "rb") as f:
contents += [hashlib.md5(f.read()).hexdigest()]
# ptxas version
- ptxas = path_to_ptxas()[0]
- ptxas_version = hashlib.md5(subprocess.check_output([ptxas, "--version"])).hexdigest()
+ # ptxas = path_to_ptxas()[0]
+ ptxas_version = "noptxas"
return '-'.join(TRITON_VERSION) + '-' + ptxas_version + '-' + '-'.join(contents)
--
2.43.0

View File

@@ -19,6 +19,9 @@
, filelock
, torchWithRocm
, python
, runCommand
, cudaPackages
, cudaSupport ? config.cudaSupport
}:
@@ -46,6 +49,9 @@ buildPythonPackage rec {
})
] ++ lib.optionals (!cudaSupport) [
./0000-dont-download-ptxas.patch
# openai-triton wants to get ptxas version even if ptxas is not
# used, resulting in ptxas not found error.
./0001-ptxas-disable-version-key-for-non-cuda-targets.patch
];
nativeBuildInputs = [
@@ -71,7 +77,12 @@ buildPythonPackage rec {
zlib
];
propagatedBuildInputs = [ filelock ];
propagatedBuildInputs = [
filelock
# openai-triton uses setuptools at runtime:
# https://github.com/NixOS/nixpkgs/pull/286763/#discussion_r1480392652
setuptools
];
postPatch = let
# Bash was getting weird without linting,
@@ -150,7 +161,18 @@ buildPythonPackage rec {
# ];
# Ultimately, torch is our test suite:
passthru.tests = { inherit torchWithRocm; };
passthru.tests = {
inherit torchWithRocm;
# Implemented as alternative to pythonImportsCheck, in case if circular dependency on torch occurs again,
# and pythonImportsCheck is commented back.
import-triton = runCommand "import-triton" { nativeBuildInputs = [(python.withPackages (ps: [ps.openai-triton]))]; } ''
python << \EOF
import triton
import triton.language
EOF
touch "$out"
'';
};
pythonRemoveDeps = [
# Circular dependency, cf. https://github.com/openai/triton/issues/1374

View File

@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "pip-api";
version = "0.0.31";
version = "0.0.33";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "di";
repo = "pip-api";
rev = "refs/tags/${version}";
hash = "sha256-WFyrEEfrGwsITYzQaukwmz5ml+I6zlMddINTkGeNUTM=";
hash = "sha256-bDM31YpVB0pZMqeGTCbnINSmJc03N0HuU8hcc8nnHgw=";
};
nativeBuildInputs = [

View File

@@ -115,5 +115,8 @@ buildPythonPackage {
homepage = "https://developers.google.com/protocol-buffers/";
license = licenses.bsd3;
maintainers = with maintainers; [ knedlsepp ];
# Tests are currently failing because backend is unavailable and causes tests to fail
# Progress tracked in https://github.com/NixOS/nixpkgs/pull/264902
broken = lib.versionAtLeast protobuf.version "25";
};
}

View File

@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "pyoverkiz";
version = "1.13.6";
version = "1.13.7";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "iMicknl";
repo = "python-overkiz-api";
rev = "refs/tags/v${version}";
hash = "sha256-3kPM9mc18WsO8RJpCCVMeG58AHLwXI/dmQHCjZ6xLj4=";
hash = "sha256-wH4LCfjnxAwub/BCe27osyJVUZSOMDjjxItv0aEa8Ic=";
};
postPatch = ''

View File

@@ -31,16 +31,16 @@
buildPythonPackage rec {
pname = "requests-cache";
version = "1.1.1";
format = "pyproject";
version = "1.2.0";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "requests-cache";
repo = "requests-cache";
rev = "refs/tags/v${version}";
hash = "sha256-0KBx6nplD/l8GZfMbyUtgHj2e4/vH9EAgdyNFm+kPyM=";
hash = "sha256-w1ptKi/MH3kGZxLMUNq/Gs6btGx+n2fG4nfQUXCXmiY=";
};
nativeBuildInputs = [

View File

@@ -0,0 +1,70 @@
{
buildPythonPackage,
lib,
rustPlatform,
stdenv,
attrs,
numpy,
pillow,
pyarrow,
rerun,
torch,
typing-extensions,
pytestCheckHook,
python,
}:
buildPythonPackage {
pname = "rerun-sdk";
inherit (rerun) version;
pyproject = true;
inherit (rerun) src;
inherit (rerun) cargoDeps;
nativeBuildInputs = [
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
];
propagatedBuildInputs = [
attrs
numpy
pillow
pyarrow
typing-extensions
];
buildAndTestSubdir = "rerun_py";
# https://github.com/NixOS/nixpkgs/issues/289340
#
# Alternatively, one could
# dontUsePythonImportsCheck = true;
# dontUsePytestCheck = true;
postInstall = ''
rm $out/${python.sitePackages}/rerun_sdk.pth
ln -s rerun_sdk/rerun $out/${python.sitePackages}/rerun
'';
pythonImportsCheck = [ "rerun" ];
nativeCheckInputs = [
pytestCheckHook
torch
];
inherit (rerun) addBuildInputRunpathsPhase;
postPhases = lib.optionals stdenv.isLinux [ "addBuildInputRunpathsPhase" ];
disabledTestPaths = [
# "fixture 'benchmark' not found"
"tests/python/log_benchmark/test_log_benchmark.py"
];
meta = {
description = "Python bindings for `rerun` (an interactive visualization tool for stream data)";
inherit (rerun.meta) changelog homepage license maintainers;
mainProgram = "rerun";
};
}

View File

@@ -26,7 +26,7 @@
buildPythonPackage rec {
pname = "sagemaker";
version = "2.207.1";
version = "2.208.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "aws";
repo = "sagemaker-python-sdk";
rev = "refs/tags/v${version}";
hash = "sha256-nSFBx2s6vy5Ug2tBiPqNu4Q29LGW2LijoDKlC6m4CL4=";
hash = "sha256-9YcYRwwa5P31jZpDrsewBY+r2kjRmoGM8CkXqAMilvE=";
};
nativeBuildInputs = [

View File

@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "tplink-omada-client";
version = "1.3.7";
version = "1.3.8";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "tplink_omada_client";
inherit version;
hash = "sha256-iSCrFrcj6csslIkd8yt0wvvOSTCHRiMnsMOeUDcsE4U=";
hash = "sha256-/hWlBuqj8RuoOfY2qmha3kkqXIixwWTPKi7TjciB6Rk=";
};
nativeBuildInputs = [

View File

@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "trimesh";
version = "4.1.3";
version = "4.1.4";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-SIHIA6HKo3Ka6rmZrBZfSmN/sNfEjSImYUtbtQs3ozQ=";
hash = "sha256-JeURuw0YImIKRwi35tYWDa5CQqYfPZm+NJiap8Qo6mE=";
};
nativeBuildInputs = [ setuptools ];

View File

@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "tuf";
version = "3.1.0";
version = "3.1.1";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -20,12 +20,12 @@ buildPythonPackage rec {
owner = "theupdateframework";
repo = "python-tuf";
rev = "refs/tags/v${version}";
hash = "sha256-IGF/8RdX7Oxl6gdqPGN1w/6q4zaei+MnYXBZepB4KUA=";
hash = "sha256-HiF/b6aOhDhhQqYx/bjMXHABxmAJY4vkLlTheiL8zEo=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "hatchling==" "hatchling>="
--replace-fail "hatchling==" "hatchling>="
'';
nativeBuildInputs = [

View File

@@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "types-redis";
version = "4.6.0.20240106";
version = "4.6.0.20240218";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-Ky+jp4+EVZYWJC0j+G3l9BMN/Ww7g/stjOMynlA/dW4=";
hash = "sha256-UQPX5pDlx0yXShYTF7LVmsIwPPi+8kF1sEwqTDSGyzk=";
};
propagatedBuildInputs = [

View File

@@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "types-requests";
version = "2.31.0.20240125";
version = "2.31.0.20240218";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-A6KM4dfNVBmRSOBDsgec3e0i1nldGaLCpnkaSyteLrU=";
hash = "sha256-8XIduoOFlY9QSlOGJAuS3kc04EegikB1HBZU0awzScU=";
};
nativeBuildInputs = [

View File

@@ -0,0 +1,139 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, which
, ninja
, packaging
, setuptools
, torch
, wheel
, psutil
, ray
, pandas
, pyarrow
, sentencepiece
, numpy
, transformers
, xformers
, fastapi
, uvicorn
, pydantic
, aioprometheus
, pynvml
, cupy
, writeShellScript
, config
, cudaSupport ? config.cudaSupport
, cudaPackages ? {}
, rocmSupport ? config.rocmSupport
, rocmPackages ? {}
, gpuTargets ? []
}:
buildPythonPackage rec {
pname = "vllm";
version = "0.3.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "vllm-project";
repo = pname;
rev = "v${version}";
hash = "sha256-hfd4ScU0mkZ7z4+w08BUA1K9bPXSiFThfiO+Ll2MTtg=";
};
# Otherwise it tries to enumerate host supported ROCM gfx archs, and that is not possible due to sandboxing.
PYTORCH_ROCM_ARCH = lib.optionalString rocmSupport (lib.strings.concatStringsSep ";" rocmPackages.clr.gpuTargets);
# xformers 0.0.23.post1 github release specifies its version as 0.0.24
#
# cupy-cuda12x is the same wheel as cupy, but built with cuda dependencies, we already have it set up
# like that in nixpkgs. Version upgrade is due to upstream shenanigans
# https://github.com/vllm-project/vllm/pull/2845/commits/34a0ad7f9bb7880c0daa2992d700df3e01e91363
#
# hipcc --version works badly on NixOS due to unresolved paths.
postPatch = ''
substituteInPlace requirements.txt \
--replace "xformers == 0.0.23.post1" "xformers == 0.0.24"
substituteInPlace requirements.txt \
--replace "cupy-cuda12x == 12.1.0" "cupy == 12.3.0"
substituteInPlace requirements-build.txt \
--replace "torch==2.1.2" "torch == 2.2.0"
substituteInPlace pyproject.toml \
--replace "torch == 2.1.2" "torch == 2.2.0"
substituteInPlace requirements.txt \
--replace "torch == 2.1.2" "torch == 2.2.0"
'' + lib.optionalString rocmSupport ''
substituteInPlace setup.py \
--replace "'hipcc', '--version'" "'${writeShellScript "hipcc-version-stub" "echo HIP version: 0.0"}'"
'';
preBuild = lib.optionalString cudaSupport ''
export CUDA_HOME=${cudaPackages.cuda_nvcc}
''
+ lib.optionalString rocmSupport ''
export ROCM_HOME=${rocmPackages.clr}
export PATH=$PATH:${rocmPackages.hipcc}
'';
nativeBuildInputs = [
ninja
packaging
setuptools
torch
wheel
which
] ++ lib.optionals rocmSupport [
rocmPackages.hipcc
];
buildInputs = (lib.optionals cudaSupport (with cudaPackages; [
cuda_cudart # cuda_runtime.h, -lcudart
cuda_cccl.dev # <thrust/*>
libcusparse.dev # cusparse.h
libcublas.dev # cublas_v2.h
libcusolver # cusolverDn.h
])) ++ (lib.optionals rocmSupport (with rocmPackages; [
clr
rocthrust
rocprim
hipsparse
hipblas
]));
propagatedBuildInputs = [
psutil
ray
pandas
pyarrow
sentencepiece
numpy
torch
transformers
xformers
fastapi
uvicorn
pydantic
aioprometheus
] ++ uvicorn.optional-dependencies.standard
++ aioprometheus.optional-dependencies.starlette
++ lib.optionals cudaSupport [
pynvml
cupy
];
pythonImportsCheck = [ "vllm" ];
meta = with lib; {
description = "A high-throughput and memory-efficient inference and serving engine for LLMs";
changelog = "https://github.com/vllm-project/vllm/releases/tag/v${version}";
homepage = "https://github.com/vllm-project/vllm";
license = licenses.asl20;
maintainers = with maintainers; [ happysalada lach ];
broken = !cudaSupport && !rocmSupport;
};
}

View File

@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "wagtail-localize";
version = "1.7";
version = "1.8";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
repo = pname;
owner = "wagtail";
rev = "refs/tags/v${version}";
hash = "sha256-Q29Nh/4Z3tYuwoodWKDl5FS+lfl9yDXN7RHn/RReCds=";
hash = "sha256-K4TOW4q8vD9vaNJzSEtmQBgO/dOxcWKKUp2FE3JLIbE=";
};
nativeBuildInputs = [

View File

@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "zigpy-deconz";
version = "0.23.0";
version = "0.23.1";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-8U/3YzXyrQ6pOklvfuVFAk2r/mpcUM7HokfBJUhtyh4=";
hash = "sha256-10EyT3IGdAtF9OUbfZ5OtP+Ot35O0SfMDtsyw5FQ+/8=";
};
postPatch = ''

View File

@@ -0,0 +1,979 @@
From 86bd518981b364c138f9901b28a529899d8654f3 Mon Sep 17 00:00:00 2001
From: Jatin Chaudhary <JatinJaikishan.Chaudhary@amd.com>
Date: Wed, 11 Oct 2023 23:19:29 +0100
Subject: [PATCH] SWDEV-367537 - Add missing operators to __hip_bfloat16
implementation
Add __host__ and __device__ to bunch of operator/function matching CUDA
Fix some bugs seen in __hisinf
Change-Id: I9e67e3e3eb2083b463158f3e250e5221c89b2896
---
hipamd/include/hip/amd_detail/amd_hip_bf16.h | 533 ++++++++++++++++---
1 file changed, 446 insertions(+), 87 deletions(-)
diff --git a/hipamd/include/hip/amd_detail/amd_hip_bf16.h b/hipamd/include/hip/amd_detail/amd_hip_bf16.h
index 757cb7ada..b15ea3b65 100644
--- a/hipamd/include/hip/amd_detail/amd_hip_bf16.h
+++ b/hipamd/include/hip/amd_detail/amd_hip_bf16.h
@@ -96,10 +96,20 @@
#if defined(__HIPCC_RTC__)
#define __HOST_DEVICE__ __device__
#else
+#include <algorithm>
#include <climits>
-#define __HOST_DEVICE__ __host__ __device__
+#include <cmath>
+#define __HOST_DEVICE__ __host__ __device__ inline
#endif
+#define HIPRT_ONE_BF16 __float2bfloat16(1.0f)
+#define HIPRT_ZERO_BF16 __float2bfloat16(0.0f)
+#define HIPRT_INF_BF16 __ushort_as_bfloat16((unsigned short)0x7F80U)
+#define HIPRT_MAX_NORMAL_BF16 __ushort_as_bfloat16((unsigned short)0x7F7FU)
+#define HIPRT_MIN_DENORM_BF16 __ushort_as_bfloat16((unsigned short)0x0001U)
+#define HIPRT_NAN_BF16 __ushort_as_bfloat16((unsigned short)0x7FFFU)
+#define HIPRT_NEG_ZERO_BF16 __ushort_as_bfloat16((unsigned short)0x8000U)
+
// Since we are using unsigned short to represent data in bfloat16, it can be of different sizes on
// different machines. These naive checks should prevent some undefined behavior on systems which
// have different sizes for basic types.
@@ -189,7 +199,7 @@ __HOST_DEVICE__ float2 __bfloat1622float2(const __hip_bfloat162 a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Moves bfloat16 value to bfloat162
*/
-__device__ __hip_bfloat162 __bfloat162bfloat162(const __hip_bfloat16 a) {
+__HOST_DEVICE__ __hip_bfloat162 __bfloat162bfloat162(const __hip_bfloat16 a) {
return __hip_bfloat162{a, a};
}
@@ -197,13 +207,13 @@ __device__ __hip_bfloat162 __bfloat162bfloat162(const __hip_bfloat16 a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Reinterprets bits in a __hip_bfloat16 as a signed short integer
*/
-__device__ short int __bfloat16_as_short(const __hip_bfloat16 h) { return (short)h.data; }
+__HOST_DEVICE__ short int __bfloat16_as_short(const __hip_bfloat16 h) { return (short)h.data; }
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Reinterprets bits in a __hip_bfloat16 as an unsigned signed short integer
*/
-__device__ unsigned short int __bfloat16_as_ushort(const __hip_bfloat16 h) { return h.data; }
+__HOST_DEVICE__ unsigned short int __bfloat16_as_ushort(const __hip_bfloat16 h) { return h.data; }
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
@@ -225,7 +235,7 @@ __HOST_DEVICE__ __hip_bfloat162 __float22bfloat162_rn(const float2 a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Combine two __hip_bfloat16 to __hip_bfloat162
*/
-__device__ __hip_bfloat162 __halves2bfloat162(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ __hip_bfloat162 __halves2bfloat162(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __hip_bfloat162{a, b};
}
@@ -233,13 +243,13 @@ __device__ __hip_bfloat162 __halves2bfloat162(const __hip_bfloat16 a, const __hi
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Returns high 16 bits of __hip_bfloat162
*/
-__device__ __hip_bfloat16 __high2bfloat16(const __hip_bfloat162 a) { return a.y; }
+__HOST_DEVICE__ __hip_bfloat16 __high2bfloat16(const __hip_bfloat162 a) { return a.y; }
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Returns high 16 bits of __hip_bfloat162
*/
-__device__ __hip_bfloat162 __high2bfloat162(const __hip_bfloat162 a) {
+__HOST_DEVICE__ __hip_bfloat162 __high2bfloat162(const __hip_bfloat162 a) {
return __hip_bfloat162{a.y, a.y};
}
@@ -253,7 +263,8 @@ __HOST_DEVICE__ float __high2float(const __hip_bfloat162 a) { return __bfloat162
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Extracts high 16 bits from each and combines them
*/
-__device__ __hip_bfloat162 __highs2bfloat162(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ __hip_bfloat162 __highs2bfloat162(const __hip_bfloat162 a,
+ const __hip_bfloat162 b) {
return __hip_bfloat162{a.y, b.y};
}
@@ -261,13 +272,13 @@ __device__ __hip_bfloat162 __highs2bfloat162(const __hip_bfloat162 a, const __hi
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Returns low 16 bits of __hip_bfloat162
*/
-__device__ __hip_bfloat16 __low2bfloat16(const __hip_bfloat162 a) { return a.x; }
+__HOST_DEVICE__ __hip_bfloat16 __low2bfloat16(const __hip_bfloat162 a) { return a.x; }
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Returns low 16 bits of __hip_bfloat162
*/
-__device__ __hip_bfloat162 __low2bfloat162(const __hip_bfloat162 a) {
+__HOST_DEVICE__ __hip_bfloat162 __low2bfloat162(const __hip_bfloat162 a) {
return __hip_bfloat162{a.x, a.x};
}
@@ -281,7 +292,7 @@ __HOST_DEVICE__ float __low2float(const __hip_bfloat162 a) { return __bfloat162f
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Swaps both halves
*/
-__device__ __hip_bfloat162 __lowhigh2highlow(const __hip_bfloat162 a) {
+__HOST_DEVICE__ __hip_bfloat162 __lowhigh2highlow(const __hip_bfloat162 a) {
return __hip_bfloat162{a.y, a.x};
}
@@ -289,7 +300,7 @@ __device__ __hip_bfloat162 __lowhigh2highlow(const __hip_bfloat162 a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Extracts low 16 bits from each and combines them
*/
-__device__ __hip_bfloat162 __lows2bfloat162(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ __hip_bfloat162 __lows2bfloat162(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hip_bfloat162{a.x, b.x};
}
@@ -297,7 +308,7 @@ __device__ __hip_bfloat162 __lows2bfloat162(const __hip_bfloat162 a, const __hip
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Reinterprets short int into a bfloat16
*/
-__device__ __hip_bfloat16 __short_as_bfloat16(const short int a) {
+__HOST_DEVICE__ __hip_bfloat16 __short_as_bfloat16(const short int a) {
return __hip_bfloat16{(unsigned short)a};
}
@@ -305,7 +316,7 @@ __device__ __hip_bfloat16 __short_as_bfloat16(const short int a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_CONV
* \brief Reinterprets unsigned short int into a bfloat16
*/
-__device__ __hip_bfloat16 __ushort_as_bfloat16(const unsigned short int a) {
+__HOST_DEVICE__ __hip_bfloat16 __ushort_as_bfloat16(const unsigned short int a) {
return __hip_bfloat16{a};
}
@@ -314,7 +325,7 @@ __device__ __hip_bfloat16 __ushort_as_bfloat16(const unsigned short int a) {
* \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
* \brief Adds two bfloat16 values
*/
-__device__ __hip_bfloat16 __hadd(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ __hip_bfloat16 __hadd(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __float2bfloat16(__bfloat162float(a) + __bfloat162float(b));
}
@@ -322,7 +333,7 @@ __device__ __hip_bfloat16 __hadd(const __hip_bfloat16 a, const __hip_bfloat16 b)
* \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
* \brief Subtracts two bfloat16 values
*/
-__device__ __hip_bfloat16 __hsub(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ __hip_bfloat16 __hsub(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __float2bfloat16(__bfloat162float(a) - __bfloat162float(b));
}
@@ -330,7 +341,7 @@ __device__ __hip_bfloat16 __hsub(const __hip_bfloat16 a, const __hip_bfloat16 b)
* \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
* \brief Divides two bfloat16 values
*/
-__device__ __hip_bfloat16 __hdiv(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ __hip_bfloat16 __hdiv(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __float2bfloat16(__bfloat162float(a) / __bfloat162float(b));
}
@@ -348,7 +359,7 @@ __device__ __hip_bfloat16 __hfma(const __hip_bfloat16 a, const __hip_bfloat16 b,
* \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
* \brief Multiplies two bfloat16 values
*/
-__device__ __hip_bfloat16 __hmul(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ __hip_bfloat16 __hmul(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __float2bfloat16(__bfloat162float(a) * __bfloat162float(b));
}
@@ -356,7 +367,7 @@ __device__ __hip_bfloat16 __hmul(const __hip_bfloat16 a, const __hip_bfloat16 b)
* \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
* \brief Negate a bfloat16 value
*/
-__device__ __hip_bfloat16 __hneg(const __hip_bfloat16 a) {
+__HOST_DEVICE__ __hip_bfloat16 __hneg(const __hip_bfloat16 a) {
auto ret = a;
ret.data ^= 0x8000;
return ret;
@@ -366,7 +377,7 @@ __device__ __hip_bfloat16 __hneg(const __hip_bfloat16 a) {
* \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
* \brief Returns absolute of a bfloat16
*/
-__device__ __hip_bfloat16 __habs(const __hip_bfloat16 a) {
+__HOST_DEVICE__ __hip_bfloat16 __habs(const __hip_bfloat16 a) {
auto ret = a;
ret.data &= 0x7FFF;
return ret;
@@ -376,7 +387,7 @@ __device__ __hip_bfloat16 __habs(const __hip_bfloat16 a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
* \brief Divides bfloat162 values
*/
-__device__ __hip_bfloat162 __h2div(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ __hip_bfloat162 __h2div(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hip_bfloat162{__float2bfloat16(__bfloat162float(a.x) / __bfloat162float(b.x)),
__float2bfloat16(__bfloat162float(a.y) / __bfloat162float(b.y))};
}
@@ -385,7 +396,7 @@ __device__ __hip_bfloat162 __h2div(const __hip_bfloat162 a, const __hip_bfloat16
* \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
* \brief Returns absolute of a bfloat162
*/
-__device__ __hip_bfloat162 __habs2(const __hip_bfloat162 a) {
+__HOST_DEVICE__ __hip_bfloat162 __habs2(const __hip_bfloat162 a) {
return __hip_bfloat162{__habs(a.x), __habs(a.y)};
}
@@ -393,7 +404,7 @@ __device__ __hip_bfloat162 __habs2(const __hip_bfloat162 a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
* \brief Adds two bfloat162 values
*/
-__device__ __hip_bfloat162 __hadd2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ __hip_bfloat162 __hadd2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hip_bfloat162{__hadd(a.x, b.x), __hadd(a.y, b.y)};
}
@@ -410,7 +421,7 @@ __device__ __hip_bfloat162 __hfma2(const __hip_bfloat162 a, const __hip_bfloat16
* \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
* \brief Multiplies two bfloat162 values
*/
-__device__ __hip_bfloat162 __hmul2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ __hip_bfloat162 __hmul2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hip_bfloat162{__hmul(a.x, b.x), __hmul(a.y, b.y)};
}
@@ -418,7 +429,7 @@ __device__ __hip_bfloat162 __hmul2(const __hip_bfloat162 a, const __hip_bfloat16
* \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
* \brief Converts a bfloat162 into negative
*/
-__device__ __hip_bfloat162 __hneg2(const __hip_bfloat162 a) {
+__HOST_DEVICE__ __hip_bfloat162 __hneg2(const __hip_bfloat162 a) {
return __hip_bfloat162{__hneg(a.x), __hneg(a.y)};
}
@@ -426,15 +437,251 @@ __device__ __hip_bfloat162 __hneg2(const __hip_bfloat162 a) {
* \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
* \brief Subtracts two bfloat162 values
*/
-__device__ __hip_bfloat162 __hsub2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ __hip_bfloat162 __hsub2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hip_bfloat162{__hsub(a.x, b.x), __hsub(a.y, b.y)};
}
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to multiply two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator*(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hmul(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to multiply-assign two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator*=(__hip_bfloat16& l, const __hip_bfloat16& r) {
+ l = __hmul(l, r);
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to unary+ on a __hip_bfloat16 number
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator+(const __hip_bfloat16& l) { return l; }
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to add two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator+(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hadd(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to negate a __hip_bfloat16 number
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator-(const __hip_bfloat16& l) { return __hneg(l); }
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to subtract two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator-(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hsub(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to post increment a __hip_bfloat16 number
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator++(__hip_bfloat16& l, const int) {
+ auto ret = l;
+ l = __hadd(l, HIPRT_ONE_BF16);
+ return ret;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to pre increment a __hip_bfloat16 number
+ */
+__HOST_DEVICE__ __hip_bfloat16& operator++(__hip_bfloat16& l) {
+ l = __hadd(l, HIPRT_ONE_BF16);
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to post decrement a __hip_bfloat16 number
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator--(__hip_bfloat16& l, const int) {
+ auto ret = l;
+ l = __hsub(l, HIPRT_ONE_BF16);
+ return ret;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to pre decrement a __hip_bfloat16 number
+ */
+__HOST_DEVICE__ __hip_bfloat16& operator--(__hip_bfloat16& l) {
+ l = __hsub(l, HIPRT_ONE_BF16);
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to add-assign two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16& operator+=(__hip_bfloat16& l, const __hip_bfloat16& r) {
+ l = l + r;
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to subtract-assign two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16& operator-=(__hip_bfloat16& l, const __hip_bfloat16& r) {
+ l = l - r;
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to divide two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16 operator/(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hdiv(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+ * \brief Operator to divide-assign two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat16& operator/=(__hip_bfloat16& l, const __hip_bfloat16& r) {
+ l = l / r;
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to multiply two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator*(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hmul2(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to multiply-assign two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator*=(__hip_bfloat162& l, const __hip_bfloat162& r) {
+ l = __hmul2(l, r);
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to unary+ on a __hip_bfloat162 number
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator+(const __hip_bfloat162& l) { return l; }
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to add two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator+(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hadd2(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to negate a __hip_bfloat162 number
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator-(const __hip_bfloat162& l) { return __hneg2(l); }
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to subtract two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator-(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hsub2(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to post increment a __hip_bfloat162 number
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator++(__hip_bfloat162& l, const int) {
+ auto ret = l;
+ l = __hadd2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
+ return ret;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to pre increment a __hip_bfloat162 number
+ */
+__HOST_DEVICE__ __hip_bfloat162& operator++(__hip_bfloat162& l) {
+ l = __hadd2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to post decrement a __hip_bfloat162 number
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator--(__hip_bfloat162& l, const int) {
+ auto ret = l;
+ l = __hsub2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
+ return ret;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to pre decrement a __hip_bfloat162 number
+ */
+__HOST_DEVICE__ __hip_bfloat162& operator--(__hip_bfloat162& l) {
+ l = __hsub2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to add-assign two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162& operator+=(__hip_bfloat162& l, const __hip_bfloat162& r) {
+ l = l + r;
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to subtract-assign two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162& operator-=(__hip_bfloat162& l, const __hip_bfloat162& r) {
+ l = l - r;
+ return l;
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to divide two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162 operator/(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __h2div(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+ * \brief Operator to divide-assign two __hip_bfloat162 numbers
+ */
+__HOST_DEVICE__ __hip_bfloat162& operator/=(__hip_bfloat162& l, const __hip_bfloat162& r) {
+ l = l / r;
+ return l;
+}
+
/**
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values
*/
-__device__ bool __heq(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __heq(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __bfloat162float(a) == __bfloat162float(b);
}
@@ -442,7 +689,7 @@ __device__ bool __heq(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - unordered equal
*/
-__device__ bool __hequ(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hequ(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return !(__bfloat162float(a) < __bfloat162float(b)) &&
!(__bfloat162float(a) > __bfloat162float(b));
}
@@ -451,7 +698,7 @@ __device__ bool __hequ(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - greater than
*/
-__device__ bool __hgt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hgt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __bfloat162float(a) > __bfloat162float(b);
}
@@ -459,7 +706,7 @@ __device__ bool __hgt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - unordered greater than
*/
-__device__ bool __hgtu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hgtu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return !(__bfloat162float(a) <= __bfloat162float(b));
}
@@ -467,7 +714,7 @@ __device__ bool __hgtu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - greater than equal
*/
-__device__ bool __hge(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hge(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __bfloat162float(a) >= __bfloat162float(b);
}
@@ -475,7 +722,7 @@ __device__ bool __hge(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - unordered greater than equal
*/
-__device__ bool __hgeu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hgeu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return !(__bfloat162float(a) < __bfloat162float(b));
}
@@ -483,7 +730,7 @@ __device__ bool __hgeu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - not equal
*/
-__device__ bool __hne(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hne(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __bfloat162float(a) != __bfloat162float(b);
}
@@ -491,7 +738,7 @@ __device__ bool __hne(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - unordered not equal
*/
-__device__ bool __hneu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hneu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return !(__bfloat162float(a) == __bfloat162float(b));
}
@@ -499,23 +746,31 @@ __device__ bool __hneu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - return max
*/
-__device__ __hip_bfloat16 __hmax(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ __hip_bfloat16 __hmax(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+#if __HIP_DEVICE_COMPILE__
return __float2bfloat16(__ocml_fmax_f32(__bfloat162float(a), __bfloat162float(b)));
+#else
+ return __float2bfloat16(std::max(__bfloat162float(a), __bfloat162float(b)));
+#endif
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - return min
*/
-__device__ __hip_bfloat16 __hmin(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ __hip_bfloat16 __hmin(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+#if __HIP_DEVICE_COMPILE__
return __float2bfloat16(__ocml_fmin_f32(__bfloat162float(a), __bfloat162float(b)));
+#else
+ return __float2bfloat16(std::min(__bfloat162float(a), __bfloat162float(b)));
+#endif
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - less than operator
*/
-__device__ bool __hlt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hlt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __bfloat162float(a) < __bfloat162float(b);
}
@@ -523,15 +778,15 @@ __device__ bool __hlt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - unordered less than
*/
-__device__ bool __hltu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hltu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return !(__bfloat162float(a) >= __bfloat162float(b));
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
- * \brief Compare two bfloat162 values - less than
+ * \brief Compare two bfloat162 values - less than equal
*/
-__device__ bool __hle(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hle(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return __bfloat162float(a) <= __bfloat162float(b);
}
@@ -539,7 +794,7 @@ __device__ bool __hle(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Compare two bfloat162 values - unordered less than equal
*/
-__device__ bool __hleu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+__HOST_DEVICE__ bool __hleu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
return !(__bfloat162float(a) > __bfloat162float(b));
}
@@ -547,19 +802,33 @@ __device__ bool __hleu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Checks if number is inf
*/
-__device__ int __hisinf(const __hip_bfloat16 a) { return __ocml_isinf_f32(__bfloat162float(a)); }
+__HOST_DEVICE__ int __hisinf(const __hip_bfloat16 a) {
+ unsigned short sign = a.data & 0x8000U;
+#if __HIP_DEVICE_COMPILE__
+ int res = __ocml_isinf_f32(__bfloat162float(a));
+#else
+ int res = std::isinf(__bfloat162float(a)) ? 1 : 0;
+#endif
+ return (res == 0) ? res : ((sign != 0U) ? -res : res);
+}
/**
* \ingroup HIP_INTRINSIC_BFLOAT16_COMP
* \brief Checks if number is nan
*/
-__device__ bool __hisnan(const __hip_bfloat16 a) { return __ocml_isnan_f32(__bfloat162float(a)); }
+__HOST_DEVICE__ bool __hisnan(const __hip_bfloat16 a) {
+#if __HIP_DEVICE_COMPILE__
+ return __ocml_isnan_f32(__bfloat162float(a));
+#else
+ return std::isnan(__bfloat162float(a));
+#endif
+}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Checks if two numbers are equal
*/
-__device__ bool __hbeq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbeq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __heq(a.x, b.x) && __heq(a.y, b.y);
}
@@ -567,7 +836,7 @@ __device__ bool __hbeq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Checks if two numbers are equal - unordered
*/
-__device__ bool __hbequ2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbequ2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hequ(a.x, b.x) && __hequ(a.y, b.y);
}
@@ -575,7 +844,7 @@ __device__ bool __hbequ2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a >= b
*/
-__device__ bool __hbge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hge(a.x, b.x) && __hge(a.y, b.y);
}
@@ -583,7 +852,7 @@ __device__ bool __hbge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a >= b - unordered
*/
-__device__ bool __hbgeu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbgeu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hgeu(a.x, b.x) && __hgeu(a.y, b.y);
}
@@ -591,7 +860,7 @@ __device__ bool __hbgeu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a > b
*/
-__device__ bool __hbgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hgt(a.x, b.x) && __hgt(a.y, b.y);
}
@@ -599,7 +868,7 @@ __device__ bool __hbgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a > b - unordered
*/
-__device__ bool __hbgtu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbgtu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hgtu(a.x, b.x) && __hgtu(a.y, b.y);
}
@@ -607,7 +876,7 @@ __device__ bool __hbgtu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a <= b
*/
-__device__ bool __hble2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hble2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hle(a.x, b.x) && __hle(a.y, b.y);
}
@@ -615,7 +884,7 @@ __device__ bool __hble2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a <= b - unordered
*/
-__device__ bool __hbleu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbleu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hleu(a.x, b.x) && __hleu(a.y, b.y);
}
@@ -623,7 +892,7 @@ __device__ bool __hbleu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a < b
*/
-__device__ bool __hblt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hblt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hlt(a.x, b.x) && __hlt(a.y, b.y);
}
@@ -631,7 +900,7 @@ __device__ bool __hblt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a < b - unordered
*/
-__device__ bool __hbltu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbltu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hltu(a.x, b.x) && __hltu(a.y, b.y);
}
@@ -639,7 +908,7 @@ __device__ bool __hbltu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a != b
*/
-__device__ bool __hbne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hne(a.x, b.x) && __hne(a.y, b.y);
}
@@ -647,7 +916,7 @@ __device__ bool __hbne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a != b
*/
-__device__ bool __hbneu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+__HOST_DEVICE__ bool __hbneu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
return __hneu(a.x, b.x) && __hneu(a.y, b.y);
}
@@ -655,84 +924,175 @@ __device__ bool __hbneu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a != b, returns 1.0 if equal, otherwise 0.0
*/
-__device__ __hip_bfloat162 __heq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{{__heq(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
- {__heq(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
+__HOST_DEVICE__ __hip_bfloat162 __heq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{{__heq(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
+ {__heq(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a >= b, returns 1.0 if greater than equal, otherwise 0.0
*/
-__device__ __hip_bfloat162 __hge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{{__hge(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
- {__hge(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
+__HOST_DEVICE__ __hip_bfloat162 __hge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{{__hge(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
+ {__hge(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a > b, returns 1.0 if greater than equal, otherwise 0.0
*/
-__device__ __hip_bfloat162 __hgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{{__hgt(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
- {__hgt(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
+__HOST_DEVICE__ __hip_bfloat162 __hgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{{__hgt(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
+ {__hgt(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ONE_BF16}};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a is NaN, returns 1.0 if NaN, otherwise 0.0
*/
-__device__ __hip_bfloat162 __hisnan2(const __hip_bfloat162 a) {
- return __hip_bfloat162{
- {__ocml_isnan_f32(__bfloat162float(a.x)) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
- {__ocml_isnan_f32(__bfloat162float(a.y)) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
+__HOST_DEVICE__ __hip_bfloat162 __hisnan2(const __hip_bfloat162 a) {
+ return __hip_bfloat162{{__hisnan(a.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
+ {__hisnan(a.y) ? HIPRT_ONE_BF16 : HIPRT_ONE_BF16}};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a <= b, returns 1.0 if greater than equal, otherwise 0.0
*/
-__device__ __hip_bfloat162 __hle2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{{__hle(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
- {__hle(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
+__HOST_DEVICE__ __hip_bfloat162 __hle2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{{__hle(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
+ {__hle(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Check for a < b, returns 1.0 if greater than equal, otherwise 0.0
*/
-__device__ __hip_bfloat162 __hlt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{{__hlt(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
- {__hlt(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
+__HOST_DEVICE__ __hip_bfloat162 __hlt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{{__hlt(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
+ {__hlt(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Returns max of two elements
*/
-__device__ __hip_bfloat162 __hmax2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{
- __float2bfloat16(__ocml_fmax_f32(__bfloat162float(a.x), __bfloat162float(b.x))),
- __float2bfloat16(__ocml_fmax_f32(__bfloat162float(a.y), __bfloat162float(b.y)))};
+__HOST_DEVICE__ __hip_bfloat162 __hmax2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{__hmax(a.x, b.x), __hmax(a.y, b.y)};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Returns min of two elements
*/
-__device__ __hip_bfloat162 __hmin2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{
- __float2bfloat16(__ocml_fmin_f32(__bfloat162float(a.x), __bfloat162float(b.x))),
- __float2bfloat16(__ocml_fmin_f32(__bfloat162float(a.y), __bfloat162float(b.y)))};
+__HOST_DEVICE__ __hip_bfloat162 __hmin2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{__hmin(a.x, b.x), __hmin(a.y, b.y)};
}
/**
* \ingroup HIP_INTRINSIC_BFLOAT162_COMP
* \brief Checks for not equal to
*/
-__device__ __hip_bfloat162 __hne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
- return __hip_bfloat162{{__hne(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
- {__hne(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
+__HOST_DEVICE__ __hip_bfloat162 __hne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+ return __hip_bfloat162{{__hne(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
+ {__hne(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+ * \brief Operator to perform an equal compare on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator==(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __heq(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+ * \brief Operator to perform a not equal on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator!=(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hne(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+ * \brief Operator to perform a less than on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator<(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hlt(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+ * \brief Operator to perform a less than equal on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator<=(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hle(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+ * \brief Operator to perform a greater than on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator>(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hgt(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+ * \brief Operator to perform a greater than equal on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator>=(const __hip_bfloat16& l, const __hip_bfloat16& r) {
+ return __hge(l, r);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+ * \brief Operator to perform an equal compare on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator==(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __heq(l.x, r.x) && __heq(l.y, r.y);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+ * \brief Operator to perform a not equal on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator!=(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hne(l.x, r.x) || __hne(l.y, r.y);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+ * \brief Operator to perform a less than on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator<(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hlt(l.x, r.x) && __hlt(l.y, r.y);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+ * \brief Operator to perform a less than equal on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator<=(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hle(l.x, r.x) && __hle(l.y, r.y);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+ * \brief Operator to perform a greater than on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator>(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hgt(l.x, r.x) && __hgt(l.y, r.y);
+}
+
+/**
+ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+ * \brief Operator to perform a greater than equal on two __hip_bfloat16 numbers
+ */
+__HOST_DEVICE__ bool operator>=(const __hip_bfloat162& l, const __hip_bfloat162& r) {
+ return __hge(l.x, r.x) && __hge(l.y, r.y);
}
/**
@@ -974,5 +1334,4 @@ __device__ __hip_bfloat162 h2sqrt(const __hip_bfloat162 h) {
__device__ __hip_bfloat162 h2trunc(const __hip_bfloat162 h) {
return __hip_bfloat162{htrunc(h.x), htrunc(h.y)};
}
-
#endif

View File

@@ -88,6 +88,11 @@ in stdenv.mkDerivation (finalAttrs: {
"-DCMAKE_INSTALL_LIBDIR=lib"
];
patches = [
./add-missing-operators.patch
./static-functions.patch
];
postPatch = ''
patchShebangs hipamd/src

Some files were not shown because too many files have changed in this diff Show More