diff --git a/pkgbuilds/vi/.omarchy/package.json b/pkgbuilds/vi/.omarchy/package.json new file mode 100644 index 0000000..a07823f --- /dev/null +++ b/pkgbuilds/vi/.omarchy/package.json @@ -0,0 +1,4 @@ +{ + "source": "aur", + "upstream_commit": "9aa84b0998874261e94bbbe25e0dcf3de7286b94" +} diff --git a/pkgbuilds/vi/LICENSE b/pkgbuilds/vi/LICENSE new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/pkgbuilds/vi/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/pkgbuilds/vi/PKGBUILD b/pkgbuilds/vi/PKGBUILD new file mode 100644 index 0000000..4483e82 --- /dev/null +++ b/pkgbuilds/vi/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: libele +# Contributor: Evangelos Foutras +# Contributor: Eric Bélanger + +pkgname=vi +pkgver=070224 +pkgrel=9 +epoch=1 +pkgdesc="The original ex/vi text editor" +arch=('aarch64' 'arm' 'armv6h' 'armv7h' 'i486' 'i686' 'pentium4' 'x86_64') +url="https://ex-vi.sourceforge.net/" +license=('BSD-4-Clause-UC AND Caldera-no-preamble') +depends=('ncurses') +optdepends=('s-nail: used by the preserve command for notification') +provides=('vi') +conflicts=('ex-vi-compat' 'heirloom-ex-vi') +source=(https://sources.archlinux.org/other/$pkgname/ex-$pkgver.tar.xz{,.sig} + fix-tubesize-short-overflow.patch + navkeys.patch + format-security.patch + linenum.patch + preserve-dir.patch) +sha256sums=('c3e52dd44edd1f6bf0b52207f717c56149dc50aac0d131fff3851d589727f52f' + 'SKIP' + '42167fabebe30a13d594346b1d254db82090ba41742a9f35b8895d37092053f0' + '0e9e2d381f1d8cb86daae68462b3849825b003c08007725c0db9939d3d5bf58d' + 'ec50373ab48a9b327c5d02b10406bc3d04310d692de6c17098a59b1afeb08e03' + '4539f46cd839475c168a9c463f041354463e90e810b973a10c499c2727b008e7' + 'f0ef9ed2ccea98bf47b08dd3faa2abb911b4e6c0579f5294e9d0e8742282ff65') +validpgpkeys=('86CFFCA918CF3AF47147588051E8B148A9999C34') # Evangelos Foutras + +prepare() { + # Extract specific license files. + sed -n '1,36p' ex-$pkgver/LICENSE > BSD-4-Clause-UC.txt + sed -n '39,69p' ex-$pkgver/LICENSE > Caldera-no-preamble.txt + + cd ex-$pkgver + + patch -Np1 -i ../fix-tubesize-short-overflow.patch + patch -Np1 -i ../navkeys.patch + + # https://bugs.archlinux.org/task/76121 + patch -Np1 -i ../format-security.patch + + # https://bugs.archlinux.org/task/70770 + patch -Np1 -i ../linenum.patch + + # https://bugs.archlinux.org/task/20653 + patch -Np1 -i ../preserve-dir.patch +} + +build() { + cd ex-$pkgver + + export CFLAGS=-std=gnu90 + make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \ + TERMLIB=ncurses FEATURES="-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8" +} + +package() { + cd ex-$pkgver + + make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \ + INSTALL=/usr/bin/install DESTDIR="$pkgdir" install + install -vDm 644 ../*.txt -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/pkgbuilds/vi/fix-tubesize-short-overflow.patch b/pkgbuilds/vi/fix-tubesize-short-overflow.patch new file mode 100644 index 0000000..46cc2af --- /dev/null +++ b/pkgbuilds/vi/fix-tubesize-short-overflow.patch @@ -0,0 +1,12 @@ +diff -upr ex-070224.orig/ex_vis.h ex-070224/ex_vis.h +--- ex-070224.orig/ex_vis.h 2005-08-06 14:41:15.000000000 +0300 ++++ ex-070224/ex_vis.h 2015-05-02 20:41:13.938665281 +0300 +@@ -104,7 +104,7 @@ var enum { + */ + var short TUBELINES; + var short TUBECOLS; +-var short TUBESIZE; ++var int TUBESIZE; + + /* + * The screen in visual and crtopen is of varying size; the basic diff --git a/pkgbuilds/vi/format-security.patch b/pkgbuilds/vi/format-security.patch new file mode 100644 index 0000000..3676bae --- /dev/null +++ b/pkgbuilds/vi/format-security.patch @@ -0,0 +1,26 @@ +diff --git a/ex_unix.c b/ex_unix.c +index 4ad17f9..80815d1 100644 +--- a/ex_unix.c ++++ b/ex_unix.c +@@ -179,7 +179,7 @@ uexp: + if (warn && hush == 0 && chng && xchng != chng && value(WARN) && dol > zero) { + xchng = chng; + vnfl(); +- printf(mesg(catgets(catd, 1, 197, ++ printf("%s", mesg(catgets(catd, 1, 197, + "[No write]|[No write since last change]"))); + noonl(); + flush(); +diff --git a/ex_vops2.c b/ex_vops2.c +index 48050ff..e59727a 100644 +--- a/ex_vops2.c ++++ b/ex_vops2.c +@@ -211,7 +211,7 @@ showmode(int mode) + if (value(TERSE)) + putchar(str[0]); + else +- printf(&str[1]); ++ printf("%s", &str[1]); + vgoto(sdl, sdc); + cursor = ocurs; + splitw = 0; diff --git a/pkgbuilds/vi/keys/pgp/86CFFCA918CF3AF47147588051E8B148A9999C34.asc b/pkgbuilds/vi/keys/pgp/86CFFCA918CF3AF47147588051E8B148A9999C34.asc new file mode 100644 index 0000000..22af2c0 --- /dev/null +++ b/pkgbuilds/vi/keys/pgp/86CFFCA918CF3AF47147588051E8B148A9999C34.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBEzdbBcBCAC8QJ+5x2TjAlM8lL+6SKlj2BV3SS5YcLN3zL27ax8Li98VTn3G +lacdavKCQKUNbeHxSNKILuzMnx74kL5LOl9pSaDB6XgLMGu4RGhFFzKv3wO9cuBN +sxfHQFdXdJ4hY/Kiji0zH6XPyl8BGiUxXqjth+hoo0siJOiME2t/SL0U9KRnJyPt +fOngeUlKIcnBr+/0wboTgQpO3fa502CNV98mRVCY6/3gJY2kJP8G5rNWa6wywRtr +N94SiD0NL7R1ozTqIy4/K/7dB7nJOnQQxxmElal7bFr7k69L0cuc3XKkyhTrAnzM +bMp2vcXbgpcSoi/zLNgqDo0wq1CbmZxfgmbNABEBAAG0J0V2YW5nZWxvcyBGb3V0 +cmFzIDxmb3V0cmVsaXNAZ21haWwuY29tPokBkgQTAQgAhgWCYslmrAQLCQgHCRBR +6LFIqZmcNEcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmdG +FjAlcBwlLXsuKdWKZbbHWcAUXvnvjaY6ZeOCCVu9hwMVCAoEFgIDAQIXgAIbAwIe +ARYhBIbP/KkYzzr0cUdYgFHosUipmZw0AACV5wf9EmIB+G4SXx2OLgEtL3ohZfhk +/wKwh6AaOT94SWhAllGtLNtCCSUgaHgz05oVdLkGrYBBcgkvcr6K7TH2T7v7tuop +VeX+qNI+EKYkL+fPdpgb6wAqLeLiULZa0XM1kxfp1xFNFPIfXcjuhbRYbkzrj/MH +0P1XZYoBDO3yo+cWJt7z3fFw06tA9KZxn/iOKGblVPMZS2UGlA8UCIj01NRZWeNY +TD9JtcEPiRHt6Xnodfpvm5Tdp86Uo6BXeIjmpZXYPfR7NXcmwLFQMjOqb7roqd8+ +66pzMDJ/onYO+DZZs3EEcIDL0LykoK64cts6vwPj8FzdM4Z2nOn/wT7QRdq6lrQr +RXZhbmdlbG9zIEZvdXRyYXMgPGV2YW5nZWxvc0Bmb3V0cmVsaXMuY29tPokBlQQT +AQgAiQWCYslmqwQLCQgHCRBR6LFIqZmcNEcUAAAAAAAeACBzYWx0QG5vdGF0aW9u +cy5zZXF1b2lhLXBncC5vcmfCF18eejk+B+7x5ZO1TGdelYn1jDioOzy+sqxgQCyR +WAMVCAoEFgIDAQIXgAIZAQIbAwIeARYhBIbP/KkYzzr0cUdYgFHosUipmZw0AABl +rQf+LMOENiR6NLyG5b7ut+d3ATilp7ECuwLE/9vQDaDQa5nkvQixsjomHklpdA5Y +UPer6J6WKf88iAU21H7qW9gqw4K5OjVXHZYI+RLaS+1qEz7Y5FFN/Axdu2GuvZvp +9B0frJ7zPVtM7+TbIkXqjYMiFbw24e5s3+y1CO3yEKc4dbHKQb493Axx/xCMtGzi +9rrebFuIQVJw+IaguGAk8tV/Jf/jsA7GjjrHhWHCcnY8HqCnPtWgUqxW15Yql5VS +pGcOAQMx/xeMHWqzSpE0NXTvBzuA81l4ovngBfy3Vjia7z/n/XxxLV3ehO8d6gir +yuEEdkkBPG48ysS9NxqxpWjCnLQrRXZhbmdlbG9zIEZvdXRyYXMgPGZvdXRyZWxp +c0BhcmNobGludXgub3JnPokBkgQTAQgAhgWCYslmrAQLCQgHCRBR6LFIqZmcNEcU +AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmd4ABJkF/uaJLUS +de0Gt8Tr94eHgbzWjcuTeOp+7VARHQMVCAoEFgIDAQIXgAIbAwIeARYhBIbP/KkY +zzr0cUdYgFHosUipmZw0AABvDwf+NxwZ805EPlYZ53+rvvTLE1SqT8b7EaqVflff +HRoJoT+2XajrpPeT2cN0ePjoRtZgYEhj3qPCIz3R4uaGu7uWkX4NmqfJGDsmOAdN +XSibWKcz0cnbqwUmFsS6QmfcsAZxCD+LYt6C7KYhzGT0xvhP2OVHVOFDIj/I+iwH +MK41swTiQ101OtKPuqW1uLXzYDfbdTOTQ6RrOgtWlLtF94mF7sGNPnyKpTksgdw0 +4vnxbvQWSPuAsGwXN8hQk1Zy6I35Z+/qeXqh6AfPasUb0i/8PO5gZkcqW/pccOpy +7kFIKkjvAIKMl/ILR7Epd0LJlJHLctB+g06eGW3jYoH2E+c1x7kBDQRM3WwXAQgA +niGcmhZ5gty8/k0Nh5ov7MAnwcUtPQ7rXDb7iRsNyHkbx/o5FBDlU/zFdqE/drqs +oRYxI/4VqnDXBJPr9Pk7d2f4iUdO/pSa0XzY+q8vOtWDky67K5Bl2YkdX9F7audf +uggM75IJo2y1EF2F4D0pcWiDjT9kkjNpVBBCuKqcM4yWaf4pmYHihgC4tvBhJx8f +6YrnL8N/wCPpvqyvYJaL0kg+hcnVgYyOnbFcrlkeuGMDrF6aoKaN6Sl54dtnxkep +4/dCyW5A2w/V6ubaK5XRsN1yeY1bLvz4iRAy0CbtAvZuUsb+DEVDQ40aPvTw52Um +6hfCN8bBOTQs8t4sGM12DwARAQABiQF+BBgBCAByBYJiyWasCRBR6LFIqZmcNEcU +AAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmc3jDQWZ2z5IqgI +XRUrrTn72ljmV28aDWVAt3ozjarlLAIbDBYhBIbP/KkYzzr0cUdYgFHosUipmZw0 +AACo2AgAktLNEDb6geHvgsWWw0vklq4UxTIedKP7iQfg20v/fHrtY22V2SKE67Sb +bl8xezEr0NfHF/M8r2zUpHdI+r7HE2QrgE2NEBeWGoY54vyaN5wYxTJxJmUsOrQj +ujJqwoBcj2DIiTprNROzdjWuPY7JR/Vw80TrfAwFwcikAb6QJvc3i6oqant06Um6 +ycmH1zSFX1SMte/gXd0RJ8gyQmbgpo12HDof92/13ZRrdUG8Rk33fHAK2hN9pr+l +f29yxIMXFh5z9mwEkLCd7bz85k+VNOC/pcURJhXjH3n+ssK0pEHZ684OctKn6At8 +CxByRzRqssZbq46oABvbsGeZq1Qw7A== +=UALx +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pkgbuilds/vi/linenum.patch b/pkgbuilds/vi/linenum.patch new file mode 100644 index 0000000..6821b3b --- /dev/null +++ b/pkgbuilds/vi/linenum.patch @@ -0,0 +1,61 @@ +From 891c4022e24063608b554b6b3e4b5e2533e5443b Mon Sep 17 00:00:00 2001 +From: n-t-roff +Date: Fri, 22 Apr 2016 19:08:05 +0200 +Subject: [PATCH] set nu bug fixed + +--- + ex_put.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ex_put.c b/ex_put.c +index fb7446e..0760747 100644 +--- a/ex_put.c ++++ b/ex_put.c +@@ -298,7 +298,7 @@ normline(int unused, int max) + + (void)unused; + if (max > 0) +- vcntcol = 0; ++ vcntcol = value(NUMBER) << 3; + if (shudclob) + slobber(linebuf[0]); + /* pdp-11 doprnt is not reentrant so can't use "printf" here + +From ad7f1e567324494021135bd2ec680b656a3f1cab Mon Sep 17 00:00:00 2001 +From: n-t-roff +Date: Wed, 27 Jul 2016 18:58:47 +0200 +Subject: [PATCH] Number mode command line bugfix + +The prev. number mode bugfix did introduce a bug in the command line +cursor position when using backspace in number mode. Should be +fixed now. +--- + ex_put.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/ex_put.c b/ex_put.c +index 26236d4..09ad403 100644 +--- a/ex_put.c ++++ b/ex_put.c +@@ -277,9 +277,12 @@ int + numbline(int i, int max) + { + ++ extern short vcntcol; + if (shudclob) + slobber(' '); + max -= printf("%6d ", i); ++ if (max > 0) ++ vcntcol = value(NUMBER) << 3; + return normline(0, max); + } + +@@ -297,8 +300,6 @@ normline(int unused, int max) + int c, n; + int ret = 0; + +- if (max > 0) +- vcntcol = value(NUMBER) << 3; + if (shudclob) + slobber(linebuf[0]); + /* pdp-11 doprnt is not reentrant so can't use "printf" here diff --git a/pkgbuilds/vi/navkeys.patch b/pkgbuilds/vi/navkeys.patch new file mode 100644 index 0000000..4692437 --- /dev/null +++ b/pkgbuilds/vi/navkeys.patch @@ -0,0 +1,55 @@ +diff -ru ex-050325/ex_tty.c ex-050325-du/ex_tty.c +--- ex-050325/ex_tty.c 2005-03-04 13:42:58.000000000 +0100 ++++ ex-050325-du/ex_tty.c 2009-06-25 20:06:57.000000000 +0200 +@@ -132,7 +132,8 @@ + &ED, &EI, &F0, &F1, &F2, &F3, &F4, &F5, &F6, &F7, &F8, &F9, + &HO, &IC, &IM, &IP, &KD, &KE, &KH, &KL, &KR, &KS, &KU, &LL, &ND, &xNL, + &xPC, &RC, &SC, &SE, &SF, &SO, &SR, &TA, &TE, &TI, &UP, &VB, &VS, &VE, +- &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM ++ &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM, ++ &kI, &kD, &kh, &at7, &kP, &kN + }; + bool *sflags[] = { + &AM, &BS, &DA, &DB, &EO, &HC, +@@ -170,7 +171,12 @@ + addmac1(KD, "j", "down", arrows, 1); + addmac1(KL, "h", "left", arrows, 1); + addmac1(KR, "l", "right", arrows, 1); +- addmac1(KH, "H", "home", arrows, 1); ++ addmac1(kI, "i", "insert", arrows, 1); ++ addmac1(kD, "x", "delete", arrows, 1); ++ addmac1(kh, "^", "home", arrows, 1); ++ addmac1(at7, "$", "end", arrows, 1); ++ addmac1(kP, "", "pgup", arrows, 1); ++ addmac1(kN, "", "pgdn", arrows, 1); + + /* + * Handle funny termcap capabilities +@@ -341,7 +347,7 @@ + *(*fp++) = flag; + namp += 2; + } while (*namp); +- namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERI"; ++ namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERIkIkDkh@7kPkN"; + sp = sstrs; + do { + string = tgetstr(namp, &aoftspace); +diff -ru ex-050325/ex_tty.h ex-050325-du/ex_tty.h +--- ex-050325/ex_tty.h 2004-12-01 19:21:06.000000000 +0100 ++++ ex-050325-du/ex_tty.h 2009-06-25 20:06:05.000000000 +0200 +@@ -183,6 +183,15 @@ + var bool XX; /* Tektronix 4025 insert line */ + /* X? is reserved for severely nauseous glitches */ + /* If there are enough of these we may need bit masks! */ ++/* ++ * Insert, Delete, Home, End, PgUp an PgDown keys ++ */ ++var char *kI; ++var char *kD; ++var char *kh; ++var char *at7; ++var char *kP; ++var char *kN; + + /* + * From the tty modes... diff --git a/pkgbuilds/vi/preserve-dir.patch b/pkgbuilds/vi/preserve-dir.patch new file mode 100644 index 0000000..ddfe878 --- /dev/null +++ b/pkgbuilds/vi/preserve-dir.patch @@ -0,0 +1,99 @@ +diff -Naur ex-050325.ori/ex.1 ex-050325/ex.1 +--- ex-050325.ori/ex.1 2005-02-17 07:39:36.000000000 -0500 ++++ ex-050325/ex.1 2011-02-01 16:21:51.496666674 -0500 +@@ -1950,7 +1950,7 @@ + .B /var/tmp/Rx\fInnnnnnnnnn\fP + named buffer temporary + .TP +-.B /var/preserve ++.B /var/lib/ex + preservation directory + .SH DOCUMENTATION + The document +diff -Naur ex-050325.ori/expreserve.c ex-050325/expreserve.c +--- ex-050325.ori/expreserve.c 2005-03-04 07:44:46.000000000 -0500 ++++ ex-050325/expreserve.c 2011-02-01 16:22:06.583333342 -0500 +@@ -272,7 +272,7 @@ + #ifdef notdef + char pattern[] = "/usr/preserve/Exaa`XXXXX"; + #else +-char pattern[] = "/var/preserve/Exa`XXXXXXXXXX"; ++char pattern[] = "/var/lib/ex/Exa`XXXXXXXXXX"; + #endif + + /* +@@ -296,7 +296,7 @@ + timestamp = ctime(&time); + timestamp[16] = 0; /* blast from seconds on */ + putenv("MAILRC=/dev/null"); +- sprintf(cmd, "/bin/mail %s", pp->pw_name); ++ sprintf(cmd, "/usr/bin/mail %s", pp->pw_name); + setuid(getuid()); + mf = popen(cmd, "w"); + if (mf == NULL) +diff -Naur ex-050325.ori/exrecover.c ex-050325/exrecover.c +--- ex-050325.ori/exrecover.c 2005-03-04 07:44:46.000000000 -0500 ++++ ex-050325/exrecover.c 2011-02-01 16:21:51.496666674 -0500 +@@ -167,7 +167,7 @@ + #ifdef notdef + char mydir[] = "/usr/preserve"; + #else +-char mydir[] = "/var/preserve"; ++char mydir[] = "/var/lib/ex"; + #endif + + /* +diff -Naur ex-050325.ori/Makefile ex-050325/Makefile +--- ex-050325.ori/Makefile 2005-03-24 18:50:09.000000000 -0500 ++++ ex-050325/Makefile 2011-02-01 16:21:51.496666674 -0500 +@@ -83,7 +83,7 @@ + BINDIR = $(PREFIX)/bin + LIBEXECDIR = $(PREFIX)/libexec + MANDIR = $(PREFIX)/share/man +-PRESERVEDIR = /var/preserve ++PRESERVEDIR = /var/lib/ex + + # + # DESTDIR is prepended to the installation paths. It is mostly useful +diff -Naur ex-050325.ori/vi.1 ex-050325/vi.1 +--- ex-050325.ori/vi.1 2005-02-17 07:39:36.000000000 -0500 ++++ ex-050325/vi.1 2011-02-01 16:21:51.496666674 -0500 +@@ -979,7 +979,7 @@ + .B /var/tmp/Rx\fInnnnnnnnnn\fP + named buffer temporary + .TP +-.B /var/preserve ++.B /var/lib/ex + preservation directory + .SH SEE ALSO + ex(1), +--- ex-050325.original/ex.1 2012-01-27 20:43:00.602119283 +0100 ++++ ex-050325/ex.1 2012-01-27 20:47:24.535436516 +0100 +@@ -1932,10 +1932,10 @@ + Determines the terminal type. + .SH FILES + .TP +-.B /usr/libexec/expreserve ++.B /usr/lib/ex/expreserve + preserve command + .TP +-.B /usr/libexec/exrecover ++.B /usr/lib/ex/exrecover + recover command + .TP + .B /etc/termcap +--- ex-050325.original/vi.1 2012-01-27 20:43:00.602119283 +0100 ++++ ex-050325/vi.1 2012-01-27 20:46:33.815439611 +0100 +@@ -961,10 +961,10 @@ + Determines the terminal type. + .SH FILES + .TP +-.B /usr/libexec/expreserve ++.B /usr/lib/ex/expreserve + preserve command + .TP +-.B /usr/libexec/exrecover ++.B /usr/lib/ex/exrecover + recover command + .TP + .B /etc/termcap