Browse Source

add rxvt-unicode-cvs to the collection

master
Von Random 3 months ago
parent
commit
092249670d

+ 111
- 0
rxvt-unicode-cvs/PKGBUILD View File

@@ -0,0 +1,111 @@
1
+# Maintainer: Von Random <von@vdrandom.org>
2
+# Contributor: Adriaan Zonnenberg <amz@adriaan.xyz>
3
+# Contributor: Florian Bruhin (The-Compiler) <archlinux.org@the-compiler.org>
4
+# Contributor: Daniel Micay <danielmicay@gmail.com>
5
+# Contributor: Sébastien Luttringer
6
+# Contributor: Angel Velasquez <angvp@archlinux.org>
7
+# Contributor: tobias <tobias@archlinux.org>
8
+# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
9
+
10
+_pkgname=rxvt-unicode
11
+pkgname=('rxvt-unicode-cvs' 'rxvt-unicode-terminfo-cvs')
12
+pkgver=$(date +%Y%m%d)
13
+pkgrel=1
14
+arch=('x86_64')
15
+url='http://software.schmorp.de/pkg/rxvt-unicode.html'
16
+license=('GPL')
17
+makedepends=('libxft' 'perl' 'startup-notification' 'libnsl' 'gdk-pixbuf2' 'cvs')
18
+source=(
19
+  urxvt.desktop
20
+  urxvtc.desktop
21
+  urxvt-tabbed.desktop
22
+  font-width-fix.patch
23
+  line-spacing-fix.patch
24
+  terminfo-truecolor.patch
25
+  urxvt-sgr.patch
26
+)
27
+sha256sums=(
28
+  5f9c435d559371216d1c5b49c6ec44bfdb786b12d925d543c286b0764dea0319
29
+  91536bb27c6504d6cb0d33775a0c4709a4b439670b900f0c278c25037f19ad66
30
+  ccd7c436e959bdc9ab4f15801a67c695b382565b31d8c352254362e67412afcb
31
+  686770fe4e8d6bb0ba497ad2e1f217d17515f2544d80abe76496c63ead2bfaa4
32
+  546a388d0595404a59c71c3eaeba331031032a75f96c57e9a860f27bbd7ebfcc
33
+  da1405889a660fe912a1d9cda9204d33daffa3de83140610fe227cca9fc4ea8e
34
+  f36110dce2dce4d6e275410de820f314b72a02dbad08f637c64b0da769c0c8f4
35
+)
36
+
37
+prepare() {
38
+  cvs -z3 -d :pserver:anonymous@cvs.schmorp.de/schmorpforge co ${_pkgname}
39
+  cd ${_pkgname}
40
+
41
+  patch -p0 -i ../font-width-fix.patch
42
+  patch -p0 -i ../line-spacing-fix.patch
43
+  patch -p0 -i ../urxvt-sgr.patch
44
+  patch -p0 -i ../terminfo-truecolor.patch
45
+}
46
+
47
+build() {
48
+  cd ${_pkgname}
49
+  # we disable smart-resize (FS#34807)
50
+  # do not specify --with-terminfo (FS#46424)
51
+  ./configure \
52
+    --prefix=/usr \
53
+    --enable-256-color \
54
+    --enable-combining \
55
+    --enable-fading \
56
+    --enable-font-styles \
57
+    --enable-iso14755 \
58
+    --enable-keepscrolling \
59
+    --enable-lastlog \
60
+    --enable-mousewheel \
61
+    --enable-next-scroll \
62
+    --enable-perl \
63
+    --enable-pointer-blank \
64
+    --enable-rxvt-scroll \
65
+    --enable-selectionscrolling \
66
+    --enable-slipwheeling \
67
+    --disable-smart-resize \
68
+    --enable-startup-notification \
69
+    --enable-transparency \
70
+    --enable-unicode3 \
71
+    --enable-utmp \
72
+    --enable-wtmp \
73
+    --enable-xft \
74
+    --enable-xim \
75
+    --enable-xterm-scroll \
76
+    --disable-frills
77
+  make
78
+}
79
+
80
+package_rxvt-unicode-cvs() {
81
+  pkgdesc='A unicode enabled rxvt-clone terminal emulator (urxvt) - latest cvs revision'
82
+  depends=('rxvt-unicode-terminfo-cvs' 'libxft' 'perl' 'startup-notification' 'libnsl')
83
+  optdepends=('gtk2-perl: to use the urxvt-tabbed')
84
+  provides=('rxvt-unicode')
85
+  conflicts=('rxvt-unicode')
86
+
87
+  # install freedesktop menu
88
+  for _f in urxvt urxvtc urxvt-tabbed; do
89
+    install -Dm 644 ${_f}.desktop "${pkgdir}/usr/share/applications/${_f}.desktop"
90
+  done
91
+
92
+  cd $_pkgname
93
+  # workaround terminfo installation
94
+  export TERMINFO="${srcdir}/terminfo"
95
+  install -d "${TERMINFO}"
96
+  make DESTDIR="${pkgdir}" install
97
+  # install the tabbing wrapper ( requires gtk2-perl! )
98
+  sed -i 's/\"rxvt\"/"urxvt"/' doc/rxvt-tabbed
99
+  install -Dm 755 doc/rxvt-tabbed "${pkgdir}/usr/bin/urxvt-tabbed"
100
+}
101
+
102
+package_rxvt-unicode-terminfo-cvs() {
103
+  provides=('rxvt-unicode-terminfo')
104
+  conflicts=('rxvt-unicode-terminfo')
105
+  pkgdesc='Terminfo files for urxvt'
106
+  conflict=('rxvt-unicode<=9.18-6')
107
+  install -dm 755 "${pkgdir}/usr/share/"
108
+  mv terminfo "${pkgdir}/usr/share/"
109
+}
110
+
111
+# vim: ts=2 sw=2 et:

+ 26
- 0
rxvt-unicode-cvs/font-width-fix.patch View File

@@ -0,0 +1,26 @@
1
+--- src/rxvtfont.C.bukind	2007-11-30 14:36:33.000000000 +0600
2
++++ src/rxvtfont.C	2007-11-30 14:39:29.000000000 +0600
3
+@@ -1171,12 +1171,21 @@
4
+           XGlyphInfo g;
5
+           XftTextExtents16 (disp, f, &ch, 1, &g);
6
+ 
7
++/*  
8
++ * bukind: don't use g.width as a width of a character!
9
++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial
10
++
11
+           g.width -= g.x;
12
+ 
13
+           int wcw = WCWIDTH (ch);
14
+           if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;
15
+ 
16
+           if (width    < g.width       ) width    = g.width;
17
++ */
18
++          int wcw = WCWIDTH (ch);
19
++          if (wcw > 1) g.xOff = g.xOff / wcw;
20
++          if (width < g.xOff) width = g.xOff;
21
++
22
+           if (height   < g.height      ) height   = g.height;
23
+           if (glheight < g.height - g.y) glheight = g.height - g.y;
24
+         }
25
+
26
+

+ 25
- 0
rxvt-unicode-cvs/line-spacing-fix.patch View File

@@ -0,0 +1,25 @@
1
+--- src/rxvtfont.C.orig	2011-07-20 22:19:29.878012201 -0300
2
++++ src/rxvtfont.C	2011-07-20 22:19:33.634671723 -0300
3
+@@ -1237,11 +1237,22 @@
4
+ 
5
+       FT_Face face = XftLockFace (f);
6
+ 
7
++/*
8
++ * use ascent, descent and height from XftFont *f instead of FT_Face face.
9
++ * this somehow reproduces the behaviour of the line height as seen on xterm.
10
++
11
+       ascent  = (face->size->metrics.ascender + 63) >> 6;
12
+       descent = (-face->size->metrics.descender + 63) >> 6;
13
+       height  = max (ascent + descent, (face->size->metrics.height + 63) >> 6);
14
+       width   = 0;
15
+ 
16
++ */
17
++
18
++      ascent  = f->ascent;
19
++      descent = f->descent;
20
++      height  = max (ascent + descent, f->height);
21
++      width   = 0;
22
++
23
+       bool scalable = face->face_flags & FT_FACE_FLAG_SCALABLE;
24
+ 
25
+       XftUnlockFace (f);

+ 18
- 0
rxvt-unicode-cvs/terminfo-truecolor.patch View File

@@ -0,0 +1,18 @@
1
+--- doc/etc/rxvt-unicode.terminfo.orig	2019-01-28 17:26:10.680252189 +0300
2
++++ doc/etc/rxvt-unicode.terminfo	2019-01-28 17:26:10.690252302 +0300
3
+@@ -190,3 +190,4 @@
4
+ 	colors#256,
5
+ 	pairs#32767,
6
+ 	use=rxvt-unicode,
7
++	Tc,
8
+--- doc/Makefile.in.orig	2019-01-28 17:24:07.168856085 +0300
9
++++ doc/Makefile.in	2019-01-28 17:24:10.458893241 +0300
10
+@@ -98,7 +98,7 @@
11
+ 	$(INSTALL_DATA) rxvtc.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)c.$(man1ext)
12
+ 	$(INSTALL_DATA) rxvtd.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)d.$(man1ext)
13
+ 	$(INSTALL_DATA) rxvt.7.man  $(DESTDIR)$(man7dir)/$(RXVTNAME).$(man7ext)
14
+-	@TIC@ $(srcdir)/etc/rxvt-unicode.terminfo
15
++	@TIC@ -sx $(srcdir)/etc/rxvt-unicode.terminfo
16
+ 
17
+ distdepend: alldoc
18
+ 

+ 90
- 0
rxvt-unicode-cvs/urxvt-sgr.patch View File

@@ -0,0 +1,90 @@
1
+--- src/command.C	2014-12-13 13:22:09.000000000 +0100
2
++++ src/command.C	2016-01-13 04:50:39.161862513 +0100
3
+@@ -1280,6 +1280,8 @@
4
+   int x, y;
5
+   int code = 32;
6
+
7
++  if (priv_modes & PrivMode_ExtMouseSgr) code = 0;
8
++
9
+   x = Pixel2Col (ev.x) + 1;
10
+   y = Pixel2Row (ev.y) + 1;
11
+ 
12
+@@ -1293,11 +1295,18 @@
13
+       code += 32;
14
+     }
15
+ 
16
+-  if (MEvent.button == AnyButton)
17
++  if (!(priv_modes & PrivMode_ExtMouseSgr) && MEvent.button == AnyButton)
18
+     button_number = 3;
19
+   else
20
+     {
21
+-      button_number = MEvent.button - Button1;
22
++      if (ev.type == MotionNotify) {
23
++        if (ev.state & Button1Mask) button_number = 0;
24
++        else if (ev.state & Button2Mask) button_number = 1;
25
++        else if (ev.state & Button3Mask) button_number = 2;
26
++        else return;
27
++      } else {
28
++        button_number = ev.button - Button1;
29
++      }
30
+       /* add 0x3D for wheel events, like xterm does */
31
+       if (button_number >= 3)
32
+         button_number += 64 - 3;
33
+@@ -1347,16 +1356,22 @@
34
+ #endif
35
+ 
36
+ #if ENABLE_FRILLS
37
++  if (priv_modes & PrivMode_ExtMouseSgr)
38
++    tt_printf ("\033[<%d;%d;%d%c",
39
++              code + button_number + key_state,
40
++              x,
41
++              y,
42
++              (ev.type == ButtonRelease ? 'm' : 'M'));
43
+-  if (priv_modes & PrivMode_ExtMouseRight)
44
++  else if (priv_modes & PrivMode_ExtMouseRight)
45
+     tt_printf ("\033[%d;%d;%dM",
46
+               code + button_number + key_state,
47
+               x,
48
+               y);
49
+   else if (priv_modes & PrivMode_ExtModeMouse)
50
+     tt_printf ("\033[M%c%lc%lc",
51
+               code + button_number + key_state,
52
+               wint_t (32 + x),
53
+               wint_t (32 + y));
54
+   else
55
+ #endif
56
+     tt_printf ("\033[M%c%c%c",
57
+@@ -2908,7 +2913,7 @@
58
+                 scr_soft_reset ();
59
+ 
60
+                 static const int pm_h[] = { 7, 25 };
61
+-                static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1005, 1015, 1049 };
62
++                static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1002, 1003, 1005, 1006, 1015, 1049 };
63
+ 
64
+                 process_terminal_mode ('h', 0, ecb_array_length (pm_h), pm_h);
65
+                 process_terminal_mode ('l', 0, ecb_array_length (pm_l), pm_l);
66
+@@ -3713,13 +3718,14 @@
67
+                   { 1003, PrivMode_MouseAnyEvent },
68
+ #if ENABLE_FRILLS
69
+                   { 1004, PrivMode_FocusEvent },
70
+                   { 1005, PrivMode_ExtModeMouse },
71
++                  { 1006, PrivMode_ExtMouseSgr },
72
+ #endif
73
+                   { 1010, PrivMode_TtyOutputInh }, // rxvt extension
74
+                   { 1011, PrivMode_Keypress }, // rxvt extension
75
+ #if ENABLE_FRILLS
76
+                   { 1015, PrivMode_ExtMouseRight }, // urxvt extension of 1005
77
+ #endif
78
+                  // 1035 enable modifiers for alt, numlock NYI
79
+                  // 1036 send ESC for meta keys NYI
80
+                  // 1037 send DEL for keypad delete NYI
81
+--- src/rxvt.h	2014-12-17 16:33:08.000000000 +0100
82
++++ src/rxvt.h	2016-01-13 03:42:31.508911380 +0100
83
+@@ -644,6 +644,7 @@
84
+ #define PrivMode_ExtMouseRight  (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales
85
+ #define PrivMode_BlinkingCursor (1UL<<25)
86
+ #define PrivMode_FocusEvent     (1UL<<26)
87
++#define PrivMode_ExtMouseSgr    (1UL<<27) // sgr mouse extension
88
+ 
89
+ #define PrivMode_mouse_report   (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent)
90
+ 

+ 9
- 0
rxvt-unicode-cvs/urxvt-tabbed.desktop View File

@@ -0,0 +1,9 @@
1
+[Desktop Entry]
2
+Version=1.0
3
+Name=urxvt (tabbed)
4
+Comment=An unicode capable and tabbed rxvt clone
5
+Exec=urxvt-tabbed
6
+Icon=utilities-terminal
7
+Terminal=false
8
+Type=Application
9
+Categories=System;TerminalEmulator;

+ 9
- 0
rxvt-unicode-cvs/urxvt.desktop View File

@@ -0,0 +1,9 @@
1
+[Desktop Entry]
2
+Version=1.0
3
+Name=urxvt
4
+Comment=An unicode capable rxvt clone
5
+Exec=urxvt
6
+Icon=utilities-terminal
7
+Terminal=false
8
+Type=Application
9
+Categories=System;TerminalEmulator;

+ 9
- 0
rxvt-unicode-cvs/urxvtc.desktop View File

@@ -0,0 +1,9 @@
1
+[Desktop Entry]
2
+Version=1.0
3
+Name=urxvt (client)
4
+Comment=An unicode capable rxvt clone client for urxvtd
5
+Exec=urxvtc
6
+Icon=utilities-terminal
7
+Terminal=false
8
+Type=Application
9
+Categories=System;TerminalEmulator;

Loading…
Cancel
Save