Skip to content

Commit d285c3a

Browse files
authored
Merge branch 'main' into 2025-06-11-meeting-notes
2 parents a35a7bd + 36c27b7 commit d285c3a

File tree

4 files changed

+98
-0
lines changed

4 files changed

+98
-0
lines changed

docs/_sidebar.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,15 @@
4646
"maintainer/understanding_conda_forge/staged_recipes",
4747
"maintainer/understanding_conda_forge/feedstocks"
4848
]
49+
},
50+
{
51+
"type": "category",
52+
"label": "Example recipes",
53+
"link": {
54+
"type": "doc",
55+
"id": "maintainer/example_recipes/index"
56+
},
57+
"items": ["maintainer/example_recipes/rust"]
4958
}
5059
]
5160
},
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: 'Example recipes'
3+
---
4+
5+
# Example recipes
6+
7+
import DocCardList from '@theme/DocCardList';
8+
9+
<DocCardList />
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: 'Rust packages'
3+
---
4+
5+
If you want to package a Rust package to conda-forge, you can use this recipe template:
6+
7+
```yaml
8+
context:
9+
name: example-package
10+
version: "0.1.0"
11+
12+
package:
13+
name: ${{ name|lower }}
14+
version: ${{ version }}
15+
16+
source:
17+
url: https://github.com/example-package/${{ name }}/archive/refs/tags/v${{ version }}.tar.gz
18+
sha256: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
19+
20+
build:
21+
number: 0
22+
script:
23+
env:
24+
CARGO_PROFILE_RELEASE_STRIP: symbols
25+
CARGO_PROFILE_RELEASE_LTO: fat
26+
content:
27+
- cargo auditable install --locked --no-track --bins --root ${{ PREFIX }} --path .
28+
- cargo-bundle-licenses --format yaml --output ./THIRDPARTY.yml
29+
30+
requirements:
31+
build:
32+
- ${{ stdlib('c') }}
33+
- ${{ compiler('c') }}
34+
- ${{ compiler('rust') }}
35+
- cargo-bundle-licenses
36+
- cargo-auditable
37+
38+
tests:
39+
- script: example-package --help
40+
41+
about:
42+
homepage: https://github.com/example-package/example-package
43+
summary: Summary of the package.
44+
description: |
45+
Description of the package
46+
license: MIT OR Apache-2.0
47+
license_file:
48+
- LICENSE-APACHE
49+
- LICENSE-MIT
50+
- THIRDPARTY.yml
51+
documentation: https://docs.rs/example-package
52+
repository: https://github.com/example-package/example-package
53+
54+
extra:
55+
recipe-maintainers:
56+
- LandoCalrissian
57+
```
58+
59+
This recipe template supports different features:
60+
61+
- `CARGO_PROFILE_RELEASE_STRIP=symbols` in order to reduce the size of the package by removing unnecessary symbols.
62+
- `CARGO_PROFILE_RELEASE_LTO=fat` in order to optimize the binary for better performance.
63+
- `cargo auditable install` in order to ensure the package is auditable.
64+
- Bundle licenses of statically linked libraries.
65+
- Use `--no-track` to not create `$PREFIX/.crates.toml` and `$PREFIX/.crates2.json`.

news/2025-06-11-moving-to-vs2022.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Moving to Visual Studio 2022 as default windows compiler
2+
3+
Microsoft's Visual Studio (VS) 2019 compiler has reached its
4+
[end of life](https://learn.microsoft.com/en-us/lifecycle/products/visual-studio-2019)
5+
over a year ago. In the meantime, several projects have moved on and
6+
fail to compile with VS2019.
7+
8+
We are planning to update our default compilers on windows to the (fully compatible)
9+
successor VS2022 in one week from now.
10+
11+
This will not affect you as a general user of conda-forge packages on windows;
12+
the only potential impact is that if you are compiling locally with VS2019 against
13+
artefacts produced by conda-forge, you might be required to upgrade.
14+
15+
For more details see https://github.com/conda-forge/conda-forge.github.io/issues/2138.

0 commit comments

Comments
 (0)