forked from NixOS/nixpkgs
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
- Loading branch information
Showing
3 changed files
with
158 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
93 changes: 93 additions & 0 deletions
93
pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
--- a/lib/CMakeLists.txt 2020-09-27 02:39:12.862940179 +0000 | ||
+++ b/lib/CMakeLists.txt 2020-09-27 02:39:16.451957865 +0000 | ||
@@ -10,12 +10,12 @@ | ||
endif() | ||
|
||
ExternalProject_Add(gbenchmark | ||
- URL https://github.com/google/benchmark/archive/v1.5.0.tar.gz | ||
+ SOURCE_DIR gbenchmark-prefix/src/benchmark | ||
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DCMAKE_CXX_FLAGS=-fpic --no-warn-unused-cli | ||
) | ||
|
||
ExternalProject_Add(googletest | ||
- URL https://github.com/google/googletest/archive/release-1.8.1.tar.gz | ||
+ URL @googletest@ | ||
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_FLAGS=-fpic -Dgtest_force_shared_crt=ON --no-warn-unused-cli | ||
) | ||
|
||
@@ -28,75 +28,6 @@ | ||
COMPONENT library | ||
) | ||
|
||
-find_package(Git) | ||
- | ||
-set(LLVM_DESIRED_HASH "c1a0a213378a458fbea1a5c77b315c7dce08fd05") | ||
-set(PATCHES_DESIRED_HASH "9063f83d727bf042a1232420e168c1ea192bf6a2960d35e57123245b630eb923") | ||
- | ||
-if(GIT_FOUND) | ||
- if(EXISTS "${PROJECT_SOURCE_DIR}/../.git") | ||
- # Update submodules as needed | ||
- option(GIT_SUBMODULE "Check submodules during build" ON) | ||
- if(GIT_SUBMODULE) | ||
- message(STATUS "Updating submodules...") | ||
- execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive | ||
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | ||
- RESULT_VARIABLE git_submod_result) | ||
- #message("git_submod_result ${git_submod_result}") | ||
- if(NOT git_submod_result EQUAL "0") | ||
- message(FATAL_ERROR "git submodule update --init --recursive failed with ${git_submod_result}, please checkout submodules") | ||
- endif() | ||
- | ||
- # we check to make sure the submodule hash matches | ||
- # the reason the submodule hash is in this file is to be able to use this file as a key for caching the libs in CI | ||
- execute_process(COMMAND ${GIT_EXECUTABLE} submodule status | ||
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | ||
- OUTPUT_VARIABLE git_submod_output) | ||
- #message("git_submod_output ${git_submod_output}") | ||
- string(FIND "${git_submod_output}" "${LLVM_DESIRED_HASH}" LLVM_SUBMOD_POS) | ||
- if(LLVM_SUBMOD_POS EQUAL "-1") | ||
- message(FATAL_ERROR "Expecting the lib/llvm/src submodule to be at hash '${LLVM_DESIRED_HASH}'; found '${git_submod_output}'; update the LLVM_DESIRED_HASH variable in lib/CMakeLists.txt if you've updated the submodule.") | ||
- endif() | ||
- endif() | ||
- endif() | ||
- | ||
- # Apply patches | ||
- message("Applying patches...") | ||
- file(GLOB PONY_LLVM_PATCHES "${PROJECT_SOURCE_DIR}/llvm/patches/*.diff") | ||
- | ||
- # check to see if the patch hashes match | ||
- set(PATCHES_ACTUAL_HASH "") | ||
- foreach (PATCH ${PONY_LLVM_PATCHES}) | ||
- file(SHA256 ${PATCH} patch_file_hash) | ||
- string(CONCAT PATCHES_ACTUAL_HASH patch_file_hash) | ||
- endforeach() | ||
- string(SHA256 PATCHES_ACTUAL_HASH ${PATCHES_ACTUAL_HASH}) | ||
- if(NOT PATCHES_ACTUAL_HASH EQUAL "${PATCHES_DESIRED_HASH}") | ||
- message(FATAL_ERROR "Patch hash actual ${PATCHES_ACTUAL_HASH} does not match desired ${PATCHES_DESIRED_HASH}") | ||
- endif() | ||
- | ||
- foreach (PATCH ${PONY_LLVM_PATCHES}) | ||
- message(" Checking ${PATCH}") | ||
- execute_process(COMMAND ${GIT_EXECUTABLE} apply --check -p 1 --ignore-whitespace --whitespace=nowarn ${PATCH} | ||
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/llvm/src" | ||
- ERROR_VARIABLE _err_out | ||
- RESULT_VARIABLE git_apply_check_result) | ||
- if(git_apply_check_result EQUAL "0") | ||
- message(" Applying ${PATCH}") | ||
- execute_process(COMMAND ${GIT_EXECUTABLE} apply -p 1 --ignore-whitespace --whitespace=nowarn ${PATCH} | ||
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/llvm/src" | ||
- RESULT_VARIABLE git_apply_result) | ||
- if(NOT git_apply_result EQUAL "0") | ||
- message(FATAL_ERROR "Unable to apply ${PATCH}") | ||
- endif() | ||
- else() | ||
- message(" Already applied ${PATCH}") | ||
- endif() | ||
- endforeach() | ||
-else() | ||
- message(FATAL_ERROR "Git not found!") | ||
-endif() | ||
- | ||
if (NOT DEFINED LLVM_TARGETS_TO_BUILD) | ||
set(LLVM_TARGETS_TO_BUILD X86) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters