Unverified Commit a37a6e10 authored by Dmitry Kalinkin's avatar Dmitry Kalinkin Committed by GitHub
Browse files

Merge pull request #310309 from guitargeek/root_632

root: 6.30.06 -> 6.32.00
parents b416019d 8116ead1
Loading
Loading
Loading
Loading
+8 −30
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
, callPackage
, fetchgit
, fetchurl
, fetchpatch
, makeWrapper
, cmake
, coreutils
@@ -25,7 +24,7 @@
, libGL
, libxcrypt
, libxml2
, llvm_13
, llvm_16
, lsof
, lz4
, xz
@@ -41,7 +40,6 @@
, xxHash
, zlib
, zstd
, libAfterImage
, giflib
, libjpeg
, libtiff
@@ -58,7 +56,7 @@

stdenv.mkDerivation rec {
  pname = "root";
  version = "6.30.06";
  version = "6.32.00";

  passthru = {
    tests = import ./tests { inherit callPackage; };
@@ -66,13 +64,13 @@ stdenv.mkDerivation rec {

  src = fetchurl {
    url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
    hash = "sha256-MA237RtnjtL7ljXKZ1khoZRcfCED2oQAM7STCR9VcAw=";
    hash = "sha256-EvIDaBpZBBxHTOlSN2Hm8OiGGzvueN9feZqNtVGJ5dI=";
  };

  clad_src = fetchgit {
    url = "https://github.com/vgvassilev/clad";
    rev = "refs/tags/v1.4"; # Make sure that this is the same tag as in the ROOT build files!
    hash = "sha256-OI9PaS7kQ/ewD5Soe3gG5FZdlR6qG6Y3mfHwi5dj1sI=";
    rev = "refs/tags/v1.5"; # Make sure that this is the same tag as in the ROOT build files!
    hash = "sha256-s0DbHfLthv51ZICnTd30O4qG/DyZPk5tADeu3bBRoOw=";
  };

  nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
@@ -90,7 +88,7 @@ stdenv.mkDerivation rec {
    lapack
    libxcrypt
    libxml2
    llvm_13
    llvm_16
    lz4
    xz
    gsl
@@ -98,7 +96,6 @@ stdenv.mkDerivation rec {
    openblas
    openssl
    xxHash
    libAfterImage
    giflib
    libjpeg
    libtiff
@@ -116,17 +113,6 @@ stdenv.mkDerivation rec {

  patches = [
    ./sw_vers.patch

    # compatibility with recent XRootD
    # https://github.com/root-project/root/pull/13752
    (fetchpatch {
      url = "https://github.com/root-project/root/commit/3d3cda6c520791282298782189cdb8ca07ace4b9.diff";
      hash = "sha256-O3aXzrOEQiPjZgbAj9TL6Wt/adN1kKFwjooeaFRyT4I=";
    })
    (fetchpatch {
      url = "https://github.com/root-project/root/commit/6e7798e62dbed1ffa8b91a180fa5a080b7c04ba3.diff";
      hash = "sha256-47/J631DBnVlvM1Pm9iicKXDKAqN8v9hjAstQuHmH8Q=";
    })
  ];

  preConfigure = ''
@@ -142,18 +128,13 @@ stdenv.mkDerivation rec {
    # This should probably be fixed upstream with a flag to disable the
    # connectivity check!
    substituteInPlace CMakeLists.txt \
      --replace 'if(NO_CONNECTION)' 'if(FALSE)'
    substituteInPlace interpreter/cling/tools/plugins/CMakeLists.txt \
      --replace 'if(NOT DEFINED NO_CONNECTION OR NOT NO_CONNECTION)' 'if(TRUE)'
      --replace 'if(clad AND NO_CONNECTION)' 'if(FALSE)'
    # Make sure that clad is not downloaded when building
    substituteInPlace interpreter/cling/tools/plugins/clad/CMakeLists.txt \
      --replace 'UPDATE_COMMAND ""' 'SOURCE_DIR ${clad_src} DOWNLOAD_COMMAND "" UPDATE_COMMAND ""'
    # Make sure that clad is finding the right llvm version
    substituteInPlace interpreter/cling/tools/plugins/clad/CMakeLists.txt \
      --replace '-DLLVM_DIR=''${LLVM_BINARY_DIR}' '-DLLVM_DIR=${llvm_13.dev}/lib/cmake/llvm'
    # Fix that will also be upstream in ROOT 6.32. TODO: remove it when updating to 6.32
    substituteInPlace interpreter/cling/tools/plugins/clad/CMakeLists.txt \
      --replace 'set(_CLAD_LIBRARY_PATH ''${clad_install_dir}/plugins/lib)' 'set(_CLAD_LIBRARY_PATH ''${CMAKE_CURRENT_BINARY_DIR}/clad-prefix/src/clad-build/lib''${LLVM_LIBDIR_SUFFIX})'
      --replace '-DLLVM_DIR=''${LLVM_BINARY_DIR}' '-DLLVM_DIR=${llvm_16.dev}/lib/cmake/llvm'

    substituteInPlace interpreter/llvm-project/clang/tools/driver/CMakeLists.txt \
      --replace 'add_clang_symlink(''${link} clang)' ""
@@ -197,9 +178,6 @@ stdenv.mkDerivation rec {
    "-Druntime_cxxmodules=OFF"
  ];

  # suppress warnings from compilation of the vendored clang to avoid running into log limits on the Hydra
  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-shadow" "-Wno-maybe-uninitialized" ];

  postInstall = ''
    for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do
      wrapProgram "$out/bin/$prog" \
+0 −98
Original line number Diff line number Diff line
{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, giflib, libjpeg, libpng, libX11, zlib
, static ? stdenv.hostPlatform.isStatic
, withX ? !stdenv.isDarwin }:

stdenv.mkDerivation {
  pname = "libAfterImage";
  version = "1.20";

  src = fetchurl {
    name = "libAfterImage-1.20.tar.bz2";
    urls = [
      "https://sourceforge.net/projects/afterstep/files/libAfterImage/1.20/libAfterImage-1.20.tar.bz2/download"
      "ftp://ftp.afterstep.org/stable/libAfterImage/libAfterImage-1.20.tar.bz2"
    ];
    sha256 = "0n74rxidwig3yhr6fzxsk7y19n1nq1f296lzrvgj5pfiyi9k48vf";
  };

  patches = [
    # add back --with-gif option
    (fetchpatch {
      name = "libafterimage-gif.patch";
      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-gif.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
      sha256 = "16pa94wlqpd7h6mzs4f0qm794yk1xczrwsgf93kdd3g0zbjq3rnr";
    })

    # fix build with newer giflib
    (fetchpatch {
      name = "libafterimage-giflib5-v2.patch";
      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-giflib5-v2.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
      sha256 = "0qwydqy9bm73cg5n3vm97aj4jfi70p7fxqmfbi54vi78z593brln";
      stripLen = 1;
    })

    # fix build with newer libpng
    (fetchpatch {
      name = "libafterimage-libpng15.patch";
      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-libpng15.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
      sha256 = "1qyvf7786hayasfnnilfbri3p99cfz5wjpbli3gdqj2cvk6mpydv";
    })

    # fix an ldconfig problem
    (fetchpatch {
      name = "libafterimage-makefile.patch";
      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-makefile.in.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4";
      sha256 = "1n6fniz6dldms615046yhc4mlg9gb53y4yfia8wfz6szgq5zicj4";
    })

    # Fix build failure against binutils-2.36:
    #  https://sourceforge.net/p/afterstep/bugs/5/
    (fetchpatch {
      name = "binutils-2.36.patch";
      url = "https://sourceforge.net/p/afterstep/bugs/5/attachment/libafterimage-binutils-2.36-support.patch";
      sha256 = "1cfgm2ffwlsmhvvfmrxlglddaigr99k88d5xqva9pkl3mmzy3jym";
      # workaround '-p0' patchflags below.
      stripLen = 1;
    })

    # fix https://github.com/root-project/root/issues/10990
    (fetchpatch {
      url = "https://github.com/root-project/root/pull/11243/commits/e177a477b0be05ef139094be1e96a99ece06350a.diff";
      hash = "sha256-2DQmJGHmATHawl3dk9dExncVe1sXzJQyy4PPwShoLTY=";
      stripLen = 5;
    })
  ];
  patchFlags = [ "-p0" ];

  nativeBuildInputs = [ autoreconfHook ];
  buildInputs = [ giflib libjpeg libpng zlib ] ++ lib.optional withX libX11;

  preConfigure = ''
    rm -rf {libjpeg,libpng,libungif,zlib}/
    substituteInPlace Makefile.in \
      --replace "include .depend" ""
  '' + lib.optionalString stdenv.isDarwin ''
    substituteInPlace Makefile.in \
      --replace "-soname," "-install_name,$out/lib/"
  '';

  configureFlags = [
    "--with-gif"
    "--disable-mmx-optimization"
    "--${if static then "enable" else "disable"}-staticlibs"
    "--${if !static then "enable" else "disable"}-sharedlibs"
    "--${if withX then "with" else "without"}-x"
  ];

  env = lib.optionalAttrs stdenv.cc.isClang {
    NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
  };

  meta = with lib; {
    homepage = "http://www.afterstep.org/afterimage/";
    description = "A generic image manipulation library";
    platforms = platforms.unix;
    maintainers = [ maintainers.veprbl ];
    license = licenses.lgpl21;
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
  '';

  cmakeFlags = [
    "-DHEPMC3_CXX_STANDARD=17"
    "-DHEPMC3_ENABLE_PYTHON=${if withPython then "ON" else "OFF"}"
  ] ++ lib.optionals withPython [
    "-DHEPMC3_PYTHON_VERSIONS=${if python.isPy3k then "3.X" else "2.X"}"
+1 −0
Original line number Diff line number Diff line
@@ -637,6 +637,7 @@ mapAliases ({
  ledger_agent = ledger-agent; # Added 2024-01-07
  lfs = dysk; # Added 2023-07-03
  llvmPackages_rocm = throw "'llvmPackages_rocm' has been replaced with 'rocmPackages.llvm'"; # Added 2023-10-08
  libAfterImage = throw "'libAfterImage' has been removed from nixpkgs, as it's no longer in development for a long time"; # Added 2024-06-01
  libayatana-indicator-gtk3 = libayatana-indicator; # Added 2022-10-18
  libayatana-appindicator-gtk3 = libayatana-appindicator; # Added 2022-10-18
  libbencodetools = bencodetools; # Added 2022-07-30
+0 −2
Original line number Diff line number Diff line
@@ -21707,8 +21707,6 @@ with pkgs;
  lib3mf = callPackage ../development/libraries/lib3mf { };
  libAfterImage = callPackage ../development/libraries/libAfterImage { };
  libaacs = callPackage ../development/libraries/libaacs { };
  libaal = callPackage ../development/libraries/libaal { };