Merge master into staging-next

This commit is contained in:
github-actions[bot]
2023-01-19 18:01:18 +00:00
committed by GitHub
112 changed files with 12756 additions and 12949 deletions
@@ -514,6 +514,22 @@
dynamically.
</para>
</listitem>
<listitem>
<para>
The <literal>root</literal> package is now built with the
<literal>&quot;-Dgnuinstall=ON&quot;</literal> CMake flag,
making the output conform the <literal>bin</literal>
<literal>lib</literal> <literal>share</literal> layout. In
this layout, <literal>tutorials</literal> is under
<literal>share/doc/ROOT/</literal>; <literal>cmake</literal>,
<literal>font</literal>, <literal>icons</literal>,
<literal>js</literal> and <literal>macro</literal> under
<literal>share/root</literal>;
<literal>Makefile.comp</literal> and
<literal>Makefile.config</literal> under
<literal>etc/root</literal>.
</para>
</listitem>
<listitem>
<para>
Enabling global redirect in
@@ -135,6 +135,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The new option `users.motdFile` allows configuring a Message Of The Day that can be updated dynamically.
- The `root` package is now built with the `"-Dgnuinstall=ON"` CMake flag, making the output conform the `bin` `lib` `share` layout. In this layout, `tutorials` is under `share/doc/ROOT/`; `cmake`, `font`, `icons`, `js` and `macro` under `share/root`; `Makefile.comp` and `Makefile.config` under `etc/root`.
- Enabling global redirect in `services.nginx.virtualHosts` now allows one to add exceptions with the `locations` option.
- A new option `recommendedBrotliSettings` has been added to `services.nginx`. Learn more about compression in Brotli format [here](https://github.com/google/ngx_brotli/blob/master/README.md).
@@ -1,20 +1,13 @@
{ lib, stdenv, fetchurl }:
{ lib, trivialBuild, fetchurl }:
stdenv.mkDerivation {
name = "control-lock";
trivialBuild {
pname = "control-lock";
src = fetchurl {
url = "https://github.com/emacsmirror/emacswiki.org/blob/185fdc34fb1e02b43759ad933d3ee5646b0e78f8/control-lock.el";
sha256 = "1b5xcgq2r565pr1c14dwrmn1fl05p56infapa5pqvajv2kpfla7h";
url = "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/185fdc34fb1e02b43759ad933d3ee5646b0e78f8/control-lock.el";
hash = "sha256-JCrmS3FSGDHSR+eAR0X/uO0nAgd3TUmFxwEVH5+KV+4=";
};
dontUnpack = true;
installPhase = ''
install -d $out/share/emacs/site-lisp
install $src $out/share/emacs/site-lisp/control-lock.el
'';
meta = {
description = "Like caps-lock, but for your control key. Give your pinky a rest!";
homepage = "https://www.emacswiki.org/emacs/control-lock.el";
+4 -6
View File
@@ -22,13 +22,13 @@
let
# when bumping the version, check if imhex has gotten support for the capstone version in nixpkgs
version = "1.19.3";
version = "1.26.2";
patterns_src = fetchFromGitHub {
owner = "WerWolv";
repo = "ImHex-Patterns";
rev = "ImHex-v${version}";
hash = "sha256-mukGPN2TugJZLLuZ5FTvZ4DxUsMGfVNhBFAPnBRC0qs=";
hash = "sha256-2+7bJzgwHfXcINM5oxwi3vEbUtq9gGJc/uxFOwT4RnM=";
};
in
@@ -41,7 +41,7 @@ gcc12Stdenv.mkDerivation rec {
owner = "WerWolv";
repo = pname;
rev = "v${version}";
hash = "sha256-SFv5ulyjm5Yf+3Gpx+A74so2YClCJx1sx0LE5fh5eG4=";
hash = "sha256-H2bnRByCUAltngmVWgPW4vW8k5AWecOAzwtBKsjbpTw=";
};
nativeBuildInputs = [ cmake llvm python3 perl pkg-config ];
@@ -72,10 +72,8 @@ gcc12Stdenv.mkDerivation rec {
"-DUSE_SYSTEM_YARA=ON"
];
# for reasons unknown, the built-in plugin isn't found unless made available under $out/bin
postInstall = ''
ln -s $out/share/imhex/plugins $out/bin/
mkdir -p $out/share/imhex
for d in ${patterns_src}/{constants,encodings,includes,magic,patterns}; do
cp -r $d $out/share/imhex/
done
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,6 @@
# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
{ buildGrammar, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchgit, fetchhg, fetchsvn }:
{ buildGrammar, fetchCrate, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchHex, fetchgit, fetchhg, fetchsvn }:
{
ada = buildGrammar {
@@ -115,12 +115,12 @@
};
c_sharp = buildGrammar {
language = "c_sharp";
version = "3b661ce";
version = "2574501";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c-sharp";
rev = "3b661ced8d510aa424e2f68314520c281dd8c113";
hash = "sha256-Z+ueKX2CAtWTCMipElZUl97hrUEb8Dv1po8xSLI3iJA=";
rev = "2574501b475b7ba7bc10d08dd1ff9732d3769662";
hash = "sha256-bXwGZJ+lYTJyaD7kbQGL6hagpkgqqCsPHBiz9AOXfNc=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
};
@@ -402,6 +402,17 @@
};
meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
};
fsh = buildGrammar {
language = "fsh";
version = "fa33477";
source = fetchFromGitHub {
owner = "mgramigna";
repo = "tree-sitter-fsh";
rev = "fa3347712f7a59ed02ccf508284554689c6cde28";
hash = "sha256-6TLG2edQeo+jRVAnO6mq3pC8RYNFi2UVVT3mQGZqk5U=";
};
meta.homepage = "https://github.com/mgramigna/tree-sitter-fsh";
};
fusion = buildGrammar {
language = "fusion";
version = "19db2f4";
@@ -448,12 +459,12 @@
};
gitcommit = buildGrammar {
language = "gitcommit";
version = "0ef7dd0";
version = "190d288";
source = fetchFromGitHub {
owner = "gbprod";
repo = "tree-sitter-gitcommit";
rev = "0ef7dd07236141a878b4cc2c488375baa5cc9d5d";
hash = "sha256-8OyjmnCLR14ivJBf/9KO4rmc99xL818iMY8uxkjtVGw=";
rev = "190d288a1746bddb4abe96b597fb7d17b76e5522";
hash = "sha256-PPdwdUfJ+2TCxVdEvexxGSBMDZmI1GW7eSfc/X3Me7Y=";
};
meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
};
@@ -482,12 +493,12 @@
};
glimmer = buildGrammar {
language = "glimmer";
version = "fee3427";
version = "c0bfd26";
source = fetchFromGitHub {
owner = "alexlafroscia";
repo = "tree-sitter-glimmer";
rev = "fee34278dc212869dcfc92fce3007ee79a752867";
hash = "sha256-a3goK+QSkrdsKvimT8vpsJ1bt8FhLf1bws0aqjncv3A=";
rev = "c0bfd260cdcbe2976f4633547c218f09f7222a89";
hash = "sha256-Goj900MJxO44KYkzD0UpGFEGHAwr6qhe2bmCzpx5BhE=";
};
meta.homepage = "https://github.com/alexlafroscia/tree-sitter-glimmer";
};
@@ -903,23 +914,23 @@
};
meson = buildGrammar {
language = "meson";
version = "6c5f7ef";
version = "5f3138d";
source = fetchFromGitHub {
owner = "Decodetalkers";
repo = "tree-sitter-meson";
rev = "6c5f7ef944f9c6ae8a0fc28b9071a4b493652238";
hash = "sha256-r/H7v6a1blsendVBxx9Qy4f2i4V3LsxSwe+9/PRbfG8=";
rev = "5f3138d555aceef976ec9a1d4a3f78e13b31e45f";
hash = "sha256-P0S2JpRjAznDLaU97NMzLuuNyPqqy4RNqBa+PKvyl6s=";
};
meta.homepage = "https://github.com/Decodetalkers/tree-sitter-meson";
};
nickel = buildGrammar {
language = "nickel";
version = "7867780";
version = "092e901";
source = fetchFromGitHub {
owner = "nickel-lang";
repo = "tree-sitter-nickel";
rev = "7867780e52ebeda0daa4a55acb870100e070d274";
hash = "sha256-SXM15LbQ4bGKx+2QY7jMHq4G4ATtak2Umnb3SHFUqM0=";
rev = "092e90142667482996880044d2c04837d3d1c266";
hash = "sha256-y0Lx6HdkoC7rOzm8fOfLBUt6672qe7AHe1SI6YY/aHE=";
};
meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
};
@@ -1082,12 +1093,12 @@
};
pug = buildGrammar {
language = "pug";
version = "63e2149";
version = "148608f";
source = fetchFromGitHub {
owner = "zealot128";
repo = "tree-sitter-pug";
rev = "63e214905970e75f065688b1e8aa90823c3aacdc";
hash = "sha256-t/KRUV1DMlU/xu5BRe1VZm+dliXdtUVhFO+6psiHf+Q=";
rev = "148608f3a88708829ac4e79ff9cb1c4a618e01b7";
hash = "sha256-wEUJdu+2deObsc54BNPdUyTAR9Eih8hGbWRrwP5bhMk=";
};
meta.homepage = "https://github.com/zealot128/tree-sitter-pug";
};
@@ -1236,23 +1247,23 @@
};
scala = buildGrammar {
language = "scala";
version = "fd05f09";
version = "f6bbf35";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-scala";
rev = "fd05f09043051c82fba695aa95cee9c534fbc533";
hash = "sha256-/o9TsnKGeukIGgfOjwNDjdxPkr5zyIPh1bZsvr2FX90=";
rev = "f6bbf35de41653b409ca9a3537a154f2b095ef64";
hash = "sha256-GNGD5UIPzpRQbGCp/fcBV6laPRhU5YQGbNiaAGis0CY=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
};
scheme = buildGrammar {
language = "scheme";
version = "16bdcf0";
version = "67b90a3";
source = fetchFromGitHub {
owner = "6cdh";
repo = "tree-sitter-scheme";
rev = "16bdcf0495865e17ae5b995257458e31e8b7f450";
hash = "sha256-+K+T5IgcEdTZK4s60AmkPg7L6Aw0mj36FMsWaRxUT0I=";
rev = "67b90a365bebf4406af4e5a546d6336de787e135";
hash = "sha256-aHYOzOPK74Jd6MWFsap/k+dG+aJDTXQ05q7NoP5kfd8=";
};
meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
};
@@ -1313,12 +1324,12 @@
};
sql = buildGrammar {
language = "sql";
version = "3647b9f";
version = "9d98029";
source = fetchFromGitHub {
owner = "derekstride";
repo = "tree-sitter-sql";
rev = "3647b9f5b937269f43ac6e4b6ebcb6f52e033c17";
hash = "sha256-flZtgmMflDlWggMisUfVOA7ikGpkYwAGxzlc4jYzrrQ=";
rev = "9d9802991aa1d1bc00eee7713a838dab1eb4f149";
hash = "sha256-Iy5rqNZem1r++aI7vGITzBSFGjdDLGHFOgBWqIgKZX0=";
};
generate = true;
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
@@ -1358,12 +1369,12 @@
};
swift = buildGrammar {
language = "swift";
version = "5f0ffaf";
version = "0fe0de5";
source = fetchFromGitHub {
owner = "alex-pinkus";
repo = "tree-sitter-swift";
rev = "5f0ffaf21c7fda4d758d9ef5b20d563271653ce0";
hash = "sha256-tPcCa3hqWN2NuQZOJXnB10h0m1MzRL4M+dvrtlpkAGs=";
rev = "0fe0de56b528cbf24a654c734ca181b48be3831d";
hash = "sha256-tU6UTyTR5biS6qBG0z6NbjJQUtZItzzscAKftUAzLq0=";
};
generate = true;
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@@ -1428,12 +1439,12 @@
};
tlaplus = buildGrammar {
language = "tlaplus";
version = "f2ad727";
version = "7c5452a";
source = fetchFromGitHub {
owner = "tlaplus-community";
repo = "tree-sitter-tlaplus";
rev = "f2ad7272d145598ff2d27fda15379d26aa33a7e1";
hash = "sha256-lnl0q9vJiIoqU3Lo+uCIcMdMueXTQ/MVgZUCHvXeqhs=";
rev = "7c5452a0720271a349d6174b8778e76b189bebef";
hash = "sha256-DJIA2gvwWWqTGrC48FZiRZNt048KiQ/4sZxYSnHmlEg=";
};
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
};
@@ -1507,12 +1518,12 @@
};
v = buildGrammar {
language = "v";
version = "497563e";
version = "0b03983";
source = fetchFromGitHub {
owner = "vlang";
repo = "vls";
rev = "497563e140bf17d73f28e20b5a65e72740c2dc65";
hash = "sha256-2AU/QGAroq5NReGhCbSJkAnGvftubtCG4hnnBjPKbdY=";
rev = "0b039830a33e759f0c9ee978b47ad10b82d37349";
hash = "sha256-sQxq/tWNN/aWD3ZmNhil45cnjzfy/2AXn2X/NhzvnKk=";
};
location = "tree_sitter_v";
meta.homepage = "https://github.com/vlang/vls";
@@ -1052,7 +1052,7 @@ self: super: {
libiconv
];
cargoSha256 = "sha256-ls4WZQees78SNJilXoL3CSXAaILxX1/WUMCyO7+14IM=";
cargoSha256 = "sha256-v9RXW5RSPMotRVR/9ljBJ9VNbrLnSkU3zlEU79Xem28=";
};
in
''
@@ -77,6 +77,7 @@ https://github.com/rbgrouleff/bclose.vim/,,
https://github.com/max397574/better-escape.nvim/,,
https://github.com/sblumentritt/bitbake.vim/,,
https://github.com/blueballs-theme/blueballs-neovim/,,
https://github.com/nat-418/boole.nvim/,HEAD,
https://github.com/turbio/bracey.vim/,,
https://github.com/fruit-in/brainfuck-vim/,,
https://github.com/famiu/bufdelete.nvim/,,
+3 -3
View File
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchzip, wxGTK32, coreutils, SDL2, openal, alsa-lib, pkg-config
{ stdenv, lib, fetchzip, wxGTK32, coreutils, SDL2, openal, alsa-lib, pkg-config, gtk3, wrapGAppsHook
, autoreconfHook, withNetworking ? true, withALSA ? true }:
stdenv.mkDerivation rec {
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "067pbnc15h6a4pnnym82klr1w8qwfm6p0pkx93gx06wvwqsxvbdv";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ wxGTK32 coreutils SDL2 openal ]
nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
buildInputs = [ wxGTK32 coreutils SDL2 openal gtk3 ]
++ lib.optional withALSA alsa-lib;
configureFlags = [ "--enable-release-build" ]
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "jpeginfo";
version = "1.6.2";
version = "1.7.0";
src = fetchurl {
url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz";
sha256 = "sha256-HV/alZ68VA+pyBN25gCHVkmaUkpfZvgSnIeRXkzNoAQ=";
sha256 = "sha256-3JhQg0SNlwfULkm+2CaiR8Db2mkTyHDppdm/fHSTllk=";
};
buildInputs = [ libjpeg ];
+6 -5
View File
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook
{ lib, stdenv, requireFile, dpkg, wrapGAppsHook, autoPatchelfHook
, alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11, libxcb
, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender
@@ -6,11 +6,12 @@
stdenv.mkDerivation rec {
pname = "upwork";
version = "5.6.10.13";
version = "5.8.0.24";
src = fetchurl {
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_13_3c485d1dd2af4f61/${pname}_${version}_amd64.deb";
sha256 = "c3e1ecf14c99596f434edf93a2e08f031fbaa167025d1280cf19f68b829d6b79";
src = requireFile {
name = "${pname}_${version}_amd64.deb";
url = "https://www.upwork.com/ab/downloads/os/linux/";
sha256 = "sha256-9X1U/ImI8GfCiYLpLD+jICYAYsAr1NJLlOMvecXK7hc=";
};
nativeBuildInputs = [
@@ -1,14 +1,14 @@
{ mkYarnPackage, fetchFromGitHub, electron, makeWrapper, makeDesktopItem, lib, p7zip }:
{ mkYarnPackage, fetchFromGitHub, electron, makeWrapper, makeDesktopItem, lib }:
mkYarnPackage rec {
pname = "vieb";
version = "7.2.0";
version = "9.5.0";
src = fetchFromGitHub {
owner = "Jelmerro";
repo = pname;
rev = version;
sha256 = "sha256-4iokmUzs72aVHb95D98ZITRygn4gGAc/K+M5uMnF2NM=";
sha256 = "sha256-SWHjzrEvRlTn4HJnT81Le4KsFDypN3QH3F/z7zZ8p3E=";
};
packageJSON = ./package.json;
@@ -37,8 +37,6 @@ mkYarnPackage rec {
unlink $out/libexec/vieb/deps/vieb/node_modules
ln -s $out/libexec/vieb/node_modules $out/libexec/vieb/deps/vieb/node_modules
find $out/libexec/vieb/node_modules/7zip-bin -name 7za -exec ln -s -f ${p7zip}/bin/7za {} ';'
install -Dm0644 {${desktopItem},$out}/share/applications/vieb.desktop
pushd $out/libexec/vieb/node_modules/vieb/app/img/icons
@@ -48,7 +46,8 @@ mkYarnPackage rec {
popd
makeWrapper ${electron}/bin/electron $out/bin/vieb \
--add-flags $out/libexec/vieb/node_modules/vieb/app
--add-flags $out/libexec/vieb/node_modules/vieb/app \
--set npm_package_version ${version}
'';
distPhase = ":"; # disable useless $out/tarballs directory
@@ -1,20 +1,16 @@
{
"name": "vieb",
"productName": "Vieb",
"version": "7.1.2",
"version": "9.5.0",
"description": "Vim Inspired Electron Browser",
"main": "app/index.js",
"scripts": {
"build": "node build.js",
"buildall": "node build.js --linux --win --mac",
"buildlinux": "node build.js --linux",
"buildmac": "node build.js --mac",
"buildwin": "node build.js --win",
"dev": "electron app --datafolder=./ViebData/",
"fix": "eslint --fix app .eslintrc.js build.js",
"lint": "eslint app .eslintrc.js build.js",
"start": "electron app",
"test": "TZ=UTC jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u && npm run lint && echo 'All good :)'"
"test": "TZ=UTC jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u",
"test:all": "npm run test && npm run lint && echo 'All good :)'"
},
"repository": "https://github.com/Jelmerro/Vieb",
"homepage": "https://vieb.dev",
@@ -26,20 +22,28 @@
],
"author": "Jelmer van Arnhem",
"email": "Jelmerro@users.noreply.github.com",
"funding": "https://github.com/sponsors/Jelmerro/",
"license": "GPL-3.0-or-later",
"devDependencies": {
"electron": "17.0.1",
"electron-builder": "22.14.13",
"eslint": "8.9.0",
"electron": "22.0.0",
"electron-builder": "24.0.0-alpha.7",
"eslint": "8.29.0",
"eslint-plugin-sort-keys": "2.3.5",
"jest": "27.5.1",
"jest-environment-jsdom": "27.5.1"
"jest": "29.3.1",
"jest-environment-jsdom": "29.3.1",
"terser-webpack-plugin": "5.3.6",
"webpack": "5.75.0",
"webpack-cli": "5.0.1",
"webpack-node-externals": "3.0.0"
},
"dependencies": {
"7zip-bin": "5.1.1",
"@cliqz/adblocker-electron": "1.23.6",
"@cliqz/adblocker-electron-preload": "1.23.6",
"is-svg": "4.3.2",
"rimraf": "3.0.2"
"@cliqz/adblocker-electron": "1.25.1",
"@cliqz/adblocker-electron-preload": "1.25.1",
"@mozilla/readability": "0.4.2",
"darkreader": "4.9.58",
"highlight.js": "11.7.0",
"jsdom": "20.0.3",
"marked": "4.2.4",
"picomatch": "2.3.1"
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -67,10 +67,15 @@ stdenv.mkDerivation rec {
libshumate
];
# enables pipewire API deprecated in 0.3.64
# fixes error caused by https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/issues/55
NIX_CFLAGS_COMPILE = [ "-DPW_ENABLE_DEPRECATED" ];
meta = with lib; {
description = "Matrix group messaging app (development version)";
homepage = "https://gitlab.gnome.org/GNOME/fractal";
license = licenses.gpl3Plus;
maintainers = teams.gnome.members ++ (with maintainers; [ anselmschueler ]);
mainProgram = "fractal";
};
}
@@ -2,7 +2,6 @@
, src
, jami-meta
, lib
, fetchpatch
, stdenv
, pkg-config
, cmake
@@ -31,14 +30,6 @@ stdenv.mkDerivation {
sourceRoot = "source/client-qt";
patches = [
(fetchpatch {
name = "fix-build-without-webengine.patch";
url = "https://git.jami.net/savoirfairelinux/jami-client-qt/-/commit/9b2dbb64eaa9256f800dfa69d897545f4b0affd2.patch";
hash = "sha256-lgDlSlXIjtdymBa7xSe1PabSK9DnSG5KnJggOLWyn+A=";
})
];
preConfigure = ''
echo 'const char VERSION_STRING[] = "${version}";' > src/app/version.h
'';
@@ -3,7 +3,8 @@
, callPackage
, fetchFromGitHub
, fetchzip
, ffmpeg
, fetchpatch
, ffmpeg_5
, pjsip
, opendht
, jack
@@ -12,11 +13,11 @@
}:
let
version = "20221031.1308.130cc26";
version = "20221220.0956.79e1207";
src = fetchzip {
url = "https://dl.jami.net/release/tarballs/jami_${version}.tar.gz";
hash = "sha256-+xpSoSsG+G+w8+g0FhXx+6Phroj83ijW8xWvYO+kdqY=";
hash = "sha256-AQgz2GqueFG+yK42zJ9MzvP4BddGt0BFb+cIoA6Fif8=";
stripRoot = false;
postFetch = ''
@@ -40,7 +41,7 @@ let
readLinesToList = with builtins; file: filter (s: isString s && stringLength s > 0) (split "\n" (readFile file));
in
rec {
ffmpeg-jami = (ffmpeg.override rec {
ffmpeg-jami = (ffmpeg_5.override rec {
version = "5.0.1";
branch = version;
sha256 = "sha256-KN8z1AChwcGyDQepkZeAmjuI73ZfXwfcH/Bn+sZMWdY=";
@@ -50,7 +51,14 @@ rec {
patch-src = src + "/daemon/contrib/src/ffmpeg/";
in
{
patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/ffmpeg_patches));
patches = old.patches ++ (map (x: patch-src + x) (readLinesToList ./config/ffmpeg_patches)) ++
# SDL2 recently changed their versioning
[
(fetchpatch {
url = "https://git.videolan.org/?p=ffmpeg.git;a=patch;h=e5163b1d34381a3319214a902ef1df923dd2eeba";
hash = "sha256-nLhP2+34cj5EgpnUrePZp60nYAxmbhZAEDfay4pBVk0=";
})
];
configureFlags = old.configureFlags
++ (readLinesToList ./config/ffmpeg_args_common)
++ lib.optionals stdenv.isLinux (readLinesToList ./config/ffmpeg_args_linux)
@@ -72,7 +80,20 @@ rec {
sha256 = "sha256-N7jn4qen+PgFiVkTFi2HSWhx2QPHwAYMtnrpE/ptDVc=";
};
patches = (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches));
patches = (map (x: patch-src + x) (readLinesToList ./config/pjsip_patches)) ++ [
(fetchpatch {
name = "CVE-2022-23537.patch";
url = "https://github.com/pjsip/pjproject/commit/d8440f4d711a654b511f50f79c0445b26f9dd1e1.patch";
sha256 = "sha256-7ueQCHIiJ7MLaWtR4+GmBc/oKaP+jmEajVnEYqiwLRA=";
})
(fetchpatch {
name = "CVE-2022-23547.patch";
url = "https://github.com/pjsip/pjproject/commit/bc4812d31a67d5e2f973fbfaf950d6118226cf36.patch";
sha256 = "sha256-bpc8e8VAQpfyl5PX96G++6fzkFpw3Or1PJKNPKl7N5k=";
})
];
patchFlags = [ "-p1" "-l" ];
configureFlags = (readLinesToList ./config/pjsip_args_common)
++ lib.optionals stdenv.isLinux (readLinesToList ./config/pjsip_args_linux);
@@ -88,6 +109,6 @@ rec {
};
jami-client = qt6Packages.callPackage ./client.nix {
inherit version src jami-meta ffmpeg-jami;
inherit version src ffmpeg-jami jami-meta;
};
}
@@ -6,6 +6,7 @@
, pkg-config
, protobuf
, makeWrapper
, git
, dbus
, libnftnl
, libmnl
@@ -30,6 +31,7 @@ rustPlatform.buildRustPackage rec {
pkg-config
protobuf
makeWrapper
git
];
buildInputs = [
@@ -157,9 +157,6 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-Drpath=ON"
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-Dbuiltin_llvm=OFF"
"-Dbuiltin_nlohmannjson=OFF"
"-Dbuiltin_openui5=OFF"
@@ -174,6 +171,7 @@ stdenv.mkDerivation rec {
"-Dfftw3=OFF"
"-Dfitsio=OFF"
"-Dfortran=OFF"
"-Dgnuinstall=ON"
"-Dimt=ON"
"-Dgfal=OFF"
"-Dgviz=OFF"
+35 -31
View File
@@ -2,67 +2,71 @@
, stdenvNoCC
, fetchFromGitHub
, gtk3
, colloid-gtk-theme
, gnome-themes-extra
, gtk-engine-murrine
, python3
, sassc
, tweaks ? [ ]
, accents ? [ "blue" ]
, size ? "standard"
, tweaks ? [ ]
, variant ? "frappe"
}:
let
validAccents = [ "blue" "flamingo" "green" "lavender" "maroon" "mauve" "peach" "pink" "red" "rosewater" "sapphire" "sky" "teal" "yellow" ];
validSizes = [ "standard" "compact" ];
validTweaks = [ "nord" "dracula" "black" "rimless" "normal" ];
validTweaks = [ "black" "rimless" "normal" ];
validVariants = [ "latte" "frappe" "macchiato" "mocha" ];
unknownTweaks = lib.subtractLists validTweaks tweaks;
illegalMix = (lib.elem "nord" tweaks) && (lib.elem "dracula" tweaks);
assertIllegal = lib.assertMsg (!illegalMix) ''
Tweaks "nord" and "dracula" cannot be mixed. Tweaks: ${toString tweaks}
'';
assertSize = lib.assertMsg (lib.elem size validSizes) ''
You entered a wrong size: ${size}
Valid sizes are: ${toString validSizes}
'';
assertUnknown = lib.assertMsg (unknownTweaks == [ ]) ''
You entered wrong tweaks: ${toString unknownTweaks}
Valid tweaks are: ${toString validTweaks}
'';
pname = "catppuccin-gtk";
in
assert assertIllegal;
assert assertSize;
assert assertUnknown;
lib.checkListOfEnum "${pname}: theme accent" validAccents accents
lib.checkListOfEnum "${pname}: color variant" validVariants [variant]
lib.checkListOfEnum "${pname}: size variant" validSizes [size]
lib.checkListOfEnum "${pname}: tweaks" validTweaks tweaks
stdenvNoCC.mkDerivation rec {
pname = "catppuccin-gtk";
version = "0.2.7";
inherit pname;
version = "0.4.1";
src = fetchFromGitHub {
repo = "gtk";
owner = "catppuccin";
rev = "v-${version}";
sha256 = "sha256-oTAfURHMWqlKHk4CNz5cn6vO/7GmQJM2rXXGDz2e+0w=";
repo = "gtk";
rev = "v${version}";
sha256 = "sha256-dzRXt9/OdPyiy3mu9pmPYeu69OXCnR+zEqbD1C5BKqM=";
};
nativeBuildInputs = [ gtk3 sassc ];
buildInputs = [ gnome-themes-extra ];
buildInputs = [
gnome-themes-extra
(python3.withPackages (ps: [ ps.catppuccin ]))
];
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
postUnpack = ''
rm -rf source/colloid
cp -r ${colloid-gtk-theme.src} source/colloid
chmod -R +w source/colloid
'';
postPatch = ''
patchShebangs --build clean-old-theme.sh install.sh
patchShebangs --build colloid/clean-old-theme.sh colloid/install.sh
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/themes
export HOME=$(mktemp -d)
bash install.sh -d $out/share/themes -t all \
${lib.optionalString (size != "") "-s ${size}"} \
${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks}
python3 install.py ${variant} \
${lib.optionalString (accents != []) "--accent " + builtins.toString accents} \
${lib.optionalString (size != []) "--size " + size} \
${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \
--dest $out/share/themes
runHook postInstall
'';
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hip-common";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "HIP";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-JpHWTsR2Z8pXp1gNjO29pDYvH/cJvd5Dlpeig33UD28=";
hash = "sha256-44CZWk6EsP5EduzBCBbOh2kshS89qOm4v3mx/xNDzV0=";
};
patches = [
@@ -54,6 +54,6 @@ stdenv.mkDerivation (finalAttrs: {
license = with licenses; [ mit ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
broken = finalAttrs.version != stdenv.cc.version;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
+26 -7
View File
@@ -49,7 +49,7 @@ let
];
in stdenv.mkDerivation (finalAttrs: {
pname = "hip-${hipPlatform}";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -61,7 +61,7 @@ in stdenv.mkDerivation (finalAttrs: {
owner = "ROCm-Developer-Tools";
repo = "hipamd";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-VL0vZVv099pZPX0J2pXPFvrhkVO/b6X+ZZDaD9B1hYI=";
hash = "sha256-FcuylhkG7HqLYXH1J6ND6IVEIbDzHp7h7jg2ZZ4XoFM=";
};
patches = [
@@ -160,10 +160,26 @@ in stdenv.mkDerivation (finalAttrs: {
wrapProgram $out/bin/hipconfig.pl ${lib.concatStringsSep " " wrapperArgs}
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
passthru = {
# All known and valid general GPU targets
# We cannot use this for each ROCm library, as each defines their own supported targets
# See: https://github.com/RadeonOpenCompute/ROCm/blob/77cbac4abab13046ee93d8b5bf410684caf91145/README.md#library-target-matrix
gpuTargets = lib.forEach [
"803"
"900"
"906"
"908"
"90a"
"1010"
"1012"
"1030"
] (target: "gfx${target}");
updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
};
meta = with lib; {
@@ -173,6 +189,9 @@ in stdenv.mkDerivation (finalAttrs: {
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
# Tests require GPU, also include issues
broken = finalAttrs.version != hip-common.version || finalAttrs.version != hipcc.version || buildTests;
broken =
versions.minor finalAttrs.version != versions.minor hip-common.version ||
versions.minor finalAttrs.version != versions.minor hipcc.version ||
buildTests;
};
})
+2 -2
View File
@@ -12,7 +12,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hipcc";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
@@ -57,6 +57,6 @@ stdenv.mkDerivation (finalAttrs: {
license = with licenses; [ mit ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
broken = finalAttrs.version != stdenv.cc.version;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -0,0 +1,49 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, libxml2
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hipify";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "HIPIFY";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-EaHtI1ywjEHioWptuHvCllJ3dENtSClVoE6NpWTOa9I=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ libxml2 ];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LLVM_TOOLS_BINARY_DIR}/clang" "${stdenv.cc}/bin/clang"
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
# Fixup weird install paths
postInstall = ''
mkdir -p $out/bin
mv $out/{*.sh,hipify-*} $out/bin
cp -afs $out/bin $out/hip
'';
meta = with lib; {
description = "Convert CUDA to Portable C++ Code";
homepage = "https://github.com/ROCm-Developer-Tools/HIPIFY";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
+2 -2
View File
@@ -10,12 +10,12 @@
ocamlPackages.buildDunePackage rec {
pname = "ligo";
version = "0.58.0";
version = "0.59.0";
src = fetchFromGitLab {
owner = "ligolang";
repo = "ligo";
rev = version;
sha256 = "sha256-WhqCkPkXHjWS8BDh13ODrHg2AHJ8CBfksTH4Fxx4xek=";
sha256 = "sha256-JwFFreUV70W5soXY0UF8/4QlN2oWejdxqwh4KT5VDoQ=";
fetchSubmodules = true;
};
@@ -48,7 +48,7 @@ let
else throw "Unsupported ROCm LLVM platform";
in stdenv.mkDerivation (finalAttrs: {
pname = "rocm-llvm-${targetName}";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -65,7 +65,7 @@ in stdenv.mkDerivation (finalAttrs: {
owner = "RadeonOpenCompute";
repo = "llvm-project";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-rlVo77h344PLGj/mIzsw+/ndWywsBsiKDXsEDpWSUno=";
hash = "sha256-iyr3cstC8CB1YaACadNqBs/oI8lh4bJzK0WtEB0wZvg=";
};
nativeBuildInputs = [
@@ -171,11 +171,22 @@ let
else if isx86_32 then "i386"
else parsed.cpu.name;
pythonAbiName =
# python's build doesn't differentiate between musl and glibc in its
# abi detection, our wrapper should match.
if stdenv.hostPlatform.isMusl then
replaceStrings [ "musl" ] [ "gnu" ] parsed.abi.name
else parsed.abi.name;
# python's build doesn't support every gnu<extension>, and doesn't
# differentiate between musl and glibc, so we list those supported in
# here:
# https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L724
# Note: this is an approximation, as it doesn't take into account the CPU
# family, or the nixpkgs abi naming conventions.
if elem parsed.abi.name [
"gnux32"
"gnueabihf"
"gnueabi"
"gnuabin32"
"gnuabi64"
"gnuspe"
]
then parsed.abi.name
else "gnu";
multiarch =
if isDarwin then "darwin"
else "${multiarchCpu}-${parsed.kernel.name}-${pythonAbiName}";
@@ -0,0 +1,35 @@
{ lib
, stdenv
, fetchFromBitbucket
, cmake
, blas
, lapack-reference
}:
stdenv.mkDerivation (finalAttrs: {
pname = "blaze";
version = "3.8.1";
src = fetchFromBitbucket {
owner = "blaze-lib";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-fe6J0aquk4j+b11Sq+ihagWA/LMTYnAgIHbaDCZacP0=";
};
strictDeps = true;
nativeBuildInputs = [ cmake ];
buildInputs = [
blas
lapack-reference
];
meta = with lib; {
description = "high performance C++ math library";
homepage = "https://bitbucket.org/blaze-lib/blaze";
license = with licenses; [ bsd3 ];
maintainers = with maintainers; [ Madouura ];
platforms = platforms.linux;
};
})
@@ -9,7 +9,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "clang-ocl";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
@@ -36,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/RadeonOpenCompute/clang-ocl";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != stdenv.cc.cc.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -2,6 +2,7 @@
, stdenv
, fetchFromGitHub
, unstableGitUpdater
, runCommand
, cmake
, rocm-cmake
, hip
@@ -13,71 +14,99 @@
, gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900" "gfx1030" ... ]
}:
stdenv.mkDerivation (finalAttrs: {
pname = "composable_kernel";
version = "unstable-2022-12-15";
let
# This is now over 3GB, to allow hydra caching we separate it
ck = stdenv.mkDerivation (finalAttrs: {
pname = "composable_kernel";
version = "unstable-2023-01-16";
outputs = [
"out"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildExamples [
"example"
];
outputs = [
"out"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildExamples [
"example"
];
# There is now a release, but it's cpu-only it seems to be for a very specific purpose
# Thus, we're sticking with the develop branch for now...
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "composable_kernel";
rev = "0345963eef4f92e9c5eab608bb8557b5463a1dcb";
hash = "sha256-IJbUZ3/UIPbYO9H+BUPP6T2HyUnC+FVbVPXQE5bEjRg=";
};
# There is now a release, but it's cpu-only it seems to be for a very specific purpose
# Thus, we're sticking with the develop branch for now...
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "composable_kernel";
rev = "80e05267417f948e4f7e63c0fe807106d9a0c0ef";
hash = "sha256-+c0E2UtlG/abweLwCWWjNHDO5ZvSIVKwwwettT9mqR4=";
};
nativeBuildInputs = [
cmake
rocm-cmake
hip
clang-tools-extra
];
nativeBuildInputs = [
cmake
rocm-cmake
hip
clang-tools-extra
];
buildInputs = [
openmp
];
buildInputs = [
openmp
];
cmakeFlags = [
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
] ++ lib.optionals (gpuTargets != [ ]) [
"-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
] ++ lib.optionals buildTests [
"-DGOOGLETEST_DIR=${gtest.src}" # Custom linker names
];
cmakeFlags = [
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
] ++ lib.optionals (gpuTargets != [ ]) [
"-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
] ++ lib.optionals buildTests [
"-DGOOGLETEST_DIR=${gtest.src}" # Custom linker names
];
# No flags to build selectively it seems...
postPatch = lib.optionalString (!buildTests) ''
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(test)" ""
'' + lib.optionalString (!buildExamples) ''
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(example)" ""
# No flags to build selectively it seems...
postPatch = lib.optionalString (!buildTests) ''
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(test)" ""
'' + lib.optionalString (!buildExamples) ''
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(example)" ""
'';
postInstall = lib.optionalString buildTests ''
mkdir -p $test/bin
mv $out/bin/test_* $test/bin
'' + lib.optionalString buildExamples ''
mkdir -p $example/bin
mv $out/bin/example_* $example/bin
'';
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Performance portable programming model for machine learning tensor operators";
homepage = "https://github.com/ROCmSoftwarePlatform/composable_kernel";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = buildExamples; # bin/example_grouped_gemm_xdl_bfp16] Error 139
};
});
ckProfiler = runCommand "ckProfiler" { preferLocalBuild = true; } ''
cp -a ${ck}/bin/ckProfiler $out
'';
in stdenv.mkDerivation {
inherit (ck) pname version outputs src passthru meta;
postInstall = lib.optionalString buildTests ''
mkdir -p $test/bin
mv $out/bin/test_* $test/bin
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -as ${ckProfiler} $out/bin/ckProfiler
cp -an ${ck}/* $out
'' + lib.optionalString buildTests ''
cp -a ${ck.test} $test
'' + lib.optionalString buildExamples ''
mkdir -p $example/bin
mv $out/bin/example_* $example/bin
cp -a ${ck.example} $example
'' + ''
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Performance portable programming model for machine learning tensor operators";
homepage = "https://github.com/ROCmSoftwarePlatform/composable_kernel";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = buildExamples; # bin/example_grouped_gemm_xdl_bfp16] Error 139
};
})
}
@@ -0,0 +1,100 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, rocm-cmake
, hip
, gfortran
, rocblas
, rocsolver
, gtest
, lapack-reference
, buildTests ? false
, buildBenchmarks ? false
, buildSamples ? false
}:
# Can also use cuBLAS
stdenv.mkDerivation (finalAttrs: {
pname = "hipblas";
version = "5.4.2";
outputs = [
"out"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildBenchmarks [
"benchmark"
] ++ lib.optionals buildSamples [
"sample"
];
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "hipBLAS";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-mSZCq8UaiffMzWVflW1nAX6CQZ1DqwWJaSIzKslZSEk=";
};
nativeBuildInputs = [
cmake
rocm-cmake
hip
gfortran
];
buildInputs = [
rocblas
rocsolver
] ++ lib.optionals buildTests [
gtest
] ++ lib.optionals (buildTests || buildBenchmarks) [
lapack-reference
];
cmakeFlags = [
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
] ++ lib.optionals buildTests [
"-DBUILD_CLIENTS_TESTS=ON"
] ++ lib.optionals buildBenchmarks [
"-DBUILD_CLIENTS_BENCHMARKS=ON"
] ++ lib.optionals buildSamples [
"-DBUILD_CLIENTS_SAMPLES=ON"
];
postInstall = lib.optionalString buildTests ''
mkdir -p $test/bin
mv $out/bin/hipblas-test $test/bin
'' + lib.optionalString buildBenchmarks ''
mkdir -p $benchmark/bin
mv $out/bin/hipblas-bench $benchmark/bin
'' + lib.optionalString buildSamples ''
mkdir -p $sample/bin
mv $out/bin/example-* $sample/bin
'' + lib.optionalString (buildTests || buildBenchmarks || buildSamples) ''
rmdir $out/bin
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "ROCm BLAS marshalling library";
homepage = "https://github.com/ROCmSoftwarePlatform/hipBLAS";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
# Fixed in develop branch by using C++17 and related refactor
broken = versions.minor finalAttrs.version != versions.minor hip.version || buildTests || buildBenchmarks || buildSamples;
};
})
@@ -15,7 +15,7 @@
# CUB can also be used as a backend instead of rocPRIM.
stdenv.mkDerivation (finalAttrs: {
pname = "hipcub";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -81,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/hipCUB";
license = with licenses; [ bsd3 ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -0,0 +1,107 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, rocm-cmake
, hip
, git
, rocfft
, gtest
, boost
, fftw
, fftwFloat
, openmp
, buildTests ? false
, buildBenchmarks ? false
, buildSamples ? false
}:
# Can also use cuFFT
stdenv.mkDerivation (finalAttrs: {
pname = "hipfft";
version = "5.4.2";
outputs = [
"out"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildBenchmarks [
"benchmark"
] ++ lib.optionals buildSamples [
"sample"
];
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "hipFFT";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-yDtm9J0wqH6zo4HcgQbqhvwbzbOiJPQ48gJ2gC8PvjA=";
fetchSubmodules = true;
};
nativeBuildInputs = [
hip
git
cmake
rocm-cmake
];
buildInputs = [
rocfft
] ++ lib.optionals (buildTests || buildBenchmarks || buildSamples) [
gtest
boost
fftw
fftwFloat
openmp
];
cmakeFlags = [
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
"-DCMAKE_MODULE_PATH=${hip}/lib/cmake/hip"
"-DHIP_ROOT_DIR=${hip}"
"-DHIP_PATH=${hip}"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
] ++ lib.optionals buildTests [
"-DBUILD_CLIENTS_TESTS=ON"
] ++ lib.optionals buildBenchmarks [
"-DBUILD_CLIENTS_RIDER=ON"
] ++ lib.optionals buildSamples [
"-DBUILD_CLIENTS_SAMPLES=ON"
];
postInstall = lib.optionalString buildTests ''
mkdir -p $test/bin
mv $out/bin/hipfft-test $test/bin
'' + lib.optionalString buildBenchmarks ''
mkdir -p $benchmark/bin
mv $out/bin/hipfft-rider $benchmark/bin
'' + lib.optionalString buildSamples ''
mkdir -p $sample/bin
mv clients/staging/hipfft_* $sample/bin
patchelf $sample/bin/hipfft_* --shrink-rpath --allowed-rpath-prefixes /nix/store
'' + lib.optionalString (buildTests || buildBenchmarks) ''
rmdir $out/bin
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "FFT marshalling library";
homepage = "https://github.com/ROCmSoftwarePlatform/hipFFT";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -0,0 +1,66 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, rocm-cmake
, gfortran
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hipfort";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "hipfort";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-cXzNOvWIU388AU5hzLwmIGaX5DvzIJJCvgkP2BA4jao=";
};
nativeBuildInputs = [
cmake
rocm-cmake
gfortran
];
cmakeFlags = [
"-DHIPFORT_COMPILER=${gfortran}/bin/gfortran"
"-DHIPFORT_AR=${gfortran.cc}/bin/gcc-ar"
"-DHIPFORT_RANLIB=${gfortran.cc}/bin/gcc-ranlib"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
];
postPatch = ''
patchShebangs bin
substituteInPlace bin/hipfc bin/mymcpu \
--replace "/bin/cat" "cat"
substituteInPlace bin/CMakeLists.txt \
--replace "/bin/mkdir" "mkdir" \
--replace "/bin/cp" "cp" \
--replace "/bin/sed" "sed" \
--replace "/bin/chmod" "chmod" \
--replace "/bin/ln" "ln"
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "Fortran interfaces for ROCm libraries";
homepage = "https://github.com/ROCmSoftwarePlatform/hipfort";
license = with licenses; [ mit ]; # mitx11
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -0,0 +1,100 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, rocm-cmake
, hip
, gfortran
, rocblas
, rocsolver
, gtest
, lapack-reference
, buildTests ? false
, buildBenchmarks ? false
, buildSamples ? false
}:
# Can also use cuSOLVER
stdenv.mkDerivation (finalAttrs: {
pname = "hipsolver";
version = "5.4.2";
outputs = [
"out"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildBenchmarks [
"benchmark"
] ++ lib.optionals buildSamples [
"sample"
];
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "hipSOLVER";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-p9hgKqRALLItv/HTpVlTsu+m9wlwCBYPYnJcm8StIao=";
};
nativeBuildInputs = [
cmake
rocm-cmake
hip
gfortran
];
buildInputs = [
rocblas
rocsolver
] ++ lib.optionals buildTests [
gtest
] ++ lib.optionals (buildTests || buildBenchmarks) [
lapack-reference
];
cmakeFlags = [
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
] ++ lib.optionals buildTests [
"-DBUILD_CLIENTS_TESTS=ON"
] ++ lib.optionals buildBenchmarks [
"-DBUILD_CLIENTS_BENCHMARKS=ON"
] ++ lib.optionals buildSamples [
"-DBUILD_CLIENTS_SAMPLES=ON"
];
postInstall = lib.optionalString buildTests ''
mkdir -p $test/bin
mv $out/bin/hipsolver-test $test/bin
'' + lib.optionalString buildBenchmarks ''
mkdir -p $benchmark/bin
mv $out/bin/hipsolver-bench $benchmark/bin
'' + lib.optionalString buildSamples ''
mkdir -p $sample/bin
mv clients/staging/example-* $sample/bin
patchelf $sample/bin/example-* --shrink-rpath --allowed-rpath-prefixes /nix/store
'' + lib.optionalString (buildTests || buildBenchmarks) ''
rmdir $out/bin
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "ROCm SOLVER marshalling library";
homepage = "https://github.com/ROCmSoftwarePlatform/hipSOLVER";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -17,7 +17,7 @@
# This can also use cuSPARSE as a backend instead of rocSPARSE
stdenv.mkDerivation (finalAttrs: {
pname = "hipsparse";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -130,6 +130,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/hipSPARSE";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "intel-gmmlib";
version = "22.3.2";
version = "22.3.3";
src = fetchFromGitHub {
owner = "intel";
repo = "gmmlib";
rev = "intel-gmmlib-${version}";
sha256 = "sha256-bn7Y+yre/9EkECMaYs2CR+OTZRG5pRd6LjnZD9jXvUM=";
sha256 = "sha256-ghCB9wrjixAX06KUYZUEL1Tq6fKSH7pqe3Ti1y/+a2U=";
};
nativeBuildInputs = [ cmake ];
+21 -14
View File
@@ -41,6 +41,25 @@
let
inherit (stdenv) is64bit isMips isDarwin isCygwin;
inherit (lib) enableFeature optional optionals;
# libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
# See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
# Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
darwinVersion =
/**/ if stdenv.hostPlatform.osxMinVersion == "10.10" then "14"
else if stdenv.hostPlatform.osxMinVersion == "10.9" then "13"
else if stdenv.hostPlatform.osxMinVersion == "10.8" then "12"
else if stdenv.hostPlatform.osxMinVersion == "10.7" then "11"
else if stdenv.hostPlatform.osxMinVersion == "10.6" then "10"
else if stdenv.hostPlatform.osxMinVersion == "10.5" then "9"
else "8";
kernel =
# Build system doesn't understand BSD, so pretend to be Linux.
/**/ if stdenv.isBSD then "linux"
else if stdenv.isDarwin then "darwin${darwinVersion}"
else stdenv.hostPlatform.parsed.kernel.name;
in
assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
@@ -144,20 +163,8 @@ stdenv.mkDerivation rec {
(enableFeature (experimentalSpatialSvcSupport ||
experimentalFpMbStatsSupport ||
experimentalEmulateHardwareSupport) "experimental")
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
# libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
# See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
# Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
"--force-target=${stdenv.hostPlatform.parsed.cpu.name}-${stdenv.hostPlatform.parsed.kernel.name}${
if stdenv.hostPlatform.isDarwin then
if stdenv.hostPlatform.osxMinVersion == "10.10" then "14"
else if stdenv.hostPlatform.osxMinVersion == "10.9" then "13"
else if stdenv.hostPlatform.osxMinVersion == "10.8" then "12"
else if stdenv.hostPlatform.osxMinVersion == "10.7" then "11"
else if stdenv.hostPlatform.osxMinVersion == "10.6" then "10"
else if stdenv.hostPlatform.osxMinVersion == "10.5" then "9"
else "8"
else ""}-gcc"
] ++ optionals (stdenv.isBSD || stdenv.hostPlatform != stdenv.buildPlatform) [
"--force-target=${stdenv.hostPlatform.parsed.cpu.name}-${kernel}-gcc"
(if stdenv.hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
] # Experimental features
++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
@@ -0,0 +1,162 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, pkg-config
, cmake
, rocm-cmake
, hip
, clang-tools-extra
, cppcheck
, openmp
, rocblas
, rocmlir
, miopengemm
, miopen
, protobuf
, half
, nlohmann_json
, msgpack
, sqlite
, oneDNN
, blaze
, texlive
, doxygen
, sphinx
, docutils
, ghostscript
, python3Packages
, buildDocs ? false
, buildTests ? false
}:
let
latex = lib.optionalAttrs buildDocs texlive.combine {
inherit (texlive) scheme-small
latexmk
tex-gyre
fncychap
wrapfig
capt-of
framed
needspace
tabulary
varwidth
titlesec
epstopdf;
};
in stdenv.mkDerivation (finalAttrs: {
pname = "migraphx";
version = "5.4.2";
outputs = [
"out"
] ++ lib.optionals buildDocs [
"doc"
] ++ lib.optionals buildTests [
"test"
];
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "AMDMIGraphX";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-UDhm+j9qs4Rk81C1PE4kkacytfY2StYbfsCOtFL+p6s=";
};
nativeBuildInputs = [
pkg-config
cmake
rocm-cmake
hip
clang-tools-extra
cppcheck
python3Packages.python
] ++ lib.optionals buildDocs [
latex
doxygen
sphinx
docutils
ghostscript
python3Packages.sphinx-rtd-theme
python3Packages.breathe
];
buildInputs = [
openmp
rocblas
rocmlir
miopengemm
miopen
protobuf
half
nlohmann_json
msgpack
sqlite
oneDNN
blaze
python3Packages.pybind11
python3Packages.onnx
];
cmakeFlags = [
"-DCMAKE_POLICY_DEFAULT_CMP0079=NEW"
# "-DCMAKE_C_COMPILER=hipcc"
# "-DCMAKE_CXX_COMPILER=hipcc"
"-DMIGRAPHX_ENABLE_GPU=OFF" # GPU compilation is broken, don't know why
"-DMIGRAPHX_ENABLE_CPU=ON"
"-DMIGRAPHX_ENABLE_FPGA=ON"
"-DMIGRAPHX_ENABLE_MLIR=ON"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
];
postPatch = ''
patchShebangs tools
substituteInPlace src/targets/gpu/CMakeLists.txt \
--replace "CMAKE_CXX_COMPILER MATCHES \".*clang\\\+\\\+\$\"" "TRUE"
'' + lib.optionalString (!buildDocs) ''
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(doc)" ""
'' + lib.optionalString (!buildTests) ''
substituteInPlace CMakeLists.txt \
--replace "add_subdirectory(test)" ""
'';
# Unfortunately, it seems like we have to call make on this manually
preInstall = lib.optionalString buildDocs ''
export HOME=$(mktemp -d)
make -j$NIX_BUILD_CORES doc
cd ../doc/pdf
make -j$NIX_BUILD_CORES
cd -
'';
postInstall = lib.optionalString buildDocs ''
mv ../doc/html $out/share/doc/migraphx
mv ../doc/pdf/MIGraphX.pdf $out/share/doc/migraphx
'' + lib.optionalString buildTests ''
mkdir -p $test/bin
mv bin/test_* $test/bin
patchelf $test/bin/test_* --shrink-rpath --allowed-rpath-prefixes /nix/store
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "AMD's graph optimization engine";
homepage = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -53,7 +53,7 @@ let
};
in stdenv.mkDerivation (finalAttrs: {
pname = "miopen";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -182,6 +182,7 @@ in stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -31,7 +31,7 @@ let
};
in stdenv.mkDerivation (finalAttrs: {
pname = "miopengemm";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -117,6 +117,7 @@ in stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != stdenv.cc.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -21,6 +21,15 @@ stdenv.mkDerivation rec {
# Tests fail on some Hydra builders, because they do not support SSE4.2.
doCheck = false;
# Fixup bad cmake paths
postInstall = ''
substituteInPlace $out/lib/cmake/dnnl/dnnl-config.cmake \
--replace "\''${PACKAGE_PREFIX_DIR}/" ""
substituteInPlace $out/lib/cmake/dnnl/dnnl-targets.cmake \
--replace "\''${_IMPORT_PREFIX}/" ""
'';
meta = with lib; {
description = "oneAPI Deep Neural Network Library (oneDNN)";
homepage = "https://01.org/oneDNN";
+4 -3
View File
@@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rccl";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "ROCmSoftwarePlatform";
repo = "rccl";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-y9gTGk8LyX7owb2xdtb6VlnIXu/CYHOjnNa/wrNl02g=";
hash = "sha256-hQTzaiPMo5FAVScmxV0iNhy80uJ1xvx/kzlbfwROOs4=";
};
nativeBuildInputs = [
@@ -77,6 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rccl";
license = with licenses; [ bsd2 bsd3 ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -21,7 +21,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocalution";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -109,6 +109,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocALUTION";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -27,7 +27,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocblas";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -131,6 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -8,7 +8,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocclr";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
@@ -59,6 +59,6 @@ stdenv.mkDerivation (finalAttrs: {
# to be supported yet by the build infrastructure. Recheck in
# the future.
platforms = [ "x86_64-linux" ];
broken = finalAttrs.version != stdenv.cc.version;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -0,0 +1,100 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, rocm-cmake
, git
, rocm-comgr
, rocm-runtime
, texlive
, doxygen
, graphviz
, buildDocs ? true
}:
let
latex = lib.optionalAttrs buildDocs texlive.combine {
inherit (texlive) scheme-small
latexmk
varwidth
multirow
hanging
adjustbox
collectbox
stackengine
enumitem
alphalph
wasysym
sectsty
tocloft
newunicodechar
etoc
helvetic
wasy
courier;
};
in stdenv.mkDerivation (finalAttrs: {
pname = "rocdbgapi";
version = "5.4.2";
outputs = [
"out"
] ++ lib.optionals buildDocs [
"doc"
];
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "ROCdbgapi";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-KoFa6JzoEPT5/ns9X/hMfu8bOh29HD9n2qGJ3gzhiBA=";
};
nativeBuildInputs = [
cmake
rocm-cmake
git
] ++ lib.optionals buildDocs [
latex
doxygen
graphviz
];
buildInputs = [
rocm-comgr
rocm-runtime
];
# Unfortunately, it seems like we have to call make on this manually
postBuild = lib.optionalString buildDocs ''
export HOME=$(mktemp -d)
make -j$NIX_BUILD_CORES doc
'';
postInstall = ''
substituteInPlace $out/lib/cmake/amd-dbgapi/amd-dbgapi-config.cmake \
--replace "/build/source/build/" ""
substituteInPlace $out/lib/cmake/amd-dbgapi/amd-dbgapi-targets.cmake \
--replace "/build/source/build" "$out"
'' + lib.optionalString buildDocs ''
mv $out/share/html/amd-dbgapi $doc/share/doc/amd-dbgapi/html
rmdir $out/share/html
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "Debugger support for control of execution and inspection state";
homepage = "https://github.com/ROCm-Developer-Tools/ROCdbgapi";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
+130 -81
View File
@@ -2,8 +2,10 @@
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, runCommand
, cmake
, rocm-cmake
, rocrand
, hip
, openmp
, sqlite
@@ -16,94 +18,141 @@
, buildBenchmarks ? false
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rocfft";
version = "5.4.1";
let
rocfft = stdenv.mkDerivation (finalAttrs: {
pname = "rocfft";
version = "5.4.2";
outputs = [
"out"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildBenchmarks [
"benchmark"
];
outputs = [
"out"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildBenchmarks [
"benchmark"
];
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocFFT";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-NsYeEoBQ/0z31ZQ32l7N+qavWEVkH37snkTHntot7nE=";
};
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocFFT";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-NsYeEoBQ/0z31ZQ32l7N+qavWEVkH37snkTHntot7nE=";
};
nativeBuildInputs = [
cmake
rocm-cmake
hip
];
nativeBuildInputs = [
cmake
rocm-cmake
hip
];
buildInputs = [
sqlite
python3
] ++ lib.optionals buildTests [
gtest
] ++ lib.optionals (buildTests || buildBenchmarks) [
boost
fftw
fftwFloat
openmp
];
buildInputs = [
sqlite
python3
] ++ lib.optionals buildTests [
gtest
] ++ lib.optionals (buildTests || buildBenchmarks) [
rocrand
boost
fftw
fftwFloat
openmp
];
propogatedBuildInputs = lib.optionals buildTests [
fftw
fftwFloat
];
propogatedBuildInputs = lib.optionals buildTests [
fftw
fftwFloat
];
cmakeFlags = [
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
"-DUSE_HIP_CLANG=ON"
"-DSQLITE_USE_SYSTEM_PACKAGE=ON"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
] ++ lib.optionals buildTests [
"-DBUILD_CLIENTS_TESTS=ON"
] ++ lib.optionals buildBenchmarks [
"-DBUILD_CLIENTS_RIDER=ON"
"-DBUILD_CLIENTS_SAMPLES=ON"
];
cmakeFlags = [
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
"-DUSE_HIP_CLANG=ON"
"-DSQLITE_USE_SYSTEM_PACKAGE=ON"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
] ++ lib.optionals buildTests [
"-DBUILD_CLIENTS_TESTS=ON"
] ++ lib.optionals buildBenchmarks [
"-DBUILD_CLIENTS_RIDER=ON"
"-DBUILD_CLIENTS_SAMPLES=ON"
];
postInstall = lib.optionalString buildTests ''
mkdir -p $test/{bin,lib/fftw}
cp -a $out/bin/* $test/bin
ln -s ${fftw}/lib/libfftw*.so $test/lib/fftw
ln -s ${fftwFloat}/lib/libfftw*.so $test/lib/fftw
rm -r $out/lib/fftw
rm $test/bin/{rocfft_rtc_helper,*-rider} || true
'' + lib.optionalString buildBenchmarks ''
mkdir -p $benchmark/bin
cp -a $out/bin/* $benchmark/bin
rm $benchmark/bin/{rocfft_rtc_helper,*-test} || true
'' + lib.optionalString (buildTests || buildBenchmarks ) ''
mv $out/bin/rocfft_rtc_helper $out
rm -r $out/bin/*
mv $out/rocfft_rtc_helper $out/bin
postInstall = lib.optionalString buildTests ''
mkdir -p $test/{bin,lib/fftw}
cp -a $out/bin/* $test/bin
ln -s ${fftw}/lib/libfftw*.so $test/lib/fftw
ln -s ${fftwFloat}/lib/libfftw*.so $test/lib/fftw
rm -r $out/lib/fftw
rm $test/bin/{rocfft_rtc_helper,*-rider} || true
'' + lib.optionalString buildBenchmarks ''
mkdir -p $benchmark/bin
cp -a $out/bin/* $benchmark/bin
rm $benchmark/bin/{rocfft_rtc_helper,*-test} || true
'' + lib.optionalString (buildTests || buildBenchmarks ) ''
mv $out/bin/rocfft_rtc_helper $out
rm -r $out/bin/*
mv $out/rocfft_rtc_helper $out/bin
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "FFT implementation for ROCm ";
homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
});
rocfft-zero = runCommand "rocfft-zero" { preferLocalBuild = true; } ''
mkdir -p $out
cp -a ${rocfft}/lib/librocfft-device-0* $out
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
rocfft-one = runCommand "rocfft-one" { preferLocalBuild = true; } ''
mkdir -p $out
cp -a ${rocfft}/lib/librocfft-device-1* $out
'';
meta = with lib; {
description = "FFT implementation for ROCm ";
homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
hydraPlatforms = [ ]; # rocFFT produces an extremely large output
};
})
rocfft-two = runCommand "rocfft-two" { preferLocalBuild = true; } ''
mkdir -p $out
cp -a ${rocfft}/lib/librocfft-device-2* $out
'';
rocfft-three = runCommand "rocfft-three" { preferLocalBuild = true; } ''
mkdir -p $out
cp -a ${rocfft}/lib/librocfft-device-3* $out
'';
in stdenv.mkDerivation {
inherit (rocfft) pname version outputs src passthru meta;
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/lib
for path in ${rocfft-zero} ${rocfft-one} ${rocfft-two} ${rocfft-three}; do
cp -as $path/* $out/lib
done
cp -an ${rocfft}/* $out
'' + lib.optionalString buildTests ''
cp -a ${rocfft.test} $test
'' + lib.optionalString buildBenchmarks ''
cp -a ${rocfft.benchmark} $benchmark
'' + ''
runHook postInstall
'';
}
@@ -15,7 +15,7 @@ let
else throw "Unsupported ROCm LLVM platform";
in stdenv.mkDerivation (finalAttrs: {
pname = "rocm-comgr";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
@@ -51,6 +51,6 @@ in stdenv.mkDerivation (finalAttrs: {
license = licenses.ncsa;
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
broken = finalAttrs.version != stdenv.cc.version;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -0,0 +1,58 @@
{ lib
, stdenv
, fetchFromGitHub
, runCommand
, substituteAll
, cmake
}:
let
rocm_version = with lib; concatStrings (intersperse "0" (splitString "." stdenv.cc.version));
in stdenv.mkDerivation (finalAttrs: {
pname = "rocm-core";
version = stdenv.cc.version;
# Based on https://github.com/rocm-arch/rocm-arch/tree/ad0b15690d403e5822db062ffff4db3912de6669/rocm-core
src = let
rocm_major = lib.versions.major finalAttrs.version;
rocm_minor = lib.versions.minor finalAttrs.version;
rocm_patch = lib.versions.patch finalAttrs.version;
cmake_lists = substituteAll {
inherit rocm_version;
src = ./src/CMakeLists.txt;
};
version_c = substituteAll {
inherit rocm_major rocm_minor rocm_patch;
src = ./src/rocm_version.c;
};
version_h = substituteAll {
inherit rocm_major rocm_minor rocm_patch;
src = ./src/rocm_version.h;
};
in runCommand "rocm-core-${finalAttrs.version}-source" { preferLocalBuild = true; } ''
mkdir -p $out/rocm-core
ln -s ${cmake_lists} $out/CMakeLists.txt
ln -s ${version_c} $out/rocm_version.c
ln -s ${version_h} $out/rocm-core/rocm_version.h
'';
nativeBuildInputs = [ cmake ];
postInstall = ''
mkdir -p $out/include
cp -a ../rocm-core $out/include
ln -s $out/include/rocm-core/rocm_version.h $out/include
ln -s $out/lib/librocm-core.so.1.0.${rocm_version} $out/lib/librocm-core.so.1
'';
meta = with lib; {
description = "ROCm core";
homepage = "https://docs.amd.com";
license = with licenses; [ ncsa ]; # See src/rocm_version.h
maintainers = teams.rocm.members;
platforms = platforms.linux;
};
})
@@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.23)
project(rocm-core)
add_library(rocm-core SHARED rocm_version.c)
set_target_properties(rocm-core PROPERTIES VERSION "1.0.@rocm_version@")
install(TARGETS rocm-core LIBRARY DESTINATION lib)
@@ -0,0 +1,10 @@
#include "rocm-core/rocm_version.h"
VerErrors getROCmVersion(unsigned int *Major, unsigned int *Minor,
unsigned int *Patch) {
*Major = @rocm_major@;
*Minor = @rocm_minor@;
*Patch = @rocm_patch@;
return 0;
}
@@ -0,0 +1,82 @@
////////////////////////////////////////////////////////////////////////////////
//
// The University of Illinois/NCSA
// Open Source License (NCSA)
//
// Copyright (c) 2014-2021, Advanced Micro Devices, Inc. All rights reserved.
//
// Developed by:
//
// AMD Research and AMD HSA Software Development
//
// Advanced Micro Devices, Inc.
//
// www.amd.com
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal with the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// - Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimers.
// - Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimers in
// the documentation and/or other materials provided with the distribution.
// - Neither the names of Advanced Micro Devices, Inc,
// nor the names of its contributors may be used to endorse or promote
// products derived from this Software without specific prior written
// permission.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS WITH THE SOFTWARE.
//
////////////////////////////////////////////////////////////////////////////////
#ifndef _ROCM_VERSION_H_
#define _ROCM_VERSION_H_
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define ROCM_VERSION_MAJOR @rocm_major@
#define ROCM_VERSION_MINOR @rocm_minor@
#define ROCM_VERSION_PATCH @rocm_patch@
typedef enum {
VerSuccess=0,
VerIncorrecPararmeters,
VerValuesNotDefined,
VerErrorMAX //This should always be last value in the enumerations
} VerErrors;
// API for getting the verion
// Return val : VerErros : API execution status. The parameters are valid only when the exetution status is SUCCESS==0
VerErrors getROCmVersion(unsigned int* Major, unsigned int* Minor, unsigned int* Patch) __attribute__((nonnull)) ;
// Usage :
// int mj=0,mn=0,p=0,ret=0;
// ret=getROCMVersion(&mj,&mn,&p);
// if(ret !=VerSuccess ) // error occured
//
// check for the values and
//
#ifdef __cplusplus
} // end extern "C" block
#endif
#endif //_ROCM_VERSION_H_ header guard
@@ -14,7 +14,7 @@ let
else throw "Unsupported ROCm LLVM platform";
in stdenv.mkDerivation (finalAttrs: {
pname = "rocm-device-libs";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
@@ -45,6 +45,6 @@ in stdenv.mkDerivation (finalAttrs: {
license = licenses.ncsa;
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
broken = finalAttrs.version != stdenv.cc.version;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -14,7 +14,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-opencl-runtime";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
@@ -64,6 +64,6 @@ stdenv.mkDerivation (finalAttrs: {
license = with licenses; [ asl20 mit ];
maintainers = with maintainers; [ acowley lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
broken = finalAttrs.version != stdenv.cc.version;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -70,6 +70,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime";
license = with licenses; [ ncsa ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
broken = finalAttrs.version != stdenv.cc.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -12,7 +12,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-thunk";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
@@ -52,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface";
license = with licenses; [ bsd2 mit ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
broken = finalAttrs.version != stdenv.cc.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -25,7 +25,7 @@ let
else throw "Unsupported ROCm LLVM platform";
in stdenv.mkDerivation (finalAttrs: {
pname = "rocmlir";
version = "5.4.0";
version = "5.4.1";
outputs = [
"out"
@@ -100,7 +100,7 @@ in stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocMLIR";
license = with licenses; [ asl20 ];
maintainers = teams.rocm.members;
# Once again, they haven't updated the tags...
broken = lib.versions.minor finalAttrs.version != lib.versions.minor stdenv.cc.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocprim";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -76,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocPRIM";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -11,7 +11,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocprofiler";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
@@ -60,6 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCm-Developer-Tools/rocprofiler";
license = with licenses; [ mit ]; # mitx11
maintainers = teams.rocm.members;
broken = finalAttrs.version != stdenv.cc.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -0,0 +1,61 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, hip
, git
, rocdbgapi
, rocm-runtime
, elfutils
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rocr-debug-agent";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "rocr_debug_agent";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-5l6svWSWCxVoyr1zJabxbt5rXQMtdZtHrf9gS2PcRKc=";
};
nativeBuildInputs = [
cmake
hip
git
];
buildInputs = [
rocdbgapi
rocm-runtime
elfutils
];
cmakeFlags = [
"-DCMAKE_MODULE_PATH=${hip}/lib/cmake/hip"
"-DHIP_ROOT_DIR=${hip}"
"-DHIP_PATH=${hip}"
];
# Weird install target
postInstall = ''
rm -rf $out/src
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "Library that provides some debugging functionality for ROCr";
homepage = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent";
license = with licenses; [ ncsa ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocrand";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -79,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocRAND";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -17,7 +17,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocsolver";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -87,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocSOLVER";
license = with licenses; [ bsd2 ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -18,7 +18,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocsparse";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -140,6 +140,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocSPARSE";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocthrust";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -78,6 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocThrust";
license = with licenses; [ asl20 ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -19,7 +19,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "roctracer";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -95,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCm-Developer-Tools/roctracer";
license = with licenses; [ mit ]; # mitx11
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -36,7 +36,7 @@ let
};
in stdenv.mkDerivation (finalAttrs: {
pname = "rocwmma";
version = "5.4.1";
version = "5.4.2";
outputs = [
"out"
@@ -140,6 +140,7 @@ in stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/ROCmSoftwarePlatform/rocWMMA";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = finalAttrs.version != hip.version;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor hip.version;
};
})
@@ -1,40 +1,75 @@
{ lib, stdenv, fetchurl, cmake, gfortran, ninja, cudaPackages, libpthreadstubs, lapack, blas }:
{ lib
, stdenv
, fetchurl
, cmake
, ninja
, gfortran
, libpthreadstubs
, lapack
, blas
, cudaPackages
, hip
, hipblas
, hipsparse
, openmp
, useCUDA ? true
, useROCM ? false
, gpuTargets ? [ ]
}:
let
inherit (cudaPackages) cudatoolkit cudaFlags;
in
assert let majorIs = lib.versions.major cudatoolkit.version;
in majorIs == "9" || majorIs == "10" || majorIs == "11";
let
in stdenv.mkDerivation (finalAttrs: {
pname = "magma";
version = "2.6.2";
in stdenv.mkDerivation {
pname = "magma";
inherit version;
src = fetchurl {
url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${version}.tar.gz";
name = "magma-${finalAttrs.version}.tar.gz";
url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${finalAttrs.version}.tar.gz";
hash = "sha256-dbVU2rAJA+LRC5cskT5Q5/iMvGLzrkMrWghsfk7aCnE=";
name = "magma-${version}.tar.gz";
};
nativeBuildInputs = [ gfortran cmake ninja ];
nativeBuildInputs = [
cmake
ninja
gfortran
];
buildInputs = [ cudatoolkit libpthreadstubs lapack blas ];
buildInputs = [
libpthreadstubs
lapack
blas
] ++ lib.optionals useCUDA [
cudatoolkit
] ++ lib.optionals useROCM [
hip
hipblas
hipsparse
openmp
];
cmakeFlags = [
cmakeFlags = lib.optionals useCUDA [
"-DCMAKE_C_COMPILER=${cudatoolkit.cc}/bin/gcc"
"-DCMAKE_CXX_COMPILER=${cudatoolkit.cc}/bin/g++"
"-DMAGMA_ENABLE_CUDA=ON"
"-DGPU_TARGET=${builtins.concatStringsSep "," cudaFlags.cudaRealArchs}"
] ++ lib.optionals useROCM [
"-DCMAKE_C_COMPILER=${hip}/bin/hipcc"
"-DCMAKE_CXX_COMPILER=${hip}/bin/hipcc"
"-DMAGMA_ENABLE_HIP=ON"
"-DGPU_TARGET=${builtins.concatStringsSep "," (if gpuTargets == [ ] then hip.gpuTargets else gpuTargets)}"
];
buildFlags = [
"magma"
"magma_sparse"
];
doCheck = false;
preConfigure = ''
export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
'';
enableParallelBuilding=true;
buildFlags = [ "magma" "magma_sparse" ];
passthru = {
inherit cudatoolkit;
};
meta = with lib; {
description = "Matrix Algebra on GPU and Multicore Architectures";
@@ -42,7 +77,7 @@ in stdenv.mkDerivation {
homepage = "http://icl.cs.utk.edu/magma/index.html";
platforms = platforms.unix;
maintainers = with maintainers; [ tbenst ];
# CUDA and ROCm are mutually exclusive
broken = useCUDA && useROCM || useCUDA && versionOlder cudatoolkit.version "9";
};
passthru.cudatoolkit = cudatoolkit;
}
})
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "tensile";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
@@ -36,6 +36,7 @@ buildPythonPackage rec {
homepage = "https://github.com/ROCmSoftwarePlatform/Tensile";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
broken = version != stdenv.cc.version;
platforms = platforms.linux;
broken = versions.minor version != versions.minor stdenv.cc.version;
};
}
@@ -249,7 +249,6 @@
, "patch-package"
, "peerflix"
, "peerflix-server"
, {"photoprism-frontend": "../../servers/photoprism"}
, "pkg"
, "pm2"
, "pnpm"
File diff suppressed because it is too large Load Diff
@@ -361,10 +361,6 @@ final: prev: {
'';
};
photoprism-frontend = prev."photoprism-frontend-../../servers/photoprism".override {
meta.broken = true; # use the top-level package instead
};
pnpm = prev.pnpm.override {
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
@@ -12,12 +12,12 @@
buildPythonPackage rec {
pname = "CairoSVG";
version = "2.5.2";
version = "2.6.0";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-sLmSnPXboAUXjXRqgDb88AJVUPSYylTbYYczIjhHg7w=";
sha256 = "sha256-1eyT6QEBs7boKqJF0FRu6bAWz9oLY0RnUVmDDYU9XQQ=";
};
propagatedBuildInputs = [ cairocffi cssselect2 defusedxml pillow tinycss2 ];
@@ -0,0 +1,27 @@
{ lib
, buildPythonPackage
, fetchPypi
, python
, pygments
}:
buildPythonPackage rec {
pname = "catppuccin";
version = "1.1.1";
src = fetchPypi {
inherit pname version;
hash = "sha256-mHNuV3yIuFL2cixDOr+//+/b9iD2fN82cfLzZkegxKc=";
};
propagatedBuildInputs = [ pygments ];
pythonImportsCheck = [ "catppuccin" ];
meta = with lib; {
description = "Soothing pastel theme for Python";
homepage = "https://github.com/catppuccin/python";
maintainers = with maintainers; [ fufexan ];
license = licenses.mit;
};
}
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "dask-gateway";
# update dask-gateway lock step with dask-gateway-server
version = "2022.6.1";
version = "2023.1.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "dask";
repo = "dask-gateway";
rev = "refs/tags/${version}";
hash = "sha256-PsagZdEPpeuZH9hFL98xB5z6zOdd4Cx/skGQ0eOYkCA=";
hash = "sha256-+YCHIfNq8E2rXO8b91Q1D21dVzNWnJZIKZeY4AETa7s=";
};
sourceRoot = "source/dask-gateway";
@@ -27,7 +27,7 @@
buildPythonPackage rec {
pname = "dask";
version = "2022.10.2";
version = "2023.1.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -36,17 +36,9 @@ buildPythonPackage rec {
owner = "dask";
repo = pname;
rev = version;
hash = "sha256-zHJR2WjHigUMWtRJW25+gk1fKGKedU53BBjwx5zaodA=";
hash = "sha256-avyrKBAPyYZBNgItnkNCferqb6+4yeGpBAZhSkL/fFA=";
};
patches = [
(fetchpatch {
# Fix test_repartition_npartitions on platforms other than x86-64
url = "https://github.com/dask/dask/commit/65f40ad461c57065f981e6213e33b1d13cc9bc8f.patch";
hash = "sha256-KyTSms4ik1kYtL+I/huAxD+zK2AAuPkwmHA9FYk601Y=";
})
];
propagatedBuildInputs = [
click
cloudpickle
@@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "dateparser";
version = "1.1.5";
version = "1.1.6";
disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "scrapinghub";
repo = "dateparser";
rev = "refs/tags/v${version}";
sha256 = "sha256-uA49pRlmSWWIOjXa1QDjjuTGMKi25GfokQo4VQsBMlc=";
sha256 = "sha256-rn8RD1nnUi4MhK6QKLaP5eG6UAFrhlecimvn8sAsu6k=";
};
propagatedBuildInputs = [
@@ -21,14 +21,14 @@
buildPythonPackage rec {
pname = "distributed";
version = "2022.12.1";
version = "2023.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-h/7c+/ISbRTDhlyORFxB7Mq9Kwfq/4dSivKv2eIM7Ww=";
hash = "sha256-xV3HQmmDtSIn+DM3Rcoyp3dqY9qSjB+8Con6+o6a/y0=";
};
postPatch = ''
@@ -2,6 +2,9 @@
, buildPythonPackage
, fetchFromGitHub
, python
, cython
, setuptools
, substituteAll
, numba
, numpy
, pandas
@@ -15,8 +18,8 @@
buildPythonPackage rec {
pname = "fastparquet";
version = "0.8.1";
format = "setuptools";
version = "2022.12.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -24,9 +27,29 @@ buildPythonPackage rec {
owner = "dask";
repo = pname;
rev = version;
hash = "sha256-rWrbHHcJMahaUV8+YuKkZUhdboNFUK9btjvdg74lCxc=";
hash = "sha256-/DSe2vZwrHHTuAXWJh9M1wCes5c4/QAVUnJVEI4Evyw=";
};
nativeBuildInputs = [
cython
setuptools
];
patches = [
(substituteAll {
src = ./version.patch;
inherit version;
})
];
postPatch = ''
substituteInPlace setup.py \
--replace "'pytest-runner'," "" \
--replace "oldest-supported-numpy" "numpy"
sed -i '/"git", "status"/d' setup.py
'';
propagatedBuildInputs = [
cramjam
fsspec
@@ -46,13 +69,6 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.py \
--replace "'pytest-runner'," "" \
--replace "oldest-supported-numpy" "numpy"
'';
# Workaround https://github.com/NixOS/nixpkgs/issues/123561
preCheck = ''
mv fastparquet/test .
@@ -0,0 +1,7 @@
diff --git a/fastparquet/_version.py b/fastparquet/_version.py
new file mode 100644
index 0000000..eb2c9c9
--- /dev/null
+++ b/fastparquet/_version.py
@@ -0,0 +1 @@
+__version__ = "@version@"
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "google-cloud-bigquery-storage";
version = "2.17.0";
version = "2.18.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-AsEcoAmOg+J/g8P5o51PzO9R5z0Nce9zQ/EiIYhmaFw=";
hash = "sha256-RncpEPcNeCZdpeevSEeTmu1L6m4qZO/huZPAxoazrxY=";
};
propagatedBuildInputs = [
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-container";
version = "2.14.0";
version = "2.16.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-r/AmdcXIChEqp3AvO2xU2lsM3pqmn/Tmv8/cQJ+kuCE=";
hash = "sha256-T8rAle7q1/uiGkrLbCWtR8iiAPpW/QKJLppity8oWiY=";
};
propagatedBuildInputs = [
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "google-cloud-error-reporting";
version = "1.7.0";
version = "1.8.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-biI1dbn7lpD1KUGkOV5NMLJlYxZTfH+zW6i65fbJWko=";
hash = "sha256-XFOgoe6xphHyp/zbd+RR+9dXebMcU7/c2ETFGy+lg3U=";
};
propagatedBuildInputs = [
@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "google-cloud-spanner";
version = "3.26.0";
version = "3.27.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-d4FJCW0tTVgb+JTL386bYwmSlwEGAGSJAovsNs8kjaI=";
hash = "sha256-6zrAz+VqO8ojC+E0wcYMktZpnWF7skSj6R4GRrJ3nOs=";
};
propagatedBuildInputs = [
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-videointelligence";
version = "2.9.0";
version = "2.10.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-gd0cJX6XHwQguNJ7jFDUVwQg9eNk0ZUL4VH5L+3K+Lw=";
hash = "sha256-SzCzTYyvf85E7BDBV0lX4g0hiNyZ5Ebo1m+WR4AjoBk=";
};
propagatedBuildInputs = [
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "google-nest-sdm";
version = "2.1.2";
version = "2.2.2";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "allenporter";
repo = "python-google-nest-sdm";
rev = "refs/tags/${version}";
hash = "sha256-TuAqd9r/iExBa9uxU3386C12ZD+LEJai7DkJtcoupEs=";
hash = "sha256-QeT4S8UlJQ0rCYG8+hc4cP1mM3KZlu/afFqz+LPIuVA=";
};
propagatedBuildInputs = [
@@ -10,17 +10,17 @@
}:
buildPythonPackage rec {
pname = "NiaARM";
version = "0.2.2";
pname = "niaarm";
version = "0.2.4";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "firefly-cpp";
repo = pname;
repo = "NiaARM";
rev = version;
hash = "sha256-IY72hDklPkGjb2zo7Wf0MBiPn/jHtyUKW9D0jxA0P54=";
hash = "sha256-JPsBpVMeVZxUhCHoIBP47LhR8nrc8ZtJHREZLwL5Zxw=";
};
nativeBuildInputs = [
@@ -33,6 +33,11 @@ buildPythonPackage rec {
pandas
];
disabledTests = [
# Test requires extra nltk data dependency
"test_text_mining"
];
checkInputs = [
pytestCheckHook
];
@@ -44,6 +49,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "A minimalistic framework for Numerical Association Rule Mining";
homepage = "https://github.com/firefly-cpp/NiaARM";
changelog = "https://github.com/firefly-cpp/NiaARM/blob/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ firefly-cpp ];
};
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pyswitchbot";
version = "0.36.3";
version = "0.36.4";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Danielhiversen";
repo = "pySwitchbot";
rev = "refs/tags/${version}";
hash = "sha256-X4Ym+UmAY/O6UB26CVrqLPD03WP/3uzOJdKW/aUCwrc=";
hash = "sha256-3n3TtyzosWsdnzT2m2s55hnY45Yjj7kJS3rv/5LTSSg=";
};
propagatedBuildInputs = [
@@ -9,10 +9,12 @@
, cryptography
, defusedxml
, fetchPypi
, fetchpatch
, importlib-metadata
, micloud
, netifaces
, poetry-core
, pytest-asyncio
, pytest-mock
, pytestCheckHook
, pythonOlder
@@ -39,6 +41,14 @@ buildPythonPackage rec {
poetry-core
];
patches = [
(fetchpatch {
# Fix pytest 7.2 compat
url = "https://github.com/rytilahti/python-miio/commit/67d9d771d04d51f5bd97f361ca1c15ae4a18c274.patch";
hash = "sha256-Os9vCSKyieCqHs63oX6gcLrtv1N7hbX5WvEurelEp8w=";
})
];
propagatedBuildInputs = [
android-backup
appdirs
@@ -59,18 +69,11 @@ buildPythonPackage rec {
];
checkInputs = [
pytest-asyncio
pytest-mock
pytestCheckHook
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'defusedxml = "^0"' 'defusedxml = "*"'
# Will be fixed with the next release, https://github.com/rytilahti/python-miio/pull/1378
substituteInPlace miio/integrations/vacuum/roborock/vacuum_cli.py \
--replace "resultcallback" "result_callback"
'';
pythonImportsCheck = [
"miio"
];
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "tesla-powerwall";
version = "0.3.18";
version = "0.3.19";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "jrester";
repo = "tesla_powerwall";
rev = "v${version}";
hash = "sha256-Z+axzTiKDgJqGhl2c6g7N1AbmXO46lbaHVOXhMstoCY=";
rev = "refs/tags/v${version}";
hash = "sha256-ClrMgPAMBtDMfD6hCJIN1u4mp75QW+c3re28v3FreQg=";
};
propagatedBuildInputs = [
@@ -41,6 +41,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "API for Tesla Powerwall";
homepage = "https://github.com/jrester/tesla_powerwall";
changelog = "https://github.com/jrester/tesla_powerwall/blob/v${version}/CHANGELOG";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
};
@@ -29,7 +29,16 @@
# dependencies for torch.utils.tensorboard
pillow, six, future, tensorboard, protobuf,
isPy3k, pythonOlder }:
isPy3k, pythonOlder,
# ROCm dependencies
rocmSupport ? false,
gpuTargets ? [ ],
openmp, rocm-core, hip, rccl, miopen, miopengemm, rocrand, rocblas,
rocfft, rocsparse, hipsparse, rocthrust, rocprim, hipcub, roctracer,
rocsolver, hipfft, hipsolver, hipblas, rocminfo, rocm-thunk, rocm-comgr,
rocm-device-libs, rocm-runtime, rocm-opencl-runtime, hipify
}:
let
inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl;
@@ -62,6 +71,17 @@ let
cudaStubEnv = lib.optionalString cudaSupport
"LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH ";
rocmtoolkit_joined = symlinkJoin {
name = "rocm-merged";
paths = [
rocm-core hip rccl miopen miopengemm rocrand rocblas
rocfft rocsparse hipsparse rocthrust rocprim hipcub
roctracer rocfft rocsolver hipfft hipsolver hipblas
rocminfo rocm-thunk rocm-comgr rocm-device-libs
rocm-runtime rocm-opencl-runtime hipify
];
};
in buildPythonPackage rec {
pname = "torch";
# Don't forget to update torch-bin to the same version.
@@ -93,11 +113,40 @@ in buildPythonPackage rec {
./pthreadpool-disable-gcd.diff
];
postPatch = lib.optionalString rocmSupport ''
# https://github.com/facebookincubator/gloo/pull/297
substituteInPlace third_party/gloo/cmake/Hipify.cmake \
--replace "\''${HIPIFY_COMMAND}" "python \''${HIPIFY_COMMAND}"
# Replace hard-coded rocm paths
substituteInPlace caffe2/CMakeLists.txt \
--replace "/opt/rocm" "${rocmtoolkit_joined}" \
--replace "hcc/include" "hip/include" \
--replace "rocblas/include" "include/rocblas" \
--replace "hipsparse/include" "include/hipsparse"
# Doesn't pick up the environment variable?
substituteInPlace third_party/kineto/libkineto/CMakeLists.txt \
--replace "\''$ENV{ROCM_SOURCE_DIR}" "${rocmtoolkit_joined}" \
--replace "/opt/rocm" "${rocmtoolkit_joined}"
# Strangely, this is never set in cmake
substituteInPlace cmake/public/LoadHIP.cmake \
--replace "set(ROCM_PATH \$ENV{ROCM_PATH})" \
"set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." hip.version))})"
'';
preConfigure = lib.optionalString cudaSupport ''
export TORCH_CUDA_ARCH_LIST="${cudaFlags.cudaCapabilitiesSemiColonString}"
export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
'' + lib.optionalString (cudaSupport && cudnn != null) ''
export CUDNN_INCLUDE_DIR=${cudnn}/include
'' + lib.optionalString rocmSupport ''
export ROCM_PATH=${rocmtoolkit_joined}
export ROCM_SOURCE_DIR=${rocmtoolkit_joined}
export PYTORCH_ROCM_ARCH="${lib.strings.concatStringsSep ";" (if gpuTargets == [ ] then hip.gpuTargets else gpuTargets)}"
export CMAKE_CXX_FLAGS="-I${rocmtoolkit_joined}/include -I${rocmtoolkit_joined}/include/rocblas"
python tools/amd_build/build_amd.py
'';
# Use pytorch's custom configurations
@@ -164,11 +213,14 @@ in buildPythonPackage rec {
ninja
pybind11
removeReferencesTo
] ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
] ++ lib.optionals cudaSupport [ cudatoolkit_joined ]
++ lib.optionals rocmSupport [ rocmtoolkit_joined ];
buildInputs = [ blas blas.provider pybind11 ]
++ lib.optionals stdenv.isLinux [ linuxHeaders_5_19 ] # TMP: avoid "flexible array member" errors for now
++ lib.optionals cudaSupport [ cudnn magma nccl ]
++ lib.optionals cudaSupport [ cudnn nccl ]
++ lib.optionals rocmSupport [ openmp ]
++ lib.optionals (cudaSupport || rocmSupport) [ magma ]
++ lib.optionals stdenv.isLinux [ numactl ]
++ lib.optionals stdenv.isDarwin [ CoreServices libobjc ];
@@ -180,7 +232,8 @@ in buildPythonPackage rec {
typing-extensions
# the following are required for tensorboard support
pillow six future tensorboard protobuf
] ++ lib.optionals MPISupport [ mpi ];
] ++ lib.optionals MPISupport [ mpi ]
++ lib.optionals rocmSupport [ rocmtoolkit_joined ];
# Tests take a long time and may be flaky, so just sanity-check imports
doCheck = false;
@@ -227,6 +280,12 @@ in buildPythonPackage rec {
mkdir $lib
mv $out/${python.sitePackages}/torch/lib $lib/lib
ln -s $lib/lib $out/${python.sitePackages}/torch/lib
'' + lib.optionalString rocmSupport ''
substituteInPlace $dev/share/cmake/Tensorpipe/TensorpipeTargets-release.cmake \
--replace "\''${_IMPORT_PREFIX}/lib64" "$lib/lib"
substituteInPlace $dev/share/cmake/ATen/ATenConfig.cmake \
--replace "/build/source/torch/include" "$dev/include"
'';
postFixup = lib.optionalString stdenv.isDarwin ''
@@ -260,6 +319,7 @@ in buildPythonPackage rec {
homepage = "https://pytorch.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ teh thoughtpolice tscholak ]; # tscholak esp. for darwin-related builds
platforms = with platforms; linux ++ lib.optionals (!cudaSupport) darwin;
platforms = with platforms; linux ++ lib.optionals (!cudaSupport || !rocmSupport) darwin;
broken = rocmSupport && cudaSupport; # CUDA and ROCm are mutually exclusive
};
}
@@ -4,14 +4,12 @@
, fetchPypi
, aiohttp
, python-dateutil
, requests
, typing-extensions
, websockets
}:
buildPythonPackage rec {
pname = "twitchapi";
version = "3.2.1";
version = "3.4.1";
disabled = pythonOlder "3.7";
@@ -20,15 +18,13 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "twitchAPI";
inherit version;
hash = "sha256-E01LkuTnHy2R4Vdr2iLNi7f8KjsIRoDHokyjLAnWieM=";
hash = "sha256-q35ijx4zDR07k9al11T1H7SPYG9M8g8+rD/TNrkL2Ek=";
};
propagatedBuildInputs = [
aiohttp
python-dateutil
requests
typing-extensions
websockets
];
# upstream has no tests
@@ -43,6 +39,7 @@ buildPythonPackage rec {
];
meta = with lib; {
changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/v${version}/docs/changelog.rst";
description = "Python implementation of the Twitch Helix API, its Webhook, PubSub and EventSub";
homepage = "https://github.com/Teekeks/pyTwitchAPI";
license = licenses.mit;
@@ -7,7 +7,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-cmake";
version = "5.4.1";
version = "5.4.2";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
@@ -30,6 +30,6 @@ stdenv.mkDerivation (finalAttrs: {
license = licenses.mit;
maintainers = teams.rocm.members;
platforms = platforms.unix;
broken = finalAttrs.version != stdenv.cc.version;
broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
@@ -2,6 +2,7 @@
, lib
, Security
, openssl
, git
, pkg-config
, protobuf
, rustPlatform
@@ -27,7 +28,7 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-CQFTO43/b0ymYtnAtvySrp8cOF7rRdzY8mvcYTiiUp0=";
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [ pkg-config git ];
buildInputs = [
openssl
+15 -6
View File
@@ -1,27 +1,36 @@
{ buildGoModule, fetchFromGitHub, lib }:
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "go-swagger";
version = "0.30.3";
version = "0.30.4";
src = fetchFromGitHub {
owner = "go-swagger";
repo = pname;
rev = "v${version}";
sha256 = "sha256-QJ1C7JiLNwx7Up0cwRxtGUI2WA7gIaVZKsO+25joQ4E=";
rev = "refs/tags/v${version}";
hash = "sha256-5jnSuJqy5oaRxmZh2rr1hoBJPS4S9s0FhMZ4AY61w1I=";
};
vendorSha256 = "sha256-F20/EQjlrwYzejLPcnuzb7K9RmbbrqU+MwzBO1MvhL4=";
vendorHash = "sha256-EVsJP04yBiquux5LRR23bGRzrLiXBO9VA8UGlZEpgi8=";
doCheck = false;
subPackages = [ "cmd/swagger" ];
ldflags = [ "-s" "-w" "-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Version=${version}" "-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Commit=${src.rev}" ];
ldflags = [
"-s"
"-w"
"-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Version=${version}"
"-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Commit=${src.rev}"
];
meta = with lib; {
description = "Golang implementation of Swagger 2.0, representation of your RESTful API";
homepage = "https://github.com/go-swagger/go-swagger";
changelog = "https://github.com/go-swagger/go-swagger/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ kalbasit ];
mainProgram = "swagger";
+124
View File
@@ -0,0 +1,124 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, rocm-smi
, rocm-runtime
, libcap
, grpc
, protobuf
, openssl
, doxygen
, graphviz
, texlive
, gtest
, buildDocs ? true
, buildTests ? false
}:
let
latex = lib.optionalAttrs buildDocs texlive.combine {
inherit (texlive) scheme-small
latexmk
varwidth
multirow
hanging
adjustbox
collectbox
stackengine
enumitem
alphalph
wasysym
sectsty
tocloft
newunicodechar
etoc
helvetic
wasy
courier;
};
in stdenv.mkDerivation (finalAttrs: {
pname = "rdc";
version = "5.4.2";
outputs = [
"out"
] ++ lib.optionals buildDocs [
"doc"
] ++ lib.optionals buildTests [
"test"
];
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "rdc";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-dYacqkRp+zVejo/4dME1K6EN8t/1EBtIynEQ+AQ4JZo=";
};
nativeBuildInputs = [
cmake
protobuf
] ++ lib.optionals buildDocs [
doxygen
graphviz
latex
];
buildInputs = [
rocm-smi
rocm-runtime
libcap
grpc
openssl
] ++ lib.optionals buildTests [
gtest
];
cmakeFlags = [
"-DCMAKE_VERBOSE_MAKEFILE=OFF"
"-DRDC_INSTALL_PREFIX=${placeholder "out"}"
"-DBUILD_ROCRTEST=ON"
"-DRSMI_INC_DIR=${rocm-smi}/include"
"-DRSMI_LIB_DIR=${rocm-smi}/lib"
"-DGRPC_ROOT=${grpc}"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_LIBEXECDIR=libexec"
"-DCMAKE_INSTALL_DOCDIR=doc"
] ++ lib.optionals buildTests [
"-DBUILD_TESTS=ON"
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "file(STRINGS /etc/os-release LINUX_DISTRO LIMIT_COUNT 1 REGEX \"NAME=\")" "set(LINUX_DISTRO \"NixOS\")"
'';
postInstall = ''
find $out/bin -executable -type f -exec \
patchelf {} --shrink-rpath --allowed-rpath-prefixes /nix/store \;
'' + lib.optionalString buildTests ''
mkdir -p $test
mv $out/bin/rdctst_tests $test/bin
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "Simplifies administration and addresses infrastructure challenges in cluster and datacenter environments";
homepage = "https://github.com/RadeonOpenCompute/rdc";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
broken = versions.minor finalAttrs.version != versions.minor rocm-smi.version;
};
})
@@ -0,0 +1,58 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, pkg-config
, texinfo
, bison
, flex
, zlib
, elfutils
, gmp
, ncurses
, expat
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rocgdb";
version = "5.4.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "ROCgdb";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-DORPvfon32+rIk+YcO9LlUefNvvC7trmiTswg9MMuIs=";
};
nativeBuildInputs = [
pkg-config
texinfo # For makeinfo
bison
flex
];
buildInputs = [
zlib
elfutils
gmp
ncurses
expat
];
# `-Wno-format-nonliteral` doesn't work
NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "ROCm source-level debugger for Linux, based on GDB";
homepage = "https://github.com/ROCm-Developer-Tools/ROCgdb";
license = with licenses; [ gpl2 gpl3 bsd3 ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
};
})
+2 -2
View File
@@ -18,7 +18,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "5.4.1";
version = "5.4.2";
pname = "rocminfo";
src = fetchFromGitHub {
@@ -58,6 +58,6 @@ stdenv.mkDerivation (finalAttrs: {
license = licenses.ncsa;
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
broken = stdenv.isAarch64 || finalAttrs.version != stdenv.cc.version;
broken = stdenv.isAarch64 || versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
};
})
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ruff";
version = "0.0.224";
version = "0.0.226";
src = fetchFromGitHub {
owner = "charliermarsh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-NzRo6bVwR1+udPr4orfT0zR8HqbLGjudYpxzEauRuFI=";
sha256 = "sha256-1JLzDkwcC1EnJfJ03h3NZT+NxKMzhmCsDY2ATjgqM8w=";
};
cargoSha256 = "sha256-Biw5n8mNSnQWVh5MPyo5ZAu07PLCVLtrSwjouiyEeis=";
cargoSha256 = "sha256-JK89z52fMV3BC2UO90F2j5fV5Skp7yN0vtTf4YOHnVs=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices

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