summary refs log tree commit diff
path: root/pkgs/applications/misc/oranda/tailwind.patch
blob: 6a1ffb3c959f235784b01f103aa8b29601123229 (plain) (blame)
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
--- a/generate-css/src/lib.rs
+++ b/generate-css/src/lib.rs
@@ -28,48 +28,7 @@ pub fn default_css_output_dir() -> Utf8PathBuf {
 }
 
 pub fn build_css(dist_dir: &Utf8Path) -> Result<()> {
-    // Fetch our cache dir
-    let project_dir = ProjectDirs::from("dev", "axo", "oranda")
-        .expect("Unable to create cache dir for downloading Tailwind!");
-    let cache_dir = project_dir.cache_dir();
-    // Figure out our target "double" (tailwind has weird naming around this)
-    let double = match (env::consts::OS, env::consts::ARCH) {
-        ("linux", "x86_64") => "linux-x64",
-        ("linux", "aarch64") => "linux-arm64",
-        ("linux", "arm") => "linux-armv7",
-        ("macos", "x86_64") => "macos-x64",
-        ("macos", "aarch64") => "macos-arm64",
-        ("windows", "x86_64") => "windows-x64.exe",
-        ("windows", "aarch64") => "windows-arm64.exe",
-        _ => "linux-x64",
-    };
-    let mut binary_path = Utf8PathBuf::from(cache_dir.display().to_string());
-    LocalAsset::create_dir_all(&binary_path)?;
-    binary_path.push(format!("tailwindcss-{double}"));
-    if !binary_path.exists() {
-        // Fetch the binary from GitHub if it doesn't exist
-        tracing::info!("Fetching Tailwind binary from GitHub release...");
-        let url = format!(
-			"https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-{double}"
-		);
-        let handle = tokio::runtime::Handle::current();
-        let response = handle.block_on(reqwest::get(url))?;
-        let bytes = handle.block_on(response.bytes())?;
-        let file = LocalAsset::new(&binary_path, Vec::from(bytes))?;
-        file.write(
-            binary_path
-                .parent()
-                .expect("Tailwind binary path has no parent!?"),
-        )?;
-
-        // On non-Windows platforms, we need to mark the file as executable
-        #[cfg(target_family = "unix")]
-        {
-            use std::os::unix::prelude::PermissionsExt;
-            let user_execute = std::fs::Permissions::from_mode(0o755);
-            std::fs::set_permissions(&binary_path, user_execute)?;
-        }
-    }
+    let binary_path = env!("TAILWINDCSS");
 
     tracing::info!("Building oranda CSS using Tailwind...");
     let css_src_path = manifest_dir().join(CSS_SRC_PATH);