From a61fdebc2532d1547640346118c72ecad0191fc7 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sun, 18 Feb 2018 00:52:55 -0500 Subject: [PATCH] libatomic_ops: Add patch for RISC-V support. --- .../libraries/libatomic_ops/default.nix | 5 ++- .../libraries/libatomic_ops/riscv.patch | 40 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/libatomic_ops/riscv.patch diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix index 3aae754be40..714e9361440 100644 --- a/pkgs/development/libraries/libatomic_ops/default.nix +++ b/pkgs/development/libraries/libatomic_ops/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoconf, automake, libtool }: +{ stdenv, fetchurl, autoconf, automake, libtool, hostPlatform }: stdenv.mkDerivation rec { name = "libatomic_ops-${version}"; @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { sha256 ="1rif2hjscq5mh639nsnjhb90c01gnmy1sbmj6x6hsn1xmpnj95r1"; }; + # https://github.com/ivmai/libatomic_ops/pull/32 + patches = if hostPlatform.isRiscV then [ ./riscv.patch ] else null; + nativeBuildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake libtool ]; preConfigure = stdenv.lib.optionalString stdenv.isCygwin '' diff --git a/pkgs/development/libraries/libatomic_ops/riscv.patch b/pkgs/development/libraries/libatomic_ops/riscv.patch new file mode 100644 index 00000000000..27f2408c34c --- /dev/null +++ b/pkgs/development/libraries/libatomic_ops/riscv.patch @@ -0,0 +1,40 @@ +diff -Naur libatomic_ops-7.6.2-orig/src/atomic_ops/sysdeps/gcc/riscv.h libatomic_ops-7.6.2/src/atomic_ops/sysdeps/gcc/riscv.h +--- libatomic_ops-7.6.2-orig/src/atomic_ops/sysdeps/gcc/riscv.h 1969-12-31 19:00:00.000000000 -0500 ++++ libatomic_ops-7.6.2/src/atomic_ops/sysdeps/gcc/riscv.h 2018-02-18 00:48:53.581721375 -0500 +@@ -0,0 +1 @@ ++#include "generic.h" +diff -Naur libatomic_ops-7.6.2-orig/src/atomic_ops.h libatomic_ops-7.6.2/src/atomic_ops.h +--- libatomic_ops-7.6.2-orig/src/atomic_ops.h 2017-12-24 03:31:12.000000000 -0500 ++++ libatomic_ops-7.6.2/src/atomic_ops.h 2018-02-18 00:48:53.580721359 -0500 +@@ -352,6 +352,9 @@ + # if defined(__tile__) + # include "atomic_ops/sysdeps/gcc/tile.h" + # endif ++# if defined(__riscv) ++# include "atomic_ops/sysdeps/gcc/riscv.h" ++# endif + #endif /* __GNUC__ && !AO_USE_PTHREAD_DEFS */ + + #if (defined(__IBMC__) || defined(__IBMCPP__)) && !defined(__GNUC__) \ +diff -Naur libatomic_ops-7.6.2-orig/src/Makefile.am libatomic_ops-7.6.2/src/Makefile.am +--- libatomic_ops-7.6.2-orig/src/Makefile.am 2017-12-24 03:31:12.000000000 -0500 ++++ libatomic_ops-7.6.2/src/Makefile.am 2018-02-18 00:48:53.579721342 -0500 +@@ -92,6 +92,7 @@ + atomic_ops/sysdeps/gcc/mips.h \ + atomic_ops/sysdeps/gcc/nios2.h \ + atomic_ops/sysdeps/gcc/powerpc.h \ ++ atomic_ops/sysdeps/gcc/riscv.h \ + atomic_ops/sysdeps/gcc/s390.h \ + atomic_ops/sysdeps/gcc/sh.h \ + atomic_ops/sysdeps/gcc/sparc.h \ +diff -Naur libatomic_ops-7.6.2-orig/src/Makefile.in libatomic_ops-7.6.2/src/Makefile.in +--- libatomic_ops-7.6.2-orig/src/Makefile.in 2017-12-24 03:32:23.000000000 -0500 ++++ libatomic_ops-7.6.2/src/Makefile.in 2018-02-18 00:49:14.005062121 -0500 +@@ -446,6 +446,7 @@ + atomic_ops/sysdeps/gcc/mips.h \ + atomic_ops/sysdeps/gcc/nios2.h \ + atomic_ops/sysdeps/gcc/powerpc.h \ ++ atomic_ops/sysdeps/gcc/riscv.h \ + atomic_ops/sysdeps/gcc/s390.h \ + atomic_ops/sysdeps/gcc/sh.h \ + atomic_ops/sysdeps/gcc/sparc.h \