svn commit: r496561 - in head/x11/alacritty: . files
Tobias Kortkamp
tobik at FreeBSD.org
Fri Mar 22 12:29:38 UTC 2019
Author: tobik
Date: Fri Mar 22 12:29:37 2019
New Revision: 496561
URL: https://svnweb.freebsd.org/changeset/ports/496561
Log:
x11/alacritty: Apply workaround to let SpawnNewInstance work on FreeBSD
On Linux Alacritty looks up /proc/$shell_pid/cwd to open new instances
in the same working directory as the old instance which does not
work with FreeBSD's procfs(5). As a workaround we can for now
fallback to linprocfs(5), often mounted on /compat/linux/proc, until
there is support for KERN_PROC_CWD and struct kinfo_file in the
Rust ecosystem (libc or elsewhere).
PR: 236382
Submitted by: tobik
Approved by: zeising (maintainer timeout, 2 weeks)
Added:
head/x11/alacritty/files/
head/x11/alacritty/files/patch-src_event.rs (contents, props changed)
Modified:
head/x11/alacritty/Makefile
Modified: head/x11/alacritty/Makefile
==============================================================================
--- head/x11/alacritty/Makefile Fri Mar 22 12:10:37 2019 (r496560)
+++ head/x11/alacritty/Makefile Fri Mar 22 12:29:37 2019 (r496561)
@@ -3,7 +3,7 @@
PORTNAME= alacritty
PORTVERSION= 0.2.9
DISTVERSIONPREFIX= v
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= x11
MAINTAINER= zeising at FreeBSD.org
Added: head/x11/alacritty/files/patch-src_event.rs
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11/alacritty/files/patch-src_event.rs Fri Mar 22 12:29:37 2019 (r496561)
@@ -0,0 +1,20 @@
+Let Alacritty open new instances in the shell's working directory
+as long as linprocfs(5) is mounted on /compat/linux/proc.
+
+https://github.com/jwilm/alacritty/commit/0ec4bd28dadcf476baf6180af7cf93bea9214f19
+
+--- src/event.rs.orig 2019-02-11 23:59:21 UTC
++++ src/event.rs
+@@ -172,7 +172,11 @@ impl<'a, N: Notify + 'a> input::ActionContext for Acti
+
+ #[cfg(unix)]
+ let args = {
+- if let Ok(path) = fs::read_link(format!("/proc/{}/cwd", unsafe { tty::PID })) {
++ #[cfg(not(target_os = "freebsd"))]
++ let proc_prefix = "";
++ #[cfg(target_os = "freebsd")]
++ let proc_prefix = "/compat/linux";
++ if let Ok(path) = fs::read_link(format!("{}/proc/{}/cwd", proc_prefix, unsafe { tty::PID })) {
+ vec!["--working-directory".into(), path]
+ } else {
+ Vec::new()
More information about the svn-ports-head
mailing list