Skip to content

Commit 81bc141

Browse files
authored
Vendor libprojectM in projectm-sys crate (#13)
* Use git submodule reference to libprojectM * v4.1.0 * bump * bump * oops * oops * projectm-4.1.2 * projectm-4.1.2 * projectm-4.1.2 * projectm-4.1.2 * ignore * exclude * make package smaller * version updates * improve packaging of libprojectM source * improve packaging of libprojectM source * fix package include files list * bump versions * update bindgen * bump versions * build paths * rc * bump versions * fmt * update submodules when cloning * versions * add vcpkg stuff back * restore platform-specific build steps * use static linking on windows/emscripten * vcpkg root * bump versions * bump versions * rustfmt * bump versions
1 parent ca89ea1 commit 81bc141

13 files changed

+183
-130
lines changed

.github/workflows/build_emscripten.yml

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jobs:
2121

2222
steps:
2323
- uses: actions/checkout@v4
24+
with:
25+
submodules: recursive
2426

2527
- name: Setup EMSDK
2628
uses: mymindstorm/setup-emsdk@v14

.github/workflows/build_linux.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ jobs:
2121

2222
steps:
2323
- uses: actions/checkout@v4
24-
24+
with:
25+
submodules: recursive
26+
2527
- name: Install Packages
2628
run: |
2729
sudo apt-get update

.github/workflows/build_osx.yml

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jobs:
2121

2222
steps:
2323
- uses: actions/checkout@v4
24+
with:
25+
submodules: recursive
2426

2527
- name: Update Local Toolchain
2628
run: |

.github/workflows/build_windows.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ jobs:
2121

2222
steps:
2323
- uses: actions/checkout@v4
24-
24+
with:
25+
submodules: recursive
26+
2527
- name: Install Dependencies
2628
run: vcpkg --triplet=x64-windows-static-md install glew
27-
29+
2830
- name: Update Local Toolchain
2931
run: |
3032
rustup update

.github/workflows/publish_crate.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414

1515
steps:
1616
- uses: actions/checkout@v4
17+
with:
18+
submodules: recursive
1719

1820
- name: Install Packages
1921
run: |
@@ -52,6 +54,6 @@ jobs:
5254

5355
- name: Publish
5456
env:
55-
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
57+
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
5658
run: |
5759
cargo publish --token $CARGO_REGISTRY_TOKEN

.github/workflows/publish_sys_crate.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414

1515
steps:
1616
- uses: actions/checkout@v4
17+
with:
18+
submodules: recursive
1719

1820
- name: Install Packages
1921
run: |
@@ -45,7 +47,7 @@ jobs:
4547
4648
- name: Publish
4749
env:
48-
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
50+
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
4951
run: |
5052
cd projectm-sys
5153
cargo publish --token $CARGO_REGISTRY_TOKEN

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@ Cargo.lock
88

99
# These are backup files generated by rustfmt
1010
**/*.rs.bk
11+
12+
.DS_Store
13+
14+
.idea/

.gitmodules

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[submodule "projectm-sys/libprojectM"]
2+
path = projectm-sys/libprojectM
3+
url = https://github.com/projectM-visualizer/projectm.git
4+
[submodule "libprojectM"]
5+
branch = v4.1.2

Cargo.toml

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
[package]
22
name = "projectm"
3-
version = "2.0.1-alpha"
3+
version = "2.0.2"
44
edition = "2021"
55
rust-version = "1.65"
6-
authors = ["AnomieVision <[email protected]>"]
6+
authors = ["AnomieVision <[email protected]>", "Mischa Spiegelmock <[email protected]>"]
77
description = "Bindings for ProjectM"
88
license = " LGPL-3.0-or-later"
99
repository = "https://github.com/projectM-visualizer/projectm-rs" #https://github.com/anomievision/projectm-rs
10-
keywords = ["visualization", "audio", "sound", "projectm"]
10+
keywords = ["visualization", "audio", "sound", "projectm"]
1111
categories = ["multimedia", "multimedia::video", "multimedia::audio"]
1212
readme = "README.md"
1313

1414
[dependencies]
15-
libc = "0.2.147"
16-
projectm-sys = { path = "projectm-sys", version = "1.0.8", features = ["playlist"] }
17-
rand = "0.8.5"
15+
libc = "0.2"
16+
#projectm-sys = { path = "projectm-sys", version = "1.0.9-rc.1", features = ["playlist"] }
17+
projectm-sys = { version = "1.0.10" }
18+
rand = "0.8"
1819

1920
[features]
2021
default = ["playlist"]
21-
playlist = []
22+
playlist = ["projectm-sys/playlist"]

projectm-sys/Cargo.toml

+30-6
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,49 @@
11
[package]
22
name = "projectm-sys"
3-
version = "1.0.8"
3+
version = "1.0.10"
44
edition = "2021"
55
rust-version = "1.65"
6-
authors = ["AnomieVision <[email protected]>"]
6+
authors = ["AnomieVision <[email protected]>", "Mischa Spiegelmock <[email protected]>"]
77
description = "Bindings for ProjectM"
88
license = "LGPL-3.0-or-later"
9-
repository = "https://github.com/anomievision/projectm-sys"
9+
repository = "https://github.com/projectM-visualizer/projectm-rs"
1010
documentation = "https://docs.rs/projectm-sys/latest"
11-
keywords = ["visualization", "audio", "sound", "projectm"]
11+
keywords = ["visualization", "audio", "sound", "projectm"]
1212
categories = ["multimedia", "multimedia::video", "multimedia::audio"]
1313
readme = "README.md"
1414
links = "projectm"
1515

16+
include = [
17+
"src/**",
18+
"Cargo.toml",
19+
"build.rs",
20+
"README.md",
21+
"LICENSE",
22+
"build_bindgen.rs",
23+
"libprojectM/CMakeLists.txt",
24+
"libprojectM/src/**",
25+
"libprojectM/include/**",
26+
"libprojectM/presets/CMakeLists.txt",
27+
"libprojectM/cmake/**",
28+
"libprojectM/vendor/**",
29+
"libprojectM/vendor/projectm-eval/**",
30+
"libprojectM/vendor/**/CMakeLists.txt",
31+
"libprojectM/vendor/**/cmake/**",
32+
"libprojectM/**/*.cmake",
33+
"libprojectM/**/*.h",
34+
"libprojectM/**/*.hpp",
35+
"libprojectM/config*",
36+
"libprojectM/vcpkg*",
37+
"bindgen/**",
38+
]
39+
1640
[dependencies]
1741

1842
[build-dependencies]
1943
cmake = "0.1.50"
20-
bindgen = "0.66.1"
44+
bindgen = "0.70.1"
2145
lazy_static = "1.4.0"
2246

2347
[features]
2448
default = ["playlist"]
25-
playlist = []
49+
playlist = []

0 commit comments

Comments
 (0)