forked from martian56/raven
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
88 lines (80 loc) · 2.83 KB
/
Copy pathCargo.toml
File metadata and controls
88 lines (80 loc) · 2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
[workspace]
members = [".", "raven-runtime"]
[workspace.package]
version = "2.24.1"
edition = "2021"
authors = ["martian56"]
license = "MIT"
repository = "https://github.com/martian56/raven"
[package]
name = "raven"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "A modern compiled programming language (v2 in development)"
homepage = "https://raven.ufazien.com"
keywords = ["programming", "language", "compiler"]
categories = ["development-tools", "command-line-utilities"]
# Packaging metadata for the tagged-release workflow (.github/workflows/release.yml).
# The v2 stdlib is embedded in the binaries via include_str!, so no .rv files ship
# as installed assets. The raven_runtime static library is placed next to the raven
# binary so the compiler locates it without configuration when linking user programs.
[package.metadata.deb]
maintainer = "martian56"
copyright = "2026 martian56"
license-file = ["LICENSE"]
depends = "gcc"
section = "devel"
priority = "optional"
extended-description = """\
Raven is a statically typed compiled programming language.
Ships the raven compiler and the rvpm package manager. The compiler links
programs at build time, so a C toolchain (gcc) is required at runtime.
"""
assets = [
["target/release/raven", "usr/bin/", "755"],
["target/release/rvpm", "usr/bin/", "755"],
["target/release/libraven_runtime.a", "usr/bin/", "644"],
["README.md", "usr/share/doc/raven/", "644"],
]
[package.metadata.generate-rpm]
license = "MIT"
summary = "Statically typed compiled programming language"
requires = { gcc = "*" }
assets = [
{ source = "target/release/raven", dest = "/usr/bin/raven", mode = "755" },
{ source = "target/release/rvpm", dest = "/usr/bin/rvpm", mode = "755" },
{ source = "target/release/libraven_runtime.a", dest = "/usr/bin/libraven_runtime.a", mode = "644" },
{ source = "README.md", dest = "/usr/share/doc/raven/README.md", mode = "644", doc = true },
]
[[bin]]
name = "raven"
path = "src/main.rs"
[[bin]]
name = "rvpm"
path = "src/bin/rvpm.rs"
[dependencies]
# Cranelift is the codegen backend (issue #63).
cranelift-codegen = "0.108"
cranelift-frontend = "0.108"
cranelift-module = "0.108"
cranelift-native = "0.108"
cranelift-object = "0.108"
# Locates the MSVC `link.exe` toolchain via the Windows registry so the
# driver can link Cranelift's MSVC-flavor objects on windows-msvc hosts.
cc = "1.2"
# Supplies the host target triple to key linker selection.
target-lexicon = "0.12"
# rv.toml manifest parsing for the rvpm package manager.
serde = { version = "1", features = ["derive"] }
toml = "0.8"
# Format-preserving rv.toml edits for `rvpm add`.
toml_edit = "0.22"
# Content (tree) hashing for the rvpm lock file (rv.lock).
sha2 = "0.10"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1