summaryrefslogtreecommitdiffstats
path: root/pkgs/applications
diff options
context:
space:
mode:
authorRobert Schütz <rschuetz17@gmail.com>2019-02-24 13:40:41 +0100
committerGitHub <noreply@github.com>2019-02-24 13:40:41 +0100
commit50a17aa46fc881431e502a54e284a20f513a83ab (patch)
treeb31fd7550e86ada21867d9550132e3ba3711330f /pkgs/applications
parent7498aff7d81debf98c77c95d094de178740a43da (diff)
qutebrowser: choose correct executable when restarting (#55739)
fixes #25832
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch29
2 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 1be4f1c4c524..3ca4aafd7575 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -53,7 +53,13 @@ in python3Packages.buildPythonApplication rec {
pyreadability pykeepass stem
];
+ patches = [
+ ./fix-restart.patch
+ ];
+
postPatch = ''
+ substituteInPlace qutebrowser/app.py --subst-var-by qutebrowser "$out/bin/qutebrowser"
+
sed -i "s,/usr/share/,$out/share/,g" qutebrowser/utils/standarddir.py
'' + lib.optionalString withPdfReader ''
sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py
diff --git a/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch b/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch
new file mode 100644
index 000000000000..56f6bcebf280
--- /dev/null
+++ b/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch
@@ -0,0 +1,29 @@
+diff --git a/qutebrowser/app.py b/qutebrowser/app.py
+index 2b6896b76..ee05f379d 100644
+--- a/qutebrowser/app.py
++++ b/qutebrowser/app.py
+@@ -555,22 +555,8 @@ class Quitter:
+ args: The commandline as a list of strings.
+ cwd: The current working directory as a string.
+ """
+- if os.path.basename(sys.argv[0]) == 'qutebrowser':
+- # Launched via launcher script
+- args = [sys.argv[0]]
+- cwd = None
+- elif hasattr(sys, 'frozen'):
+- args = [sys.executable]
+- cwd = os.path.abspath(os.path.dirname(sys.executable))
+- else:
+- args = [sys.executable, '-m', 'qutebrowser']
+- cwd = os.path.join(
+- os.path.abspath(os.path.dirname(qutebrowser.__file__)), '..')
+- if not os.path.isdir(cwd):
+- # Probably running from a python egg. Let's fallback to
+- # cwd=None and see if that works out.
+- # See https://github.com/qutebrowser/qutebrowser/issues/323
+- cwd = None
++ args = ['@qutebrowser@']
++ cwd = None
+
+ # Add all open pages so they get reopened.
+ page_args = []