diff --git a/flake.lock b/flake.lock index ff97b49..7985e5b 100644 --- a/flake.lock +++ b/flake.lock @@ -152,16 +152,16 @@ "podio-src": { "flake": false, "locked": { - "lastModified": 1693417048, - "narHash": "sha256-ydrzgMyKq+TPEgzPek44NHLwTweQM02ijYo9Gp7zqlQ=", + "lastModified": 1695623732, + "narHash": "sha256-vownh0TrIMfUpcaDraIs3Ys/pz/hbKF5KMwJZBOVW24=", "owner": "AIDASoft", "repo": "podio", - "rev": "b870add0f37c5169fecc18be565644b15375a26d", + "rev": "babec745c12727cd5da590abbe1e3cf1ab8743ad", "type": "github" }, "original": { "owner": "AIDASoft", - "ref": "v00-16-07", + "ref": "v00-17", "repo": "podio", "type": "github" } diff --git a/flake.nix b/flake.nix index b5a2c0c..85419a5 100644 --- a/flake.nix +++ b/flake.nix @@ -38,7 +38,7 @@ flake = false; }; inputs.podio-src = { - url = "github:AIDASoft/podio/v00-16-07"; + url = "github:AIDASoft/podio/v00-17"; flake = false; }; diff --git a/pkgs/juggler/default.nix b/pkgs/juggler/default.nix index 0dd147f..398fe59 100644 --- a/pkgs/juggler/default.nix +++ b/pkgs/juggler/default.nix @@ -25,6 +25,10 @@ stdenv.mkDerivation rec { hash = "sha256-q0lIOqPIgF6+UWYRz9J0cfcG6//9vmt3nGZzo2+S9zU="; }; + patches = [ + ./podio_00_17.patch + ]; + nativeBuildInputs = [ cmake ]; diff --git a/pkgs/juggler/podio_00_17.patch b/pkgs/juggler/podio_00_17.patch new file mode 100644 index 0000000..0b63232 --- /dev/null +++ b/pkgs/juggler/podio_00_17.patch @@ -0,0 +1,48 @@ +diff --git a/JugBase/src/components/PodioLegacyInput.cpp b/JugBase/src/components/PodioLegacyInput.cpp +index fa3f39b..89bf9ff 100644 +--- a/JugBase/src/components/PodioLegacyInput.cpp ++++ b/JugBase/src/components/PodioLegacyInput.cpp +@@ -5,6 +5,7 @@ + + #include "TFile.h" + #include "TROOT.h" ++#include "podio/podioVersion.h" + + #include "JugBase/DataWrapper.h" + #include "JugBase/PodioLegacyDataSvc.h" +@@ -29,7 +30,11 @@ StatusCode PodioLegacyInput::initialize() { + error() << "Requested product " << name << " not found." << endmsg; + return StatusCode::FAILURE; + } ++#if podio_VERSION >= PODIO_VERSION(0, 17, 0) ++ m_collectionIDs.push_back(idTable->collectionID(name).value()); ++#else + m_collectionIDs.push_back(idTable->collectionID(name)); ++#endif + } + return StatusCode::SUCCESS; + } +diff --git a/JugBase/src/components/PodioLegacyOutput.cpp b/JugBase/src/components/PodioLegacyOutput.cpp +index c9f6ec3..13e5d53 100644 +--- a/JugBase/src/components/PodioLegacyOutput.cpp ++++ b/JugBase/src/components/PodioLegacyOutput.cpp +@@ -7,6 +7,7 @@ + #include "TFile.h" + #include "JugBase/PodioLegacyDataSvc.h" + #include "rootUtils.h" ++#include "podio/podioVersion.h" + + DECLARE_COMPONENT(PodioLegacyOutput) + +@@ -104,7 +105,11 @@ void PodioLegacyOutput::createBranches(const std::vector= PODIO_VERSION(0, 17, 0) ++ const auto collID = m_podioLegacyDataSvc->getCollectionIDs()->collectionID(collName).value(); ++#else + const auto collID = m_podioLegacyDataSvc->getCollectionIDs()->collectionID(collName); ++#endif + // No check necessary, only registered collections possible + auto coll = collNamePair.second; + const auto collType = std::string(coll->getValueTypeName()) + "Collection"; diff --git a/pkgs/podio/default.nix b/pkgs/podio/default.nix index 7bb3c53..b65459e 100644 --- a/pkgs/podio/default.nix +++ b/pkgs/podio/default.nix @@ -11,13 +11,13 @@ let # instead of adding python3 and packages to propagatedNativeBuildInputs, # let's hardcode a wrapped python into the specific scripts - python = python3.withPackages (pkgs: with pkgs; [ jinja2 pyyaml ]); + python = python3.withPackages (pkgs: with pkgs; [ jinja2 pyyaml tabulate ]); in stdenv.mkDerivation rec { pname = "podio"; - version = "00-16-07.${podio-src.shortRev or "dirty"}"; + version = "00-17.${podio-src.shortRev or "dirty"}"; src = podio-src;