nvi: fix build, use debian patches, and enable widechar support (#442968)

This commit is contained in:
Aleksana
2025-11-16 11:11:31 +00:00
committed by GitHub
3 changed files with 219 additions and 14 deletions

View File

@@ -0,0 +1,170 @@
# Generated by debian-patches.sh from debian-patches.txt
let
prefix = "https://sources.debian.org/data/main/n/nvi/1.81.6-23/debian/patches";
in
[
{
url = "${prefix}/01additional_upstream_data.patch";
sha256 = "0kqzch40sk66pszb2sp9197ih8rh4g0yawkf7na95x2rjcwzp8x7";
}
{
url = "${prefix}/03db4.patch";
sha256 = "0lcc9xqj76izll4x7v6wgrdbxjd6zyzsvrzb5mbkf4qlb86cy1d0";
}
{
url = "${prefix}/04confdefs.patch";
sha256 = "1x6vx3dxnn2qw5ihij3xvzyn80fgaxh7bqpnddz4gy028sl2jgmv";
}
{
url = "${prefix}/06default_value_escapetime.patch";
sha256 = "1kz2g517lyfrgz7f8blassz8984zb2bsv8dypiks87dmkc73859v";
}
{
url = "${prefix}/07flush_cache.patch";
sha256 = "041wsvcaki87r3n44251hqvfvjfsbydjvqkh99r3ky743qakcsn2";
}
{
url = "${prefix}/08lfs.patch";
sha256 = "0fv79kj31n0c2s8x4hk8d0897z1clwhchwcb8if2mqsxya3rdwr6";
}
{
url = "${prefix}/08safe_printf.patch";
sha256 = "0rn8bqcwjx7hw73mjfcbiq2454w297gh6ih0dn22r1fsx2lq3sn5";
}
{
url = "${prefix}/08tempfile_umask.patch";
sha256 = "0k06ha1z48z0kx8l4vi8cmmyqm9ma3mad3fj9p3b2wyzx092gs2n";
}
{
url = "${prefix}/09casting.patch";
sha256 = "1ni5rsrbwaahfwnlag9ivnxb8wy7px23i2ybxn3gnm20znmp6qy0";
}
{
url = "${prefix}/10no_one_line_visual.patch";
sha256 = "0hwqyjw5ql2n6p0yx9kpkb8yz2plwy5rbdnqcj2gcp2w4mb5mllf";
}
{
url = "${prefix}/11backward_sentence_moving.patch";
sha256 = "15b997gx0n4vqmkpxg2281dkklji7hryp0j8gvm1wyipakhvajbn";
}
{
url = "${prefix}/12horiz_scroll_count.patch";
sha256 = "1sh9p25ia44bqqkfkqw9zmfqwyjqkq41ycbqs7bvi9qi75qnl9n7";
}
{
url = "${prefix}/14private_regex_fixes.patch";
sha256 = "1k884rg8rmwjfs3zvfgrdhnrncsjdannd8jqp91jhvprnjf21j5h";
}
{
url = "${prefix}/16manpage_errors.patch";
sha256 = "1l46dl5hfigxlgzyzinsxlkrmfhc4zn63nkhcmr4qjjfrv7qa0hk";
}
{
url = "${prefix}/17tutorial_typos.patch";
sha256 = "18mlqg5n91jf6ydz54rf90324chzd9jfzh6zjjmxf2h8w996jbsg";
}
{
url = "${prefix}/18dbpagesize_binpower.patch";
sha256 = "0a4fnwkl13w8hz5v7ka4wgr9a86xcniqzxdp0baspp8vawdk57ha";
}
{
url = "${prefix}/19include_term_h.patch";
sha256 = "0k5hlfn0x8iiqfva5fz05qnfx4m1pyzfdx3pmlygsda605si1m9i";
}
{
url = "${prefix}/20glibc_has_grantpt.patch";
sha256 = "14x5p3g63p4mxnpcspi3h43qwj5vzpc955igk1pp14c65n3knrqr";
}
{
url = "${prefix}/21exrc_writability_check.patch";
sha256 = "03yc9vznklphk02vb59vzcz2dlvria4xmdb89iccn81x8lzcyixs";
}
{
url = "${prefix}/23debian_alternatives.patch";
sha256 = "1fnxlbv2aq16n4jcm1mpp672874bnz04i4vznpfx6jnxjnzd2px1";
}
{
url = "${prefix}/24fallback_to_dumb_term.patch";
sha256 = "00xhfa1fapgy7l76rx7q6jjlmymx8bpqlmc63myfficd42f8fzz7";
}
{
url = "${prefix}/25manpage_note_dropped_F.patch";
sha256 = "1gng9gaqrac2ps20hcs6w6zbipd4j1z7h6a0nsk1ip03xc1j87pl";
}
{
url = "${prefix}/26trailing_tab_segv.patch";
sha256 = "1iiswsng3h9xpf6ml80wsvbwd8rdvjavyc63hvml31paa1rwjncc";
}
{
url = "${prefix}/27support_C_locale.patch";
sha256 = "0g654xhv2al3y1x75yylhkqh588qmn69zjr7fm2wzngz91b8y56l";
}
{
url = "${prefix}/29file_backup.patch";
sha256 = "0jnjy6c447lh77c2xl3a5k2bpj4y90jdf43ca8c8hv0acxy0c3qm";
}
{
url = "${prefix}/30make_recover_script_init_ready.patch";
sha256 = "0b6lafcxqwmx7b6wkclhhjr022ffli2bwx7jkq6182zws0mz6ls2";
}
{
url = "${prefix}/31regex_heap_overflow.patch";
sha256 = "1wchrzk7931za9ksdribwxjdslk1vqshdy4987yhmafp73qi13yq";
}
{
url = "${prefix}/32allow_exec_of_nvi_opened_file.patch";
sha256 = "0mpvbpsn1hkb43h9cl1ix6jfyik8mmfrvfgsvrljk0hjrf91bn0a";
}
{
url = "${prefix}/33-fix-spelling-error.patch";
sha256 = "1cwyb4jvbyib7p2my49l7m3lf1dzvcazxzrz9wz39amrv3kyc09r";
}
{
url = "${prefix}/34-fix-long-line.patch";
sha256 = "0f1n19ax49lpvx3vc3gqpq26p6hfkz4x2ymigsd7ckm3hsn47pdd";
}
{
url = "${prefix}/35-fix-encoding.patch";
sha256 = "0g0rnmbwscxb81ll5v81g5vyk9vxx7mkqjcs8p53aj1xrk9a0nsn";
}
{
url = "${prefix}/upstream/0032-ex-ex_display.c-ex_display-fix-argument-checking-in-.patch";
sha256 = "108g8kwqdl33q0fsl8abr4qqfd62ldbk849j39nrwflhs4zpsmqi";
}
{
url = "${prefix}/upstream/0033-vi-v_increment.c-v_increment-fix-support-for-wide-ch.patch";
sha256 = "1iqzdvn8byd8852q4rpi4g06n03i6ix6jvhgwv4yc3y7s3irlvhk";
}
{
url = "${prefix}/upstream/0034-cut-fix-appending-to-unused-cut-buffer-and-support-f.patch";
sha256 = "1vp427d01gqlx6sijba9n8birbzlb54sh7aiyfy1xfjxk9pb76xa";
}
{
url = "${prefix}/upstream/0035-Word-search-ignored-word-end-boundaries.patch";
sha256 = "045980hrgs6a9rk8mif64z2jlq06qdk885g7vzqig3cqabv5915m";
}
{
url = "${prefix}/upstream/0036-Fix-how-keywords-are-picked-up.patch";
sha256 = "1fd2i2xs9k7il8r57hmdd3pimbsiyj326xigzc2skj5glnjd7lj0";
}
{
url = "${prefix}/upstream/0037-New-macro-MEMPCPY.patch";
sha256 = "16j8zry077fsyfyb45bj6blp797nmlnp553az5y1mcn7sbgr8vyx";
}
{
url = "${prefix}/upstream/0038-Fix-A-word-search-for-keywords-starting-with-a-non-w.patch";
sha256 = "0cy0v9g3arxda3zzwsbqp0m5y8mvf1fy1wd8ay4q82cfp0f3dcgh";
}
{
url = "${prefix}/0039-Add-function-prototypes-to-fix-implicit-function-dec.patch";
sha256 = "1w10cmqbasnmpw6613zmzxrrkfvzmqmdxki9k21jyakv7j0vwdii";
}
{
url = "${prefix}/0040-Add-more-function-prototypes-to-fix-Wimplicit-functi.patch";
sha256 = "0m13jaaylq1lxrmi0d2ppr9jg51s3q40chbxcv4jzdlx0bdxq8w1";
}
{
url = "${prefix}/0041-Fix-FTBFS-because-of-incompatible-pointer-type-error.patch";
sha256 = "1qvzrxfbk3ylr6cc3y94rlgfbdj2z14dhh6m09drkxb4bqcp2awv";
}
]

View File

@@ -0,0 +1,42 @@
nvi/1.81.6-23
01additional_upstream_data.patch
03db4.patch
04confdefs.patch
06default_value_escapetime.patch
07flush_cache.patch
08lfs.patch
08safe_printf.patch
08tempfile_umask.patch
09casting.patch
10no_one_line_visual.patch
11backward_sentence_moving.patch
12horiz_scroll_count.patch
14private_regex_fixes.patch
16manpage_errors.patch
17tutorial_typos.patch
18dbpagesize_binpower.patch
19include_term_h.patch
20glibc_has_grantpt.patch
21exrc_writability_check.patch
23debian_alternatives.patch
24fallback_to_dumb_term.patch
25manpage_note_dropped_F.patch
26trailing_tab_segv.patch
27support_C_locale.patch
29file_backup.patch
30make_recover_script_init_ready.patch
31regex_heap_overflow.patch
32allow_exec_of_nvi_opened_file.patch
33-fix-spelling-error.patch
34-fix-long-line.patch
35-fix-encoding.patch
upstream/0032-ex-ex_display.c-ex_display-fix-argument-checking-in-.patch
upstream/0033-vi-v_increment.c-v_increment-fix-support-for-wide-ch.patch
upstream/0034-cut-fix-appending-to-unused-cut-buffer-and-support-f.patch
upstream/0035-Word-search-ignored-word-end-boundaries.patch
upstream/0036-Fix-how-keywords-are-picked-up.patch
upstream/0037-New-macro-MEMPCPY.patch
upstream/0038-Fix-A-word-search-for-keywords-starting-with-a-non-w.patch
0039-Add-function-prototypes-to-fix-implicit-function-dec.patch
0040-Add-more-function-prototypes-to-fix-Wimplicit-functi.patch
0041-Fix-FTBFS-because-of-incompatible-pointer-type-error.patch

View File

@@ -16,19 +16,9 @@ stdenv.mkDerivation rec {
sha256 = "13cp9iz017bk6ryi05jn7drbv7a5dyr201zqd3r4r8srj644ihwb";
};
patches = [
# Fix runtime error with modern versions of db.
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/nvi/raw/f33/f/nvi-03-db4.patch";
sha256 = "1vpnly3dcldwl8gwl0jrh5yh0vhgbdhsh6xn7lnwhrawlvk6d55y";
})
# Fix build with Glibc.
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/nvi/raw/f33/f/nvi-20-glibc_has_grantpt.patch";
sha256 = "1ypqj263wh53m5rgiag5c4gy1rksj2waginny1lcj34n72p2dsml";
})
];
patches =
# Apply patches from debian package
map fetchurl (import ./debian-patches.nix);
buildInputs = [
ncurses
@@ -39,7 +29,10 @@ stdenv.mkDerivation rec {
cd build.unix
'';
configureScript = "../dist/configure";
configureFlags = [ "vi_cv_path_preserve=/tmp" ];
configureFlags = [
"vi_cv_path_preserve=/tmp"
"--enable-widechar"
];
meta = with lib; {
description = "Berkeley Vi Editor";