diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2022-12-03 05:26:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-03 05:26:22 +0100 |
commit | eac8b5156554857a82f581d2274ea192bf773235 (patch) | |
tree | 6fc21b7619ad6a82989738fccf948632a948f86b /pkgs/applications/science | |
parent | bbbb55d3ac81aff8f953c49da56fcb07dd8364ea (diff) |
flopoco: init at 4.1.3 (#200459)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r-- | pkgs/applications/science/electronics/flopoco/default.nix | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/applications/science/electronics/flopoco/default.nix b/pkgs/applications/science/electronics/flopoco/default.nix new file mode 100644 index 0000000000000..7ce1087209e2c --- /dev/null +++ b/pkgs/applications/science/electronics/flopoco/default.nix @@ -0,0 +1,93 @@ +{ lib +, stdenv +, fetchFromGitLab +, fetchpatch +, cmake +, installShellFiles +, bison +, boost +, flex +, gmp +, libxml2 +, mpfi +, mpfr +, scalp +, sollya +, wcpg +}: + +stdenv.mkDerivation rec { + pname = "flopoco"; + version = "4.1.3"; + + src = fetchFromGitLab { + owner = pname; + repo = pname; + # flopoco-4.1.3 is not tagged on GitLab + rev = "67598298207c9f3261c35679c8a5966480c4343c"; + sha256 = "sha256-0jRjg4/qciqBcjsi6BTbKO4VJkcoEzpC98wFkUOIGbI="; + }; + + patches = [ + (fetchpatch { + name = "fix-clang-error-sin-cos.patch"; + url = "https://gitlab.com/flopoco/flopoco/-/commit/de3aa60ad19333952c176c2a2e51f12653ca736b.patch"; + postFetch = '' + substituteInPlace $out \ + --replace 'FixSinCosCORDIC.hpp' 'CordicSinCos.hpp' + ''; + sha256 = "sha256-BlamA/MZuuqqvGYto+jPeQPop6gwva0y394Odw8pdwg="; + }) + (fetchpatch { + name = "fix-clang-error-atan2.patch"; + url = "https://gitlab.com/flopoco/flopoco/-/commit/a3ffe2436c1b59ee0809b3772b74f2d43c6edb99.patch"; + sha256 = "sha256-dSYcufLHDL0p1V1ghmy6X6xse5f6mjUqckaVqLZnTaA="; + }) + ]; + + postPatch = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) '' + sed -i "s/-pg//g" {,src/Apps/TaMaDi/}CMakeLists.txt + ''; + + strictDeps = true; + + nativeBuildInputs = [ + bison + cmake + installShellFiles + ]; + + buildInputs = [ + boost + flex + gmp + libxml2 + mpfi + mpfr + scalp + sollya + wcpg + ]; + + postBuild = '' + ./flopoco BuildAutocomplete + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 flopoco $out/bin/flopoco + cp bin* fp* ieee* longacc* $out/bin/ + installShellCompletion --bash flopoco_autocomplete + + runHook postInstall + ''; + + meta = with lib; { + description = "The FloPoCo arithmetic core generator"; + homepage = "https://flopoco.org/"; + license = licenses.unfree; + platforms = platforms.unix; + maintainers = with maintainers; [ wegank ]; + }; +} |