sccache-0.8.2.ebuild 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479
  1. # Copyright 2024 Gentoo Authors
  2. # Distributed under the terms of the GNU General Public License v2
  3. EAPI=8
  4. CRATES="
  5. addr2line@0.21.0
  6. adler@1.0.2
  7. aes@0.8.4
  8. aho-corasick@1.1.2
  9. android-tzdata@0.1.1
  10. android_system_properties@0.1.5
  11. anstream@0.6.11
  12. anstyle@1.0.2
  13. anstyle-parse@0.2.1
  14. anstyle-query@1.0.0
  15. anstyle-wincon@3.0.2
  16. anyhow@1.0.86
  17. ar@0.9.0
  18. arc-swap@1.6.0
  19. arrayref@0.3.7
  20. arrayvec@0.7.4
  21. ascii@1.1.0
  22. assert_cmd@2.0.13
  23. async-trait@0.1.80
  24. atomic-waker@1.1.2
  25. autocfg@1.1.0
  26. backon@0.4.4
  27. backtrace@0.3.69
  28. base64@0.13.1
  29. base64@0.21.7
  30. base64@0.22.1
  31. base64ct@1.6.0
  32. bb8@0.8.1
  33. bincode@1.3.3
  34. bitflags@1.3.2
  35. bitflags@2.4.1
  36. blake3@1.5.0
  37. block-buffer@0.10.4
  38. block-padding@0.3.3
  39. bstr@1.9.0
  40. buf_redux@0.8.4
  41. bumpalo@3.14.0
  42. byteorder@1.5.0
  43. bytes@1.6.0
  44. cbc@0.1.2
  45. cc@1.0.83
  46. cfg-if@0.1.10
  47. cfg-if@1.0.0
  48. cfg_aliases@0.1.1
  49. chrono@0.4.38
  50. chunked_transfer@1.5.0
  51. cipher@0.4.4
  52. clap@4.4.18
  53. clap_builder@4.4.18
  54. clap_derive@4.4.7
  55. clap_lex@0.6.0
  56. colorchoice@1.0.0
  57. combine@4.6.6
  58. const-oid@0.9.6
  59. const-random@0.1.17
  60. const-random-macro@0.1.16
  61. constant_time_eq@0.3.0
  62. core-foundation@0.9.4
  63. core-foundation-sys@0.8.6
  64. core_affinity@0.8.1
  65. cpufeatures@0.2.12
  66. crc16@0.4.0
  67. crc32c@0.6.8
  68. crc32fast@1.3.2
  69. crossbeam-utils@0.8.18
  70. crunchy@0.2.2
  71. crypto-common@0.1.6
  72. daemonize@0.5.0
  73. der@0.7.8
  74. deranged@0.3.11
  75. derive_more@0.99.17
  76. difflib@0.4.0
  77. digest@0.10.7
  78. directories@5.0.1
  79. dirs-sys@0.4.1
  80. displaydoc@0.1.7
  81. dlv-list@0.5.2
  82. doc-comment@0.3.3
  83. either@1.9.0
  84. encoding_rs@0.8.34
  85. env_logger@0.10.2
  86. equivalent@1.0.1
  87. errno@0.3.8
  88. error-chain@0.12.4
  89. fastrand@2.0.1
  90. filetime@0.2.23
  91. flagset@0.4.4
  92. flate2@1.0.28
  93. float-cmp@0.9.0
  94. flume@0.10.14
  95. fnv@1.0.7
  96. foreign-types@0.3.2
  97. foreign-types-shared@0.1.1
  98. form_urlencoded@1.2.1
  99. fs-err@2.11.0
  100. futures@0.3.30
  101. futures-channel@0.3.30
  102. futures-core@0.3.30
  103. futures-executor@0.3.30
  104. futures-io@0.3.30
  105. futures-macro@0.3.30
  106. futures-sink@0.3.30
  107. futures-task@0.3.30
  108. futures-util@0.3.30
  109. generic-array@0.14.7
  110. getrandom@0.2.11
  111. gimli@0.28.1
  112. gzp@0.11.3
  113. h2@0.3.26
  114. h2@0.4.5
  115. hashbrown@0.14.3
  116. heck@0.4.1
  117. hermit-abi@0.3.3
  118. hex@0.4.3
  119. hmac@0.12.1
  120. home@0.5.9
  121. hostname@0.3.1
  122. http@0.2.11
  123. http@1.1.0
  124. http-body@0.4.6
  125. http-body@1.0.0
  126. http-body-util@0.1.1
  127. httparse@1.8.0
  128. httpdate@1.0.3
  129. humantime@2.1.0
  130. hyper@0.14.28
  131. hyper@1.1.0
  132. hyper-rustls@0.27.2
  133. hyper-tls@0.5.0
  134. hyper-tls@0.6.0
  135. hyper-util@0.1.3
  136. iana-time-zone@0.1.59
  137. iana-time-zone-haiku@0.1.2
  138. idna@0.5.0
  139. indexmap@2.2.5
  140. inout@0.1.3
  141. ipnet@2.9.0
  142. is-terminal@0.4.12
  143. itertools@0.12.0
  144. itoa@1.0.10
  145. jobserver@0.1.32
  146. js-sys@0.3.66
  147. jsonwebtoken@9.2.0
  148. lazy_static@1.4.0
  149. libc@0.2.155
  150. libm@0.2.8
  151. libmount@0.1.15
  152. libredox@0.0.1
  153. linked-hash-map@0.5.6
  154. linux-raw-sys@0.4.12
  155. lock_api@0.4.11
  156. log@0.4.22
  157. match_cfg@0.1.0
  158. md-5@0.10.6
  159. memchr@2.7.1
  160. memmap2@0.9.4
  161. mime@0.3.17
  162. mime_guess@2.0.4
  163. miniz_oxide@0.7.1
  164. mio@0.8.11
  165. multipart@0.18.0
  166. nanorand@0.7.0
  167. native-tls@0.2.11
  168. nix@0.14.1
  169. nix@0.28.0
  170. normalize-line-endings@0.3.0
  171. num-bigint@0.4.4
  172. num-bigint-dig@0.8.4
  173. num-conv@0.1.0
  174. num-integer@0.1.45
  175. num-iter@0.1.43
  176. num-traits@0.2.17
  177. num_cpus@1.16.0
  178. num_threads@0.1.6
  179. number_prefix@0.4.0
  180. object@0.32.2
  181. once_cell@1.19.0
  182. opendal@0.48.0
  183. openssl@0.10.64
  184. openssl-macros@0.1.1
  185. openssl-probe@0.1.5
  186. openssl-src@300.2.1+3.2.0
  187. openssl-sys@0.9.101
  188. option-ext@0.2.0
  189. ordered-multimap@0.7.0
  190. parking_lot@0.12.1
  191. parking_lot_core@0.9.9
  192. pbkdf2@0.12.2
  193. pem@3.0.3
  194. pem-rfc7468@0.7.0
  195. percent-encoding@2.3.1
  196. pin-project@1.1.3
  197. pin-project-internal@1.1.3
  198. pin-project-lite@0.2.13
  199. pin-utils@0.1.0
  200. pkcs1@0.7.5
  201. pkcs5@0.7.1
  202. pkcs8@0.10.2
  203. pkg-config@0.3.28
  204. powerfmt@0.2.0
  205. ppv-lite86@0.2.17
  206. predicates@3.1.0
  207. predicates-core@1.0.6
  208. predicates-tree@1.0.9
  209. proc-macro2@1.0.75
  210. quick-error@1.2.3
  211. quick-xml@0.35.0
  212. quick-xml@0.36.1
  213. quinn@0.11.2
  214. quinn-proto@0.11.8
  215. quinn-udp@0.5.2
  216. quote@1.0.35
  217. rand@0.8.5
  218. rand_chacha@0.3.1
  219. rand_core@0.6.4
  220. redis@0.25.4
  221. redox_syscall@0.4.1
  222. redox_users@0.4.4
  223. regex@1.10.3
  224. regex-automata@0.4.5
  225. regex-syntax@0.8.2
  226. reqsign@0.16.0
  227. reqwest@0.11.23
  228. reqwest@0.12.5
  229. retry@2.0.0
  230. ring@0.17.7
  231. rouille@3.6.2
  232. rsa@0.9.6
  233. rust-ini@0.21.0
  234. rustc-demangle@0.1.23
  235. rustc-hash@1.1.0
  236. rustc-hash@2.0.0
  237. rustc_version@0.4.0
  238. rustix@0.38.34
  239. rustls@0.22.4
  240. rustls@0.23.10
  241. rustls-native-certs@0.7.0
  242. rustls-pemfile@2.1.2
  243. rustls-pki-types@1.7.0
  244. rustls-webpki@0.102.4
  245. ruzstd@0.5.0
  246. ryu@1.0.16
  247. safemem@0.3.3
  248. salsa20@0.10.2
  249. same-file@1.0.6
  250. scc@2.1.0
  251. schannel@0.1.23
  252. scopeguard@1.2.0
  253. scrypt@0.11.0
  254. sdd@0.2.0
  255. security-framework@2.9.2
  256. security-framework-sys@2.9.1
  257. semver@1.0.23
  258. serde@1.0.201
  259. serde_derive@1.0.201
  260. serde_json@1.0.114
  261. serde_repr@0.1.18
  262. serde_spanned@0.6.5
  263. serde_urlencoded@0.7.1
  264. serial_test@3.1.0
  265. serial_test_derive@3.1.0
  266. sha1@0.10.6
  267. sha1_smol@1.0.0
  268. sha2@0.10.8
  269. signal-hook-registry@1.4.1
  270. signature@2.2.0
  271. simple_asn1@0.6.2
  272. slab@0.4.9
  273. smallvec@1.11.2
  274. socket2@0.5.5
  275. spin@0.5.2
  276. spin@0.9.8
  277. spki@0.7.3
  278. static_assertions@1.1.0
  279. stringmatch@0.3.3
  280. strip-ansi-escapes@0.2.0
  281. strsim@0.10.0
  282. subtle@2.5.0
  283. syn@1.0.109
  284. syn@2.0.48
  285. sync_wrapper@1.0.1
  286. syslog@6.1.0
  287. system-configuration@0.5.1
  288. system-configuration-sys@0.5.0
  289. tar@0.4.40
  290. temp-env@0.3.6
  291. tempfile@3.10.1
  292. termcolor@1.4.0
  293. terminal_size@0.3.0
  294. termtree@0.4.1
  295. test-case@3.3.1
  296. test-case-core@3.3.1
  297. test-case-macros@3.3.1
  298. thirtyfour@0.27.3
  299. thirtyfour_sync@0.27.1
  300. thiserror@1.0.56
  301. thiserror-impl@1.0.56
  302. threadpool@1.8.1
  303. time@0.3.36
  304. time-core@0.1.2
  305. time-macros@0.2.18
  306. tiny-keccak@2.0.2
  307. tiny_http@0.12.0
  308. tinyvec@1.6.0
  309. tinyvec_macros@0.1.1
  310. tokio@1.37.0
  311. tokio-macros@2.2.0
  312. tokio-native-tls@0.3.1
  313. tokio-retry@0.3.0
  314. tokio-rustls@0.25.0
  315. tokio-rustls@0.26.0
  316. tokio-serde@0.8.0
  317. tokio-util@0.7.10
  318. toml@0.8.10
  319. toml_datetime@0.6.5
  320. toml_edit@0.22.6
  321. tower@0.4.13
  322. tower-layer@0.3.2
  323. tower-service@0.3.2
  324. tracing@0.1.40
  325. tracing-attributes@0.1.27
  326. tracing-core@0.1.32
  327. trim-in-place@0.1.7
  328. try-lock@0.2.5
  329. twoway@0.1.8
  330. twox-hash@1.6.3
  331. typenum@1.17.0
  332. unicase@2.7.0
  333. unicode-bidi@0.3.14
  334. unicode-ident@1.0.12
  335. unicode-normalization@0.1.22
  336. untrusted@0.9.0
  337. url@2.5.0
  338. urlparse@0.7.3
  339. utf8parse@0.2.1
  340. uuid@1.9.0
  341. vcpkg@0.2.15
  342. version-compare@0.1.1
  343. version_check@0.9.4
  344. void@1.0.2
  345. vte@0.11.1
  346. vte_generate_state_changes@0.1.1
  347. wait-timeout@0.2.0
  348. walkdir@2.5.0
  349. want@0.3.1
  350. wasi@0.11.0+wasi-snapshot-preview1
  351. wasm-bindgen@0.2.89
  352. wasm-bindgen-backend@0.2.89
  353. wasm-bindgen-futures@0.4.39
  354. wasm-bindgen-macro@0.2.89
  355. wasm-bindgen-macro-support@0.2.89
  356. wasm-bindgen-shared@0.2.89
  357. wasm-streams@0.4.0
  358. web-sys@0.3.66
  359. webpki-roots@0.26.2
  360. which@6.0.3
  361. winapi@0.3.9
  362. winapi-i686-pc-windows-gnu@0.4.0
  363. winapi-util@0.1.8
  364. winapi-x86_64-pc-windows-gnu@0.4.0
  365. windows-core@0.52.0
  366. windows-sys@0.48.0
  367. windows-sys@0.52.0
  368. windows-targets@0.48.5
  369. windows-targets@0.52.0
  370. windows_aarch64_gnullvm@0.48.5
  371. windows_aarch64_gnullvm@0.52.0
  372. windows_aarch64_msvc@0.48.5
  373. windows_aarch64_msvc@0.52.0
  374. windows_i686_gnu@0.48.5
  375. windows_i686_gnu@0.52.0
  376. windows_i686_msvc@0.48.5
  377. windows_i686_msvc@0.52.0
  378. windows_x86_64_gnu@0.48.5
  379. windows_x86_64_gnu@0.52.0
  380. windows_x86_64_gnullvm@0.48.5
  381. windows_x86_64_gnullvm@0.52.0
  382. windows_x86_64_msvc@0.48.5
  383. windows_x86_64_msvc@0.52.0
  384. winnow@0.6.1
  385. winreg@0.50.0
  386. winreg@0.52.0
  387. winsafe@0.0.19
  388. xattr@1.2.0
  389. zeroize@1.7.0
  390. zip@0.6.6
  391. zstd@0.13.1
  392. zstd-safe@7.1.0
  393. zstd-sys@2.0.10+zstd.1.5.6
  394. ${PN}@${PV}
  395. "
  396. inherit cargo optfeature systemd
  397. DESCRIPTION="ccache/distcc like tool with support for rust and cloud storage"
  398. HOMEPAGE="
  399. https://crates.io/crates/sccache
  400. https://github.com/mozilla/sccache
  401. "
  402. SRC_URI="${CARGO_CRATE_URIS}"
  403. LICENSE="Apache-2.0"
  404. # Dependent crate licenses
  405. LICENSE+="
  406. Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB
  407. "
  408. SLOT="0"
  409. KEYWORDS="~amd64 ~arm64 ~ppc64"
  410. IUSE="azure dist-client dist-server gcs gha memcached oss redis s3 webdav"
  411. BDEPEND="
  412. virtual/pkgconfig
  413. "
  414. DEPEND="
  415. app-arch/zstd
  416. sys-libs/zlib:=
  417. dist-server? ( dev-libs/openssl:= )
  418. gcs? ( dev-libs/openssl:= )
  419. "
  420. RDEPEND="
  421. ${DEPEND}
  422. dist-server? ( sys-apps/bubblewrap )
  423. "
  424. QA_FLAGS_IGNORED="usr/bin/sccache*"
  425. src_configure() {
  426. export ZSTD_SYS_USE_PKG_CONFIG=1
  427. myfeatures=(
  428. native-zlib
  429. $(usev azure)
  430. $(usev dist-client)
  431. $(usev dist-server)
  432. $(usev gcs)
  433. $(usev gha)
  434. $(usev memcached)
  435. $(usev oss)
  436. $(usev redis)
  437. $(usev s3)
  438. $(usev webdav)
  439. )
  440. cargo_src_configure --no-default-features
  441. }
  442. src_install() {
  443. cargo_src_install
  444. keepdir /etc/sccache
  445. einstalldocs
  446. dodoc -r docs/.
  447. if use dist-server; then
  448. newinitd "${FILESDIR}"/server.initd sccache-server
  449. newconfd "${FILESDIR}"/server.confd sccache-server
  450. newinitd "${FILESDIR}"/scheduler.initd sccache-scheduler
  451. newconfd "${FILESDIR}"/scheduler.confd sccache-scheduler
  452. systemd_dounit "${FILESDIR}"/sccache-server.service
  453. systemd_dounit "${FILESDIR}"/sccache-scheduler.service
  454. fi
  455. }
  456. pkg_postinst() {
  457. use memcached && optfeature "memcached backend support" net-misc/memcached
  458. use redis && optfeature "redis backend support" dev-db/redis
  459. }