Unverified Commit 60f34a2c authored by Connor Baker's avatar Connor Baker Committed by GitHub
Browse files

xmrig-cuda{,-mo}: init at 6.22.1{,-mo1} (#441494)

parents fe2a8ef0 99d4c189
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1068,6 +1068,13 @@
    githubId = 22500561;
    name = "Albert Ilagan";
  };
  albertlarsan68 = {
    email = "albertlarsan@albertlarsan.fr";
    github = "albertlarsan68";
    githubId = 74931857;
    matrix = "@albertlarsan68:albertlarsan.fr";
    name = "Albert Larsan";
  };
  albertodvp = {
    email = "alberto.fanton@protonmail.com";
    github = "albertodvp";
+70 −0
Original line number Diff line number Diff line
{
  autoAddDriverRunpath,
  cmake,
  cudaPackages,
  fetchFromGitHub,
  fetchpatch,
  lib,
}:
cudaPackages.backendStdenv.mkDerivation (finalAttrs: {
  pname = "xmrig-cuda-mo";
  version = "6.22.1-mo1";
  __structuredAttrs = true;
  strictDeps = true;

  src = fetchFromGitHub {
    owner = "MoneroOcean";
    repo = "xmrig-cuda";
    tag = "v${finalAttrs.version}";
    hash = "sha256-O6VFZUuCrR2/or4BZQaqBXcmHMCbeCNqyvSKJ0Pef/Y=";
  };
  patches = [
    (fetchpatch {
      url = "https://github.com/xmrig/xmrig-cuda/commit/5947ae05f87eb7966fbe0ad2db149a496f908e87.patch";
      hash = "sha256-5fxlc09DnJ2uNZAdhYdLv67RHCha7+SfMg9XzwwrN9o=";
    })
    (fetchpatch {
      url = "https://github.com/xmrig/xmrig-cuda/commit/d0065c315779b28f12944a74694f81e13fb01ece.patch";
      hash = "sha256-8lU3s2b1eh7fvcMze/FIiaURFrkypVGJisrE7w0aDM4=";
    })
  ];
  postPatch = ''
    substituteInPlace cmake/flags.cmake \
      --replace-fail 'set(CMAKE_CXX_STANDARD 11)' 'set(CMAKE_CXX_STANDARD 17)' \
      --replace-fail '-std=c++11' '-std=c++17'
    substituteInPlace src/cuda_cryptonight_gpu.hpp \
      --replace-fail 'int_as_float' '__int_as_float' \
      --replace-fail 'int2float' '__int2float_rn' \
      --replace-fail 'float_as_int' '__float_as_int'
  '';

  nativeBuildInputs = [
    autoAddDriverRunpath
    cmake
    cudaPackages.cuda_nvcc
  ];

  buildInputs = [
    cudaPackages.cuda_nvrtc
    cudaPackages.cuda_nvcc
    cudaPackages.cuda_cudart
  ];

  installPhase = ''
    runHook preInstall

    install -vD libxmrig-cuda.so $out/lib/libxmrig-cuda.so

    runHook postInstall
  '';

  meta = {
    description = "Fork of the XMRig CPU miner (CUDA plugin) with support for algorithm switching";
    homepage = "https://github.com/MoneroOcean/xmrig-cuda";
    license = lib.licenses.gpl3Plus;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [
      albertlarsan68
    ];
  };
})
+66 −0
Original line number Diff line number Diff line
{
  autoAddDriverRunpath,
  cmake,
  cudaPackages,
  fetchFromGitHub,
  fetchpatch,
  lib,
}:
cudaPackages.backendStdenv.mkDerivation (finalAttrs: {
  pname = "xmrig-cuda";
  version = "6.22.1";
  __structuredAttrs = true;
  strictDeps = true;

  src = fetchFromGitHub {
    owner = "xmrig";
    repo = "xmrig-cuda";
    tag = "v${finalAttrs.version}";
    hash = "sha256-krS0ygKclXDLti24PDnBFUetOAYkYM8jty4C3PSOEWY=";
  };
  patches = [
    (fetchpatch {
      url = "https://github.com/xmrig/xmrig-cuda/commit/5947ae05f87eb7966fbe0ad2db149a496f908e87.patch";
      hash = "sha256-5fxlc09DnJ2uNZAdhYdLv67RHCha7+SfMg9XzwwrN9o=";
    })
    (fetchpatch {
      url = "https://github.com/xmrig/xmrig-cuda/commit/d0065c315779b28f12944a74694f81e13fb01ece.patch";
      hash = "sha256-8lU3s2b1eh7fvcMze/FIiaURFrkypVGJisrE7w0aDM4=";
    })
  ];
  postPatch = ''
    substituteInPlace cmake/flags.cmake \
      --replace-fail 'set(CMAKE_CXX_STANDARD 11)' 'set(CMAKE_CXX_STANDARD 17)' \
      --replace-fail '-std=c++11' '-std=c++17'
  '';

  nativeBuildInputs = [
    autoAddDriverRunpath
    cmake
    cudaPackages.cuda_nvcc
  ];

  buildInputs = [
    cudaPackages.cuda_nvrtc
    cudaPackages.cuda_nvcc
    cudaPackages.cuda_cudart
  ];

  installPhase = ''
    runHook preInstall

    install -vD libxmrig-cuda.so $out/lib/libxmrig-cuda.so

    runHook postInstall
  '';

  meta = {
    description = "Monero (XMR) CPU miner, CUDA plugin";
    homepage = "https://github.com/xmrig/xmrig-cuda";
    license = lib.licenses.gpl3Plus;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [
      albertlarsan68
    ];
  };
})