Skip to content

Commit 9b24a1b

Browse files
committed
refactor(constant): custom official addon on apple
1 parent 2f7e7f3 commit 9b24a1b

3 files changed

Lines changed: 99 additions & 44 deletions

File tree

Cargo.lock

Lines changed: 75 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ opt-level = 's'
1313

1414
[workspace]
1515
resolver = "2"
16-
members = [
17-
"stremio-core-web",
18-
"stremio-derive",
19-
"stremio-watched-bitfield",
20-
]
16+
members = ["stremio-core-web", "stremio-derive", "stremio-watched-bitfield"]
2117

2218
[features]
2319
# TODO: env-future-send should be enabled by default
@@ -40,10 +36,12 @@ analytics = []
4036
[dependencies]
4137
stremio-derive = { path = "stremio-derive" }
4238
stremio-watched-bitfield = { path = "stremio-watched-bitfield" }
39+
[target.'cfg(not(target_vendor = "apple"))'.dependencies]
4340
stremio-official-addons = "=2.0.13"
4441

42+
[target.'cfg(all())'.dependencies]
4543
# (De)Serialization
46-
serde = { version = "1", features = ["derive"]}
44+
serde = { version = "1", features = ["derive"] }
4745
serde_json = "1.0.*"
4846
serde_path_to_error = "0.1"
4947
serde_url_params = "0.2"
@@ -72,7 +70,13 @@ sha2 = "0.10"
7270
either = "1.6"
7371
enclose = "1.1"
7472
derivative = "2.2"
75-
derive_more = { version = "2", features = ["from", "into", "into_iterator", "try_into", "deref"] }
73+
derive_more = { version = "2", features = [
74+
"from",
75+
"into",
76+
"into_iterator",
77+
"try_into",
78+
"deref",
79+
] }
7680
boolinator = "2.4"
7781
strum = { version = "0.27", features = ["derive"] }
7882

src/constants.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,19 @@ pub static STREAMING_SERVER_URL: Lazy<Url> =
8484
pub static IMDB_URL: Lazy<Url> =
8585
Lazy::new(|| Url::parse("https://imdb.com").expect("IMDB_URL parse failed"));
8686
pub static OFFICIAL_ADDONS: Lazy<Vec<Descriptor>> = Lazy::new(|| {
87-
serde_json::from_slice(stremio_official_addons::ADDONS).expect("OFFICIAL_ADDONS parse failed")
87+
#[cfg(target_vendor = "apple")]
88+
{
89+
let path = option_env!("OFFICIAL_ADDONS_PATH")
90+
.expect("OFFICIAL_ADDONS_PATH environment variable not set");
91+
let content = std::fs::read(path).expect("Failed to read OFFICIAL_ADDONS file");
92+
serde_json::from_slice(&content).expect("OFFICIAL_ADDONS parse failed")
93+
}
94+
95+
#[cfg(not(target_vendor = "apple"))]
96+
{
97+
serde_json::from_slice(stremio_official_addons::ADDONS)
98+
.expect("OFFICIAL_ADDONS parse failed")
99+
}
88100
});
89101
pub static SKIP_EXTRA_PROP: Lazy<ExtraProp> = Lazy::new(|| ExtraProp {
90102
name: "skip".to_owned(),

0 commit comments

Comments
 (0)