add app-editors/sublime-text
This commit is contained in:
parent
aef5784b48
commit
c67f62bf69
3 changed files with 125 additions and 0 deletions
|
@ -0,0 +1,31 @@
|
|||
From 9df21c9ec00ac34174b443cc7cd8c4053b98eb00 Mon Sep 17 00:00:00 2001
|
||||
From: webstrand <webstrand@gmail.com>
|
||||
Date: Thu, 27 May 2021 17:08:03 -0400
|
||||
Subject: [PATCH 1/2] remove deprecated key OnlyShowIn from launcher
|
||||
|
||||
Silences a QA notice that the key "OnlyShowIn" in group
|
||||
"Desktop Action new-file" and "Desktop Action new-window" is deprecated.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=66712 No replacement or
|
||||
alternative is provided, the key is simply ignored.
|
||||
---
|
||||
sublime_text.desktop | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/sublime_text.desktop b/sublime_text.desktop
|
||||
index 7407709..b171254 100644
|
||||
--- a/sublime_text.desktop
|
||||
+++ b/sublime_text.desktop
|
||||
@@ -15,9 +15,7 @@ Actions=new-window;new-file;
|
||||
[Desktop Action new-window]
|
||||
Name=New Window
|
||||
Exec=/opt/sublime_text/sublime_text --launch-or-new-window
|
||||
-OnlyShowIn=Unity;
|
||||
|
||||
[Desktop Action new-file]
|
||||
Name=New File
|
||||
Exec=/opt/sublime_text/sublime_text --command new_file
|
||||
-OnlyShowIn=Unity;
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From 0eff5450cba9514559eefd8c79e98fb6b8134b68 Mon Sep 17 00:00:00 2001
|
||||
From: webstrand <webstrand@gmail.com>
|
||||
Date: Thu, 27 May 2021 17:09:21 -0400
|
||||
Subject: [PATCH 2/2] Set explicit StartupWMClass in launcher
|
||||
|
||||
Otherwise startup notification and grouping implicitly use the name of
|
||||
the .desktop file to match against the actual WM_CLASS of windows
|
||||
belonging to the application.
|
||||
---
|
||||
sublime_text.desktop | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sublime_text.desktop b/sublime_text.desktop
|
||||
index b171254..5c812a9 100644
|
||||
--- a/sublime_text.desktop
|
||||
+++ b/sublime_text.desktop
|
||||
@@ -10,6 +10,7 @@ MimeType=text/plain;
|
||||
Icon=sublime-text
|
||||
Categories=TextEditor;Development;
|
||||
StartupNotify=true
|
||||
+StartupWMClass=Sublime_text
|
||||
Actions=new-window;new-file;
|
||||
|
||||
[Desktop Action new-window]
|
||||
--
|
||||
2.31.1
|
||||
|
67
app-editors/sublime-text/sublime-text-4_p4118.ebuild
Normal file
67
app-editors/sublime-text/sublime-text-4_p4118.ebuild
Normal file
|
@ -0,0 +1,67 @@
|
|||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit desktop wrapper xdg
|
||||
|
||||
# get the major version from PV
|
||||
MY_PV=$(ver_cut 3)
|
||||
MY_PN=${PN/-/_}
|
||||
|
||||
DESCRIPTION="Sophisticated text editor for code, markup and prose"
|
||||
HOMEPAGE="https://www.sublimetext.com"
|
||||
SRC_URI="
|
||||
amd64? ( https://download.sublimetext.com/sublime_text_build_${MY_PV}_x64.tar.xz )"
|
||||
S="${WORKDIR}/${MY_PN}"
|
||||
|
||||
LICENSE="Sublime"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="dbus"
|
||||
RESTRICT="bindist mirror strip"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/glib:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
dbus? ( sys-apps/dbus )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4_p4107-remove-deprecated-key-onlyshowin-from-launcher.patch
|
||||
"${FILESDIR}"/${PN}-4_p4107-set-explicit-startupwmclass-in-launcher.patch
|
||||
)
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
# Sublime bundles the kitchen sink, which includes python and other assorted
|
||||
# modules. Do not try to unbundle these because you are guaranteed to fail.
|
||||
|
||||
src_install() {
|
||||
insinto /opt/${MY_PN}
|
||||
doins -r Packages Lib Icon # /Icon is used at runtime by the application
|
||||
doins changelog.txt libcrypto.so.1.1 libssl.so.1.1 sublime_text.desktop
|
||||
|
||||
# sublime_merge looks for /opt/sublime_text/sublime_text
|
||||
exeinto /opt/${MY_PN}
|
||||
doexe crash_reporter plugin_host-3.3 plugin_host-3.8 sublime_text
|
||||
|
||||
# sublime-text sets its WM_CLASS based on its argv[0]. A wrapper script is
|
||||
# used instead of a symlink to preserve a consistent WM_CLASS regardless of
|
||||
# how the application is launched. This causes the WM_CLASS to be
|
||||
# "sublime_text" which matches the .desktop entry.
|
||||
make_wrapper subl "/opt/${MY_PN}/sublime_text --fwdargv0 \"\$0\""
|
||||
domenu sublime_text.desktop
|
||||
|
||||
local size
|
||||
for size in 16 32 48 128 256; do
|
||||
doicon --size ${size} Icon/${size}x${size}/${PN}.png
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
elog 'Sublime Text 4'"'"'s window class changes from WM_CLASS="subl" to'
|
||||
elog 'WM_CLASS="sublime_text" matching other distributions.'
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue