pw_env_setup: Add "system_packages" option to the config file

Add a new optional boolean value virtualenv.system_packages
to the environment configuration file, giving the Python
virtualenv access to the system packages. It's achieved by
passing --system-site-packages flag when the virtualenv is
created.

The option is useful when Pigweed is used in the context
of existing Python-based infrastructure such as a test
framework.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Change-Id: I137148afcffc0a3ec30426df6dc725fd3eea156e
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/49040
Reviewed-by: Rob Mohr <mohrr@google.com>
Reviewed-by: Michael Spang <spang@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
3 files changed
tree: 6d336d4686e9aec07b42eeb6437c38ab775fbcbf
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_arduino_build/
  7. pw_assert/
  8. pw_assert_basic/
  9. pw_assert_log/
  10. pw_base64/
  11. pw_bloat/
  12. pw_blob_store/
  13. pw_boot_armv7m/
  14. pw_build/
  15. pw_bytes/
  16. pw_checksum/
  17. pw_chrono/
  18. pw_chrono_embos/
  19. pw_chrono_freertos/
  20. pw_chrono_stl/
  21. pw_chrono_threadx/
  22. pw_cli/
  23. pw_console/
  24. pw_containers/
  25. pw_cpu_exception/
  26. pw_cpu_exception_cortex_m/
  27. pw_docgen/
  28. pw_doctor/
  29. pw_env_setup/
  30. pw_function/
  31. pw_fuzzer/
  32. pw_hdlc/
  33. pw_hex_dump/
  34. pw_i2c/
  35. pw_interrupt/
  36. pw_interrupt_cortex_m/
  37. pw_kvs/
  38. pw_libc/
  39. pw_log/
  40. pw_log_basic/
  41. pw_log_multisink/
  42. pw_log_null/
  43. pw_log_rpc/
  44. pw_log_sink/
  45. pw_log_tokenized/
  46. pw_malloc/
  47. pw_malloc_freelist/
  48. pw_metric/
  49. pw_minimal_cpp_stdlib/
  50. pw_module/
  51. pw_multisink/
  52. pw_package/
  53. pw_persistent_ram/
  54. pw_polyfill/
  55. pw_preprocessor/
  56. pw_presubmit/
  57. pw_protobuf/
  58. pw_protobuf_compiler/
  59. pw_random/
  60. pw_result/
  61. pw_ring_buffer/
  62. pw_router/
  63. pw_rpc/
  64. pw_snapshot/
  65. pw_span/
  66. pw_status/
  67. pw_stm32cube_build/
  68. pw_stream/
  69. pw_string/
  70. pw_sync/
  71. pw_sync_baremetal/
  72. pw_sync_embos/
  73. pw_sync_freertos/
  74. pw_sync_stl/
  75. pw_sync_threadx/
  76. pw_sys_io/
  77. pw_sys_io_arduino/
  78. pw_sys_io_baremetal_lm3s6965evb/
  79. pw_sys_io_baremetal_stm32f429/
  80. pw_sys_io_stdio/
  81. pw_target_runner/
  82. pw_thread/
  83. pw_thread_embos/
  84. pw_thread_freertos/
  85. pw_thread_stl/
  86. pw_thread_threadx/
  87. pw_tls_client/
  88. pw_tls_client_mbedtls/
  89. pw_tokenizer/
  90. pw_tool/
  91. pw_toolchain/
  92. pw_trace/
  93. pw_trace_tokenized/
  94. pw_transfer/
  95. pw_unit_test/
  96. pw_varint/
  97. pw_watch/
  98. pw_web_ui/
  99. targets/
  100. third_party/
  101. .bazelignore
  102. .bazelrc
  103. .clang-format
  104. .eslintrc.json
  105. .gitattributes
  106. .gitignore
  107. .gn
  108. .prettierrc.js
  109. .pylintrc
  110. activate.bat
  111. AUTHORS
  112. bootstrap.bat
  113. bootstrap.sh
  114. BUILD
  115. BUILD.gn
  116. BUILDCONFIG.gn
  117. CMakeLists.txt
  118. LICENSE
  119. modules.gni
  120. OWNERS
  121. package.json
  122. PW_PLUGINS
  123. README.md
  124. tsconfig.json
  125. WORKSPACE
  126. yarn.lock
README.md

See our website: http://pigweed.dev