From 2977d737de15239fa4ec08eb3176e8af46fc6609 Mon Sep 17 00:00:00 2001 From: Sam Estep Date: Fri, 22 May 2026 23:54:37 -0400 Subject: [PATCH] applgrid: fix build after root update Assisted-by: Claude:opus-4.7 --- pkgs/by-name/ap/applgrid/TFileStringLinkDef.h | 6 ++++++ pkgs/by-name/ap/applgrid/TFileVectorLinkDef.h | 6 ++++++ pkgs/by-name/ap/applgrid/package.nix | 11 +++++++++++ pkgs/by-name/ap/applgrid/rootcling-linkdef.patch | 11 +++++++++++ 4 files changed, 34 insertions(+) create mode 100644 pkgs/by-name/ap/applgrid/TFileStringLinkDef.h create mode 100644 pkgs/by-name/ap/applgrid/TFileVectorLinkDef.h create mode 100644 pkgs/by-name/ap/applgrid/rootcling-linkdef.patch diff --git a/pkgs/by-name/ap/applgrid/TFileStringLinkDef.h b/pkgs/by-name/ap/applgrid/TFileStringLinkDef.h new file mode 100644 index 000000000000..ce59a4a65321 --- /dev/null +++ b/pkgs/by-name/ap/applgrid/TFileStringLinkDef.h @@ -0,0 +1,6 @@ +#ifdef __CLING__ +#pragma link off all globals; +#pragma link off all classes; +#pragma link off all functions; +#pragma link C++ class TFileString+; +#endif diff --git a/pkgs/by-name/ap/applgrid/TFileVectorLinkDef.h b/pkgs/by-name/ap/applgrid/TFileVectorLinkDef.h new file mode 100644 index 000000000000..07ba83655d5e --- /dev/null +++ b/pkgs/by-name/ap/applgrid/TFileVectorLinkDef.h @@ -0,0 +1,6 @@ +#ifdef __CLING__ +#pragma link off all globals; +#pragma link off all classes; +#pragma link off all functions; +#pragma link C++ class TFileVector+; +#endif diff --git a/pkgs/by-name/ap/applgrid/package.nix b/pkgs/by-name/ap/applgrid/package.nix index c578ade96705..136ab20b5656 100644 --- a/pkgs/by-name/ap/applgrid/package.nix +++ b/pkgs/by-name/ap/applgrid/package.nix @@ -18,7 +18,18 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-h+ZNGj33FIwg4fOCyfGJrUKM2vDDQl76JcLhtboAOtc="; }; + patches = [ + # ROOT 6.40 made rootcling fail when no selection rules are provided + # (https://root.cern/doc/v640/release-notes.html#core-libraries). The patch + # appends $*LinkDef.h to the dictionary pattern rule so rootcint picks up + # the LinkDef.h files we drop into src/ in postPatch. + ./rootcling-linkdef.patch + ]; + postPatch = '' + cp ${./TFileStringLinkDef.h} src/TFileStringLinkDef.h + cp ${./TFileVectorLinkDef.h} src/TFileVectorLinkDef.h + sed -i appl_grid/serialise_base.h -e '1i#include ' ''; diff --git a/pkgs/by-name/ap/applgrid/rootcling-linkdef.patch b/pkgs/by-name/ap/applgrid/rootcling-linkdef.patch new file mode 100644 index 000000000000..e969dc7f25c7 --- /dev/null +++ b/pkgs/by-name/ap/applgrid/rootcling-linkdef.patch @@ -0,0 +1,11 @@ +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -1027,7 +1027,7 @@ + $(CC) $(AM_CFLAGS) -c $< + + @USE_ROOT_TRUE@%Dict.cxx : %.h %.cxx +-@USE_ROOT_TRUE@ $(CINT) -f $@ -c $< -I.. ++@USE_ROOT_TRUE@ $(CINT) -f $@ -c $< -I.. $*LinkDef.h + + #../appl_grid/$*LinkDef.h +