From 5dbe6b64ec1126d112da9c45071e267630aaacdd Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Sat, 7 Jan 2023 18:15:37 +0100 Subject: [PATCH] clfft: add darwin support --- pkgs/development/libraries/clfft/default.nix | 22 +++++++++++++++----- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/clfft/default.nix b/pkgs/development/libraries/clfft/default.nix index db18bce72be8..8af7a57e6555 100644 --- a/pkgs/development/libraries/clfft/default.nix +++ b/pkgs/development/libraries/clfft/default.nix @@ -1,5 +1,8 @@ -{ lib, stdenv, fetchFromGitHub, cmake, fftw, fftwFloat, boost166, opencl-clhpp, ocl-icd }: +{ lib, stdenv, fetchFromGitHub, cmake, fftw, fftwFloat, boost, opencl-clhpp, ocl-icd, darwin }: +let + inherit (darwin.apple_sdk.frameworks) OpenCL; +in stdenv.mkDerivation rec { pname = "clfft"; version = "2.12.2"; @@ -7,15 +10,24 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "clMathLibraries"; repo = "clFFT"; - rev = "refs/tags/v${version}"; - sha256 = "134vb6214hn00qy84m4djg4hqs6hw19gkp8d0wlq8gb9m3mfx7na"; + rev = "v${version}"; + hash = "sha256-yp7u6qhpPYQpBw3d+VLg0GgMyZONVII8BsBCEoRZm4w="; }; sourceRoot = "source/src"; + postPatch = '' + sed -i '/-m64/d;/-m32/d' CMakeLists.txt + ''; + nativeBuildInputs = [ cmake ]; - buildInputs = [ fftw fftwFloat boost166 opencl-clhpp ocl-icd ]; + buildInputs = [ fftw fftwFloat boost ] + ++ lib.optionals stdenv.isLinux [ opencl-clhpp ocl-icd ] + ++ lib.optionals stdenv.isDarwin [ OpenCL ]; + + # https://github.com/clMathLibraries/clFFT/issues/237 + CXXFLAGS = "-std=c++98"; meta = with lib; { description = "Library containing FFT functions written in OpenCL"; @@ -25,7 +37,7 @@ stdenv.mkDerivation rec { ''; license = licenses.asl20; homepage = "http://clmathlibraries.github.io/clFFT/"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = platforms.unix; maintainers = with maintainers; [ chessai ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 33940f5e09fa..9f239acf71da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18857,9 +18857,7 @@ with pkgs; classads = callPackage ../development/libraries/classads { }; - clfft = callPackage ../development/libraries/clfft { - stdenv = gcc10StdenvCompat; - }; + clfft = callPackage ../development/libraries/clfft { }; clipp = callPackage ../development/libraries/clipp { };