fix: elan: use relative paths in wrapper script
since 3.1.1, `elan` extracts to a temporary location and then moves to a final location, this threw the wrapper script off. Updating the patch to use paths relative to the wrapper script, so that it works independent of absolute location.
This commit is contained in:
parent
9289a0678e
commit
5681570171
|
@ -2,7 +2,7 @@ diff --git a/src/elan-dist/src/component/package.rs b/src/elan-dist/src/componen
|
|||
index c51e76d..ae8159e 100644
|
||||
--- a/src/elan-dist/src/component/package.rs
|
||||
+++ b/src/elan-dist/src/component/package.rs
|
||||
@@ -56,6 +56,35 @@ fn unpack_without_first_dir<R: Read>(archive: &mut tar::Archive<R>, path: &Path)
|
||||
@@ -56,6 +56,37 @@ fn unpack_without_first_dir<R: Read>(archive: &mut tar::Archive<R>, path: &Path)
|
||||
entry
|
||||
.unpack(&full_path)
|
||||
.chain_err(|| ErrorKind::ExtractingPackage)?;
|
||||
|
@ -26,9 +26,11 @@ index c51e76d..ae8159e 100644
|
|||
+ use std::os::unix::fs::PermissionsExt;
|
||||
+ let new_path = dest_path.with_extension("orig");
|
||||
+ ::std::fs::rename(dest_path, &new_path)?;
|
||||
+ ::std::fs::write(dest_path, format!(r#"#! @shell@
|
||||
+LEAN_CC="${{LEAN_CC:-@cc@}}" exec -a "$0" {} "$@" -L {}/lib # use bundled libraries, but not bundled compiler that doesn't know about NIX_LDFLAGS
|
||||
+"#, new_path.to_str().unwrap(), dest_path.parent().unwrap().parent().unwrap().to_str().unwrap()))?;
|
||||
+ ::std::fs::write(dest_path, r#"#! @shell@
|
||||
+dir="$(dirname "${BASH_SOURCE[0]}")"
|
||||
+# use bundled libraries, but not bundled compiler that doesn't know about NIX_LDFLAGS
|
||||
+LEAN_CC="${LEAN_CC:-@cc@}" exec -a "$0" "$dir/leanc.orig" "$@" -L"$dir/../lib"
|
||||
+"#)?;
|
||||
+ ::std::fs::set_permissions(dest_path, ::std::fs::Permissions::from_mode(0o755))?;
|
||||
+ }
|
||||
+
|
||||
|
|
Loading…
Reference in New Issue
Block a user