Compare commits
8 Commits
72ecdf8967
...
aa2c911c29
| Author | SHA1 | Date | |
|---|---|---|---|
|
aa2c911c29
|
|||
|
|
4c4853cc47 | ||
|
|
1ac47ab730 | ||
|
|
2935c65628 | ||
|
|
dbc4e4b444 | ||
|
|
f496572845 | ||
|
|
73ebacc1ef | ||
|
|
2d6a109cef |
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
|||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "claude-code";
|
name = "claude-code";
|
||||||
publisher = "anthropic";
|
publisher = "anthropic";
|
||||||
version = "2.0.29";
|
version = "2.0.30";
|
||||||
hash = "sha256-g5k2Lov2BBxDR2TCSiVVU8+6jo4ajp0IIYJnVmg/NMQ=";
|
hash = "sha256-KQ+3yk5WmHIiu6evpPSWfzEbqVKFj2XY8wwGxcqGOJc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
4
pkgs/by-name/cl/claude-code/package-lock.json
generated
4
pkgs/by-name/cl/claude-code/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@anthropic-ai/claude-code",
|
"name": "@anthropic-ai/claude-code",
|
||||||
"version": "2.0.29",
|
"version": "2.0.30",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@anthropic-ai/claude-code",
|
"name": "@anthropic-ai/claude-code",
|
||||||
"version": "2.0.29",
|
"version": "2.0.30",
|
||||||
"license": "SEE LICENSE IN README.md",
|
"license": "SEE LICENSE IN README.md",
|
||||||
"bin": {
|
"bin": {
|
||||||
"claude": "cli.js"
|
"claude": "cli.js"
|
||||||
|
|||||||
@@ -7,14 +7,14 @@
|
|||||||
}:
|
}:
|
||||||
buildNpmPackage (finalAttrs: {
|
buildNpmPackage (finalAttrs: {
|
||||||
pname = "claude-code";
|
pname = "claude-code";
|
||||||
version = "2.0.29";
|
version = "2.0.30";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
|
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
|
||||||
hash = "sha256-6YN0iSX05S+CqZ4NCDM1D+vGlLNV29NpPaVd31JN/u4=";
|
hash = "sha256-8XpxFnS+d8xYvK21bsVyCz879Gl39i/wDWr6RtEGE3Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDepsHash = "sha256-ULesV9VeFhJRBJdTexCp92wuUMj6abNQ2xE+ZtcpzqE=";
|
npmDepsHash = "sha256-ZDRgLH3AhkcLBrzUys/ON2OBvBV7trPmlOJ2l6gQpV4=";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
cp ${./package-lock.json} package-lock.json
|
cp ${./package-lock.json} package-lock.json
|
||||||
|
|||||||
@@ -0,0 +1,108 @@
|
|||||||
|
From febb61a45a40a76bdbcd320f307dcd8f14cc532b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jonas Rembser <jonas.rembser@cern.ch>
|
||||||
|
Date: Thu, 28 Aug 2025 14:07:01 +0200
|
||||||
|
Subject: [PATCH] [CMake] Build `rootcint` and `genreflex` as separate targets
|
||||||
|
|
||||||
|
This makes the CMake code more robust.
|
||||||
|
|
||||||
|
Right now, we use some `install(CODE "execute_process(COMMAND ln -f ...`
|
||||||
|
solution on unix to install `rootcint` and `genreflex`. This does not
|
||||||
|
work in all cases, either because of the usage of `\$ENV{DESTDIR}` when
|
||||||
|
`DESTDIR` is not set, or because hard links are not allowed.
|
||||||
|
|
||||||
|
Always copying `rootcling` - already in the build tree - would avoid
|
||||||
|
that problem, but by copying we risk sidestepping the CMake mechanisms
|
||||||
|
to set the RPath correctly when installing the copies, which are not
|
||||||
|
actual targets.
|
||||||
|
|
||||||
|
To make makes things simpler and more robust, this commit suggests to
|
||||||
|
build the `rootcing` and `genreflex` executables as separate targets
|
||||||
|
from the same source. The cost is very little cost in memory
|
||||||
|
(`rootcling` is only 31K, so copying two times only increases the size
|
||||||
|
of ROOTs `bin` directory by 1.5 %) and little in compile time (the extra
|
||||||
|
compile time is less than a second, not noticable in parallel builds).
|
||||||
|
---
|
||||||
|
main/CMakeLists.txt | 69 +++++++++++++++------------------------------
|
||||||
|
1 file changed, 23 insertions(+), 46 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt
|
||||||
|
index 7dfcd98e345..857f0df48d8 100644
|
||||||
|
--- a/main/CMakeLists.txt
|
||||||
|
+++ b/main/CMakeLists.txt
|
||||||
|
@@ -98,50 +98,27 @@ set_source_files_properties(src/rootcling.cxx PROPERTIES
|
||||||
|
VISIBILITY_INLINES_HIDDEN "ON"
|
||||||
|
)
|
||||||
|
|
||||||
|
-ROOT_EXECUTABLE(rootcling src/rootcling.cxx LIBRARIES RIO Cling Core Rint)
|
||||||
|
-
|
||||||
|
-# rootcling includes the ROOT complex header which would build the complex
|
||||||
|
-# dictionary with modules. To make sure that rootcling_stage1 builds this
|
||||||
|
-# dict before we use it, we add a dependency here.
|
||||||
|
-add_dependencies(rootcling complexDict)
|
||||||
|
-
|
||||||
|
-target_include_directories(rootcling PRIVATE
|
||||||
|
- ${CMAKE_SOURCE_DIR}/core/metacling/res
|
||||||
|
- ${CMAKE_SOURCE_DIR}/core/dictgen/res
|
||||||
|
- ${CMAKE_SOURCE_DIR}/io/rootpcm/res)
|
||||||
|
-set_property(TARGET rootcling PROPERTY ENABLE_EXPORTS 1)
|
||||||
|
-if(WIN32)
|
||||||
|
- set_target_properties(rootcling PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS 1)
|
||||||
|
- set_property(TARGET rootcling APPEND_STRING PROPERTY LINK_FLAGS " -STACK:4000000")
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
-# Create aliases: rootcint, genreflex.
|
||||||
|
-if(WIN32)
|
||||||
|
- add_custom_command(TARGET rootcling POST_BUILD
|
||||||
|
- COMMAND copy /y rootcling.exe rootcint.exe
|
||||||
|
- COMMAND copy /y rootcling.exe genreflex.exe
|
||||||
|
- WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||||
|
-else()
|
||||||
|
- add_custom_command(TARGET rootcling POST_BUILD
|
||||||
|
- COMMAND ln -f rootcling rootcint
|
||||||
|
- COMMAND ln -f rootcling genreflex
|
||||||
|
- WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||||
|
-endif()
|
||||||
|
-set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
|
||||||
|
- "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/rootcint;${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/genreflex")
|
||||||
|
-
|
||||||
|
-if(CMAKE_HOST_UNIX)
|
||||||
|
- install(CODE "execute_process(COMMAND ln -f rootcling rootcint WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})" COMPONENT applications)
|
||||||
|
- install(CODE "execute_process(COMMAND ln -f rootcling genreflex WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})" COMPONENT applications)
|
||||||
|
-else()
|
||||||
|
- if(MSVC)
|
||||||
|
- install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/rootcling.exe DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT applications)
|
||||||
|
- install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/rootcint.exe DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT applications)
|
||||||
|
- install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/genreflex.exe DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT applications)
|
||||||
|
- else()
|
||||||
|
- install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/rootcint
|
||||||
|
- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/genreflex
|
||||||
|
- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/rlibmap
|
||||||
|
- DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT applications)
|
||||||
|
+set(rootcling_exe_names rootcling genreflex rootcint)
|
||||||
|
+
|
||||||
|
+foreach(exe_name IN LISTS rootcling_exe_names)
|
||||||
|
+ ROOT_EXECUTABLE(${exe_name} src/rootcling.cxx LIBRARIES RIO Cling Core Rint)
|
||||||
|
+
|
||||||
|
+ # rootcling includes the ROOT complex header which would build the complex
|
||||||
|
+ # dictionary with modules. To make sure that rootcling_stage1 builds this
|
||||||
|
+ # dict before we use it, we add a dependency here.
|
||||||
|
+ add_dependencies(${exe_name} complexDict)
|
||||||
|
+
|
||||||
|
+ target_include_directories(${exe_name} PRIVATE
|
||||||
|
+ ${CMAKE_SOURCE_DIR}/core/metacling/res
|
||||||
|
+ ${CMAKE_SOURCE_DIR}/core/dictgen/res
|
||||||
|
+ ${CMAKE_SOURCE_DIR}/io/rootpcm/res)
|
||||||
|
+ set_property(TARGET ${exe_name} PROPERTY ENABLE_EXPORTS 1)
|
||||||
|
+ if(WIN32)
|
||||||
|
+ set_target_properties(${exe_name} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS 1)
|
||||||
|
+ set_property(TARGET ${exe_name} APPEND_STRING PROPERTY LINK_FLAGS " -STACK:4000000")
|
||||||
|
endif()
|
||||||
|
-endif()
|
||||||
|
+endforeach()
|
||||||
|
+
|
||||||
|
+# To inherit the dependencies from rootcling
|
||||||
|
+add_dependencies(genreflex rootcling)
|
||||||
|
+add_dependencies(rootcint rootcint)
|
||||||
|
--
|
||||||
|
2.50.1
|
||||||
|
|
||||||
@@ -135,6 +135,8 @@ stdenv.mkDerivation rec {
|
|||||||
hash = "sha256-D7LZWJnGF9DtKcM8EF3KILU81cqTcZolW+HMe3fmXTw=";
|
hash = "sha256-D7LZWJnGF9DtKcM8EF3KILU81cqTcZolW+HMe3fmXTw=";
|
||||||
revert = true;
|
revert = true;
|
||||||
})
|
})
|
||||||
|
# Will also be integrated to ROOT 6.38.00
|
||||||
|
./Build-rootcint-and-genreflex-as-separate-targets.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
|||||||
@@ -60,6 +60,12 @@ stdenv.mkDerivation {
|
|||||||
]
|
]
|
||||||
++ lib.optional (stdenv.hostPlatform.libc == "glibc") libtirpc;
|
++ lib.optional (stdenv.hostPlatform.libc == "glibc") libtirpc;
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
substituteInPlace "CMakeLists.txt" \
|
||||||
|
--replace-fail 'cmake_minimum_required(VERSION 2.8.12.2)' \
|
||||||
|
'cmake_minimum_required(VERSION 3.10)'
|
||||||
|
'';
|
||||||
|
|
||||||
env.NIX_CFLAGS_COMPILE = lib.optionalString (
|
env.NIX_CFLAGS_COMPILE = lib.optionalString (
|
||||||
stdenv.hostPlatform.libc == "glibc"
|
stdenv.hostPlatform.libc == "glibc"
|
||||||
) "-I${libtirpc.dev}/include/tirpc";
|
) "-I${libtirpc.dev}/include/tirpc";
|
||||||
|
|||||||
@@ -40,13 +40,13 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "38.4.0";
|
version = "38.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rucio";
|
owner = "rucio";
|
||||||
repo = "rucio";
|
repo = "rucio";
|
||||||
tag = version;
|
tag = version;
|
||||||
hash = "sha256-PGBVStSLyNHbW8vmx7enxsqaw7KRMzR2HPXun9GMPQY=";
|
hash = "sha256-j+VFPS4obKdbbFPj3HZnpe5bzIMgOGaCeaKAiRuc0Gk=";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
|
|||||||
Reference in New Issue
Block a user