Unverified Commit b5d21ab6 authored by Ryan Hendrickson's avatar Ryan Hendrickson Committed by GitHub
Browse files

gmp4: drop (#367880)

parents 6246844b ac7f80ce
Loading
Loading
Loading
Loading
+0 −95
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchurl,
  m4,
  cxx ? true,
}:

let
  self = stdenv.mkDerivation rec {
    pname = "gmp";
    version = "4.3.2";

    src = fetchurl {
      url = "mirror://gnu/gmp/gmp-${version}.tar.bz2";
      sha256 = "0x8prpqi9amfcmi7r4zrza609ai9529pjaq0h4aw51i867064qck";
    };

    #outputs TODO: split $cxx due to libstdc++ dependency
    # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
    # - see #5855 for related discussion
    outputs = [
      "out"
      "dev"
      "info"
    ];
    passthru.static = self.out;

    nativeBuildInputs = [ m4 ];

    # Prevent the build system from using sub-architecture-specific
    # instructions (e.g., SSE2 on i686).
    #
    # This is not a problem for Apple machines, which are all alike.  In
    # addition, `configfsf.guess' would return `i386-apple-darwin10.2.0' on
    # `x86_64-darwin', leading to a 32-bit ABI build, which is undesirable.
    preConfigure =
      if !stdenv.hostPlatform.isDarwin then
        "ln -sf configfsf.guess config.guess"
      else
        ''echo "Darwin host is `./config.guess`."'';

    configureFlags =
      [
        (lib.enableFeature cxx "cxx")
      ]
      ++ lib.optionals stdenv.hostPlatform.isDarwin [
        "ac_cv_build=x86_64-apple-darwin13.4.0"
        "ac_cv_host=x86_64-apple-darwin13.4.0"
      ];

    # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8.
    # Newer versions of GMP don't have that issue anymore.
    doCheck = false;

    meta = {
      branch = "4";
      description = "GNU multiple precision arithmetic library";

      longDescription = ''
        GMP is a free library for arbitrary precision arithmetic, operating
        on signed integers, rational numbers, and floating point numbers.
        There is no practical limit to the precision except the ones implied
        by the available memory in the machine GMP runs on.  GMP has a rich
        set of functions, and the functions have a regular interface.

        The main target applications for GMP are cryptography applications
        and research, Internet security applications, algebra systems,
        computational algebra research, etc.

        GMP is carefully designed to be as fast as possible, both for small
        operands and for huge operands.  The speed is achieved by using
        fullwords as the basic arithmetic type, by using fast algorithms,
        with highly optimised assembly code for the most common inner loops
        for a lot of CPUs, and by a general emphasis on speed.

        GMP is faster than any other bignum library.  The advantage for GMP
        increases with the operand sizes for many operations, since GMP uses
        asymptotically faster algorithms.
      '';

      homepage = "https://gmplib.org/";
      license = lib.licenses.lgpl3Plus;

      maintainers = [ ];
      platforms = lib.platforms.all;
      badPlatforms = [ "x86_64-darwin" ];
      # never built on aarch64-darwin, aarch64-linux since first introduction in nixpkgs
      broken =
        (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
        || (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
    };
  };
in
self
+0 −18
Original line number Diff line number Diff line
diff --git a/gmp-h.in b/gmp-h.in
index 7deb67a..240d663 100644
--- a/gmp-h.in
+++ b/gmp-h.in
@@ -46,13 +46,11 @@ along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
 #ifndef __GNU_MP__
 #define __GNU_MP__ 5
 
-#define __need_size_t  /* tell gcc stddef.h we only want size_t */
 #if defined (__cplusplus)
 #include <cstddef>     /* for size_t */
 #else
 #include <stddef.h>    /* for size_t */
 #endif
-#undef __need_size_t
 
 /* Instantiated by configure. */
 #if ! defined (__GMP_WITHIN_CONFIGURE)
+1 −0
Original line number Diff line number Diff line
@@ -475,6 +475,7 @@ mapAliases {
  glfw-wayland-minecraft = glfw3-minecraft; # Added 2024-05-08
  glxinfo = mesa-demos; # Added 2024-07-04
  gmailieer = throw "'gmailieer' has been renamed to/replaced by 'lieer'"; # Converted to throw 2024-10-17
  gmp4 = throw "'gmp4' is end-of-life, consider using 'gmp' instead"; # Added 2024-12-24
  gnatboot11 = gnat-bootstrap11;
  gnatboot12 = gnat-bootstrap12;
  gnatboot = gnat-bootstrap;
+0 −1
Original line number Diff line number Diff line
@@ -9219,7 +9219,6 @@ with pkgs;
  gmime3 = callPackage ../development/libraries/gmime/3.nix { };
  gmime = gmime2;
  gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; # required by older GHC versions
  gmp6 = callPackage ../development/libraries/gmp/6.x.nix { };
  gmp = gmp6;
  gmpxx = gmp.override { cxx = true; };