uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,116 @@
{ lib, stdenv, fetchurl, fetchpatch, makeDesktopItem
, libX11, libXt, libXft, libXrender
, ncurses, fontconfig, freetype
, pkg-config, gdk-pixbuf, perl
, libptytty
, perlSupport ? true
, gdkPixbufSupport ? true
, unicode3Support ? true
, emojiSupport ? false
, nixosTests
}:
let
pname = "rxvt-unicode";
version = "9.30";
description = "A clone of the well-known terminal emulator rxvt";
desktopItem = makeDesktopItem {
name = pname;
exec = "urxvt";
icon = "utilities-terminal";
comment = description;
desktopName = "URxvt";
genericName = pname;
categories = [ "System" "TerminalEmulator" ];
};
fetchPatchFromAUR = { package, name, rev, sha256 }:
fetchpatch rec {
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=${package}&id=${rev}";
extraPrefix = "";
inherit name sha256;
};
in
with lib;
stdenv.mkDerivation {
name = "${pname}-unwrapped-${version}";
inherit pname version;
src = fetchurl {
url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
sha256 = "0badnkjsn3zps24r5iggj8k5v4f00npc77wqg92pcn1q5z8r677y";
};
buildInputs =
[ libX11 libXt libXft ncurses # required to build the terminfo file
fontconfig freetype pkg-config libXrender
libptytty
] ++ optional perlSupport perl
++ optional gdkPixbufSupport gdk-pixbuf;
outputs = [ "out" "terminfo" ];
patches = (if emojiSupport then [
# the required patches to libXft are in nixpkgs by default, see
# ../../../servers/x11/xorg/overrides.nix
(fetchPatchFromAUR {
name = "enable-wide-glyphs.patch";
package = "rxvt-unicode-truecolor-wide-glyphs";
rev = "69701a09c2c206233952b84bc966407f6774f1dc";
sha256 = "0jfcj0ahky4dxdfrhqvh1v83mblhf5nak56dk1vq3bhyifdg7ffq";
})
(fetchPatchFromAUR {
name = "improve-font-rendering.patch";
package = "rxvt-unicode-truecolor-wide-glyphs";
rev = "69701a09c2c206233952b84bc966407f6774f1dc";
sha256 = "1jj5ai2182nq912279adihi4zph1w4dvbdqa1pwacy4na6y0fz9y";
})
] else [
./patches/9.06-font-width.patch
]) ++ [
./patches/256-color-resources.patch
]++ optional stdenv.isDarwin ./patches/makefile-phony.patch;
configureFlags = [
"--with-terminfo=${placeholder "terminfo"}/share/terminfo"
"--enable-256-color"
(enableFeature perlSupport "perl")
(enableFeature unicode3Support "unicode3")
] ++ optional emojiSupport "--enable-wide-glyphs";
LDFLAGS = [ "-lfontconfig" "-lXrender" "-lpthread" ];
CFLAGS = [ "-I${freetype.dev}/include/freetype2" ];
preConfigure =
''
# without this the terminfo won't be compiled by tic, see man tic
mkdir -p $terminfo/share/terminfo
export TERMINFO=$terminfo/share/terminfo
''
+ lib.optionalString perlSupport ''
# make urxvt find its perl file lib/perl5/site_perl
# is added to PERL5LIB automatically
mkdir -p $out/$(dirname ${perl.libPrefix})
ln -s $out/lib/urxvt $out/${perl.libPrefix}
'';
postInstall = ''
mkdir -p $out/nix-support
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
cp -r ${desktopItem}/share/applications/ $out/share/
'';
passthru.tests.test = nixosTests.terminal-emulators.urxvt;
meta = {
inherit description;
homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/";
maintainers = with maintainers; [ rnhmjoj ];
platforms = platforms.unix;
license = licenses.gpl3;
};
}

View file

@ -0,0 +1,255 @@
diff --git a/src/xdefaults.C b/src/xdefaults.C
index 23b6822..382f3b1 100644
--- a/src/xdefaults.C
+++ b/src/xdefaults.C
@@ -155,6 +155,250 @@ optList[] = {
RSTRG (Rs_color + minCOLOR + 5, "color5", "color"),
RSTRG (Rs_color + minCOLOR + 6, "color6", "color"),
RSTRG (Rs_color + minCOLOR + 7, "color7", "color"),
+ // 88 xterm colors
+ RSTRG (Rs_color + minCOLOR + 16, "color16", "color"),
+ RSTRG (Rs_color + minCOLOR + 17, "color17", "color"),
+ RSTRG (Rs_color + minCOLOR + 18, "color18", "color"),
+ RSTRG (Rs_color + minCOLOR + 19, "color19", "color"),
+ RSTRG (Rs_color + minCOLOR + 20, "color20", "color"),
+ RSTRG (Rs_color + minCOLOR + 21, "color21", "color"),
+ RSTRG (Rs_color + minCOLOR + 22, "color22", "color"),
+ RSTRG (Rs_color + minCOLOR + 23, "color23", "color"),
+ RSTRG (Rs_color + minCOLOR + 24, "color24", "color"),
+ RSTRG (Rs_color + minCOLOR + 25, "color25", "color"),
+ RSTRG (Rs_color + minCOLOR + 26, "color26", "color"),
+ RSTRG (Rs_color + minCOLOR + 27, "color27", "color"),
+ RSTRG (Rs_color + minCOLOR + 28, "color28", "color"),
+ RSTRG (Rs_color + minCOLOR + 29, "color29", "color"),
+ RSTRG (Rs_color + minCOLOR + 30, "color30", "color"),
+ RSTRG (Rs_color + minCOLOR + 31, "color31", "color"),
+ RSTRG (Rs_color + minCOLOR + 32, "color32", "color"),
+ RSTRG (Rs_color + minCOLOR + 33, "color33", "color"),
+ RSTRG (Rs_color + minCOLOR + 34, "color34", "color"),
+ RSTRG (Rs_color + minCOLOR + 35, "color35", "color"),
+ RSTRG (Rs_color + minCOLOR + 36, "color36", "color"),
+ RSTRG (Rs_color + minCOLOR + 37, "color37", "color"),
+ RSTRG (Rs_color + minCOLOR + 38, "color38", "color"),
+ RSTRG (Rs_color + minCOLOR + 39, "color39", "color"),
+ RSTRG (Rs_color + minCOLOR + 40, "color40", "color"),
+ RSTRG (Rs_color + minCOLOR + 41, "color41", "color"),
+ RSTRG (Rs_color + minCOLOR + 42, "color42", "color"),
+ RSTRG (Rs_color + minCOLOR + 43, "color43", "color"),
+ RSTRG (Rs_color + minCOLOR + 44, "color44", "color"),
+ RSTRG (Rs_color + minCOLOR + 45, "color45", "color"),
+ RSTRG (Rs_color + minCOLOR + 46, "color46", "color"),
+ RSTRG (Rs_color + minCOLOR + 47, "color47", "color"),
+ RSTRG (Rs_color + minCOLOR + 48, "color48", "color"),
+ RSTRG (Rs_color + minCOLOR + 49, "color49", "color"),
+ RSTRG (Rs_color + minCOLOR + 50, "color50", "color"),
+ RSTRG (Rs_color + minCOLOR + 51, "color51", "color"),
+ RSTRG (Rs_color + minCOLOR + 52, "color52", "color"),
+ RSTRG (Rs_color + minCOLOR + 53, "color53", "color"),
+ RSTRG (Rs_color + minCOLOR + 54, "color54", "color"),
+ RSTRG (Rs_color + minCOLOR + 55, "color55", "color"),
+ RSTRG (Rs_color + minCOLOR + 56, "color56", "color"),
+ RSTRG (Rs_color + minCOLOR + 57, "color57", "color"),
+ RSTRG (Rs_color + minCOLOR + 58, "color58", "color"),
+ RSTRG (Rs_color + minCOLOR + 59, "color59", "color"),
+ RSTRG (Rs_color + minCOLOR + 60, "color60", "color"),
+ RSTRG (Rs_color + minCOLOR + 61, "color61", "color"),
+ RSTRG (Rs_color + minCOLOR + 62, "color62", "color"),
+ RSTRG (Rs_color + minCOLOR + 63, "color63", "color"),
+ RSTRG (Rs_color + minCOLOR + 64, "color64", "color"),
+ RSTRG (Rs_color + minCOLOR + 65, "color65", "color"),
+ RSTRG (Rs_color + minCOLOR + 66, "color66", "color"),
+ RSTRG (Rs_color + minCOLOR + 67, "color67", "color"),
+ RSTRG (Rs_color + minCOLOR + 68, "color68", "color"),
+ RSTRG (Rs_color + minCOLOR + 69, "color69", "color"),
+ RSTRG (Rs_color + minCOLOR + 70, "color70", "color"),
+ RSTRG (Rs_color + minCOLOR + 71, "color71", "color"),
+ RSTRG (Rs_color + minCOLOR + 72, "color72", "color"),
+ RSTRG (Rs_color + minCOLOR + 73, "color73", "color"),
+ RSTRG (Rs_color + minCOLOR + 74, "color74", "color"),
+ RSTRG (Rs_color + minCOLOR + 75, "color75", "color"),
+ RSTRG (Rs_color + minCOLOR + 76, "color76", "color"),
+ RSTRG (Rs_color + minCOLOR + 77, "color77", "color"),
+ RSTRG (Rs_color + minCOLOR + 78, "color78", "color"),
+ RSTRG (Rs_color + minCOLOR + 79, "color79", "color"),
+ RSTRG (Rs_color + minCOLOR + 80, "color80", "color"),
+ RSTRG (Rs_color + minCOLOR + 81, "color81", "color"),
+ RSTRG (Rs_color + minCOLOR + 82, "color82", "color"),
+ RSTRG (Rs_color + minCOLOR + 83, "color83", "color"),
+ RSTRG (Rs_color + minCOLOR + 84, "color84", "color"),
+ RSTRG (Rs_color + minCOLOR + 85, "color85", "color"),
+ RSTRG (Rs_color + minCOLOR + 86, "color86", "color"),
+ RSTRG (Rs_color + minCOLOR + 87, "color87", "color"),
+#if USE_256_COLORS
+ // 256 xterm colors
+ RSTRG (Rs_color + minCOLOR + 88, "color88", "color"),
+ RSTRG (Rs_color + minCOLOR + 89, "color89", "color"),
+ RSTRG (Rs_color + minCOLOR + 90, "color90", "color"),
+ RSTRG (Rs_color + minCOLOR + 91, "color91", "color"),
+ RSTRG (Rs_color + minCOLOR + 92, "color92", "color"),
+ RSTRG (Rs_color + minCOLOR + 93, "color93", "color"),
+ RSTRG (Rs_color + minCOLOR + 94, "color94", "color"),
+ RSTRG (Rs_color + minCOLOR + 95, "color95", "color"),
+ RSTRG (Rs_color + minCOLOR + 96, "color96", "color"),
+ RSTRG (Rs_color + minCOLOR + 97, "color97", "color"),
+ RSTRG (Rs_color + minCOLOR + 98, "color98", "color"),
+ RSTRG (Rs_color + minCOLOR + 99, "color99", "color"),
+ RSTRG (Rs_color + minCOLOR + 100, "color100", "color"),
+ RSTRG (Rs_color + minCOLOR + 101, "color101", "color"),
+ RSTRG (Rs_color + minCOLOR + 102, "color102", "color"),
+ RSTRG (Rs_color + minCOLOR + 103, "color103", "color"),
+ RSTRG (Rs_color + minCOLOR + 104, "color104", "color"),
+ RSTRG (Rs_color + minCOLOR + 105, "color105", "color"),
+ RSTRG (Rs_color + minCOLOR + 106, "color106", "color"),
+ RSTRG (Rs_color + minCOLOR + 107, "color107", "color"),
+ RSTRG (Rs_color + minCOLOR + 108, "color108", "color"),
+ RSTRG (Rs_color + minCOLOR + 109, "color109", "color"),
+ RSTRG (Rs_color + minCOLOR + 110, "color110", "color"),
+ RSTRG (Rs_color + minCOLOR + 111, "color111", "color"),
+ RSTRG (Rs_color + minCOLOR + 112, "color112", "color"),
+ RSTRG (Rs_color + minCOLOR + 113, "color113", "color"),
+ RSTRG (Rs_color + minCOLOR + 114, "color114", "color"),
+ RSTRG (Rs_color + minCOLOR + 115, "color115", "color"),
+ RSTRG (Rs_color + minCOLOR + 116, "color116", "color"),
+ RSTRG (Rs_color + minCOLOR + 117, "color117", "color"),
+ RSTRG (Rs_color + minCOLOR + 118, "color118", "color"),
+ RSTRG (Rs_color + minCOLOR + 119, "color119", "color"),
+ RSTRG (Rs_color + minCOLOR + 120, "color120", "color"),
+ RSTRG (Rs_color + minCOLOR + 121, "color121", "color"),
+ RSTRG (Rs_color + minCOLOR + 122, "color122", "color"),
+ RSTRG (Rs_color + minCOLOR + 123, "color123", "color"),
+ RSTRG (Rs_color + minCOLOR + 124, "color124", "color"),
+ RSTRG (Rs_color + minCOLOR + 125, "color125", "color"),
+ RSTRG (Rs_color + minCOLOR + 126, "color126", "color"),
+ RSTRG (Rs_color + minCOLOR + 127, "color127", "color"),
+ RSTRG (Rs_color + minCOLOR + 128, "color128", "color"),
+ RSTRG (Rs_color + minCOLOR + 129, "color129", "color"),
+ RSTRG (Rs_color + minCOLOR + 130, "color130", "color"),
+ RSTRG (Rs_color + minCOLOR + 131, "color131", "color"),
+ RSTRG (Rs_color + minCOLOR + 132, "color132", "color"),
+ RSTRG (Rs_color + minCOLOR + 133, "color133", "color"),
+ RSTRG (Rs_color + minCOLOR + 134, "color134", "color"),
+ RSTRG (Rs_color + minCOLOR + 135, "color135", "color"),
+ RSTRG (Rs_color + minCOLOR + 136, "color136", "color"),
+ RSTRG (Rs_color + minCOLOR + 137, "color137", "color"),
+ RSTRG (Rs_color + minCOLOR + 138, "color138", "color"),
+ RSTRG (Rs_color + minCOLOR + 139, "color139", "color"),
+ RSTRG (Rs_color + minCOLOR + 140, "color140", "color"),
+ RSTRG (Rs_color + minCOLOR + 141, "color141", "color"),
+ RSTRG (Rs_color + minCOLOR + 142, "color142", "color"),
+ RSTRG (Rs_color + minCOLOR + 143, "color143", "color"),
+ RSTRG (Rs_color + minCOLOR + 144, "color144", "color"),
+ RSTRG (Rs_color + minCOLOR + 145, "color145", "color"),
+ RSTRG (Rs_color + minCOLOR + 146, "color146", "color"),
+ RSTRG (Rs_color + minCOLOR + 147, "color147", "color"),
+ RSTRG (Rs_color + minCOLOR + 148, "color148", "color"),
+ RSTRG (Rs_color + minCOLOR + 149, "color149", "color"),
+ RSTRG (Rs_color + minCOLOR + 150, "color150", "color"),
+ RSTRG (Rs_color + minCOLOR + 151, "color151", "color"),
+ RSTRG (Rs_color + minCOLOR + 152, "color152", "color"),
+ RSTRG (Rs_color + minCOLOR + 153, "color153", "color"),
+ RSTRG (Rs_color + minCOLOR + 154, "color154", "color"),
+ RSTRG (Rs_color + minCOLOR + 155, "color155", "color"),
+ RSTRG (Rs_color + minCOLOR + 156, "color156", "color"),
+ RSTRG (Rs_color + minCOLOR + 157, "color157", "color"),
+ RSTRG (Rs_color + minCOLOR + 158, "color158", "color"),
+ RSTRG (Rs_color + minCOLOR + 159, "color159", "color"),
+ RSTRG (Rs_color + minCOLOR + 160, "color160", "color"),
+ RSTRG (Rs_color + minCOLOR + 161, "color161", "color"),
+ RSTRG (Rs_color + minCOLOR + 162, "color162", "color"),
+ RSTRG (Rs_color + minCOLOR + 163, "color163", "color"),
+ RSTRG (Rs_color + minCOLOR + 164, "color164", "color"),
+ RSTRG (Rs_color + minCOLOR + 165, "color165", "color"),
+ RSTRG (Rs_color + minCOLOR + 166, "color166", "color"),
+ RSTRG (Rs_color + minCOLOR + 167, "color167", "color"),
+ RSTRG (Rs_color + minCOLOR + 168, "color168", "color"),
+ RSTRG (Rs_color + minCOLOR + 169, "color169", "color"),
+ RSTRG (Rs_color + minCOLOR + 170, "color170", "color"),
+ RSTRG (Rs_color + minCOLOR + 171, "color171", "color"),
+ RSTRG (Rs_color + minCOLOR + 172, "color172", "color"),
+ RSTRG (Rs_color + minCOLOR + 173, "color173", "color"),
+ RSTRG (Rs_color + minCOLOR + 174, "color174", "color"),
+ RSTRG (Rs_color + minCOLOR + 175, "color175", "color"),
+ RSTRG (Rs_color + minCOLOR + 176, "color176", "color"),
+ RSTRG (Rs_color + minCOLOR + 177, "color177", "color"),
+ RSTRG (Rs_color + minCOLOR + 178, "color178", "color"),
+ RSTRG (Rs_color + minCOLOR + 179, "color179", "color"),
+ RSTRG (Rs_color + minCOLOR + 180, "color180", "color"),
+ RSTRG (Rs_color + minCOLOR + 181, "color181", "color"),
+ RSTRG (Rs_color + minCOLOR + 182, "color182", "color"),
+ RSTRG (Rs_color + minCOLOR + 183, "color183", "color"),
+ RSTRG (Rs_color + minCOLOR + 184, "color184", "color"),
+ RSTRG (Rs_color + minCOLOR + 185, "color185", "color"),
+ RSTRG (Rs_color + minCOLOR + 186, "color186", "color"),
+ RSTRG (Rs_color + minCOLOR + 187, "color187", "color"),
+ RSTRG (Rs_color + minCOLOR + 188, "color188", "color"),
+ RSTRG (Rs_color + minCOLOR + 189, "color189", "color"),
+ RSTRG (Rs_color + minCOLOR + 190, "color190", "color"),
+ RSTRG (Rs_color + minCOLOR + 191, "color191", "color"),
+ RSTRG (Rs_color + minCOLOR + 192, "color192", "color"),
+ RSTRG (Rs_color + minCOLOR + 193, "color193", "color"),
+ RSTRG (Rs_color + minCOLOR + 194, "color194", "color"),
+ RSTRG (Rs_color + minCOLOR + 195, "color195", "color"),
+ RSTRG (Rs_color + minCOLOR + 196, "color196", "color"),
+ RSTRG (Rs_color + minCOLOR + 197, "color197", "color"),
+ RSTRG (Rs_color + minCOLOR + 198, "color198", "color"),
+ RSTRG (Rs_color + minCOLOR + 199, "color199", "color"),
+ RSTRG (Rs_color + minCOLOR + 200, "color200", "color"),
+ RSTRG (Rs_color + minCOLOR + 201, "color201", "color"),
+ RSTRG (Rs_color + minCOLOR + 202, "color202", "color"),
+ RSTRG (Rs_color + minCOLOR + 203, "color203", "color"),
+ RSTRG (Rs_color + minCOLOR + 204, "color204", "color"),
+ RSTRG (Rs_color + minCOLOR + 205, "color205", "color"),
+ RSTRG (Rs_color + minCOLOR + 206, "color206", "color"),
+ RSTRG (Rs_color + minCOLOR + 207, "color207", "color"),
+ RSTRG (Rs_color + minCOLOR + 208, "color208", "color"),
+ RSTRG (Rs_color + minCOLOR + 209, "color209", "color"),
+ RSTRG (Rs_color + minCOLOR + 210, "color210", "color"),
+ RSTRG (Rs_color + minCOLOR + 211, "color211", "color"),
+ RSTRG (Rs_color + minCOLOR + 212, "color212", "color"),
+ RSTRG (Rs_color + minCOLOR + 213, "color213", "color"),
+ RSTRG (Rs_color + minCOLOR + 214, "color214", "color"),
+ RSTRG (Rs_color + minCOLOR + 215, "color215", "color"),
+ RSTRG (Rs_color + minCOLOR + 216, "color216", "color"),
+ RSTRG (Rs_color + minCOLOR + 217, "color217", "color"),
+ RSTRG (Rs_color + minCOLOR + 218, "color218", "color"),
+ RSTRG (Rs_color + minCOLOR + 219, "color219", "color"),
+ RSTRG (Rs_color + minCOLOR + 220, "color220", "color"),
+ RSTRG (Rs_color + minCOLOR + 221, "color221", "color"),
+ RSTRG (Rs_color + minCOLOR + 222, "color222", "color"),
+ RSTRG (Rs_color + minCOLOR + 223, "color223", "color"),
+ RSTRG (Rs_color + minCOLOR + 224, "color224", "color"),
+ RSTRG (Rs_color + minCOLOR + 225, "color225", "color"),
+ RSTRG (Rs_color + minCOLOR + 226, "color226", "color"),
+ RSTRG (Rs_color + minCOLOR + 227, "color227", "color"),
+ RSTRG (Rs_color + minCOLOR + 228, "color228", "color"),
+ RSTRG (Rs_color + minCOLOR + 229, "color229", "color"),
+ RSTRG (Rs_color + minCOLOR + 230, "color230", "color"),
+ RSTRG (Rs_color + minCOLOR + 231, "color231", "color"),
+ RSTRG (Rs_color + minCOLOR + 232, "color232", "color"),
+ RSTRG (Rs_color + minCOLOR + 233, "color233", "color"),
+ RSTRG (Rs_color + minCOLOR + 234, "color234", "color"),
+ RSTRG (Rs_color + minCOLOR + 235, "color235", "color"),
+ RSTRG (Rs_color + minCOLOR + 236, "color236", "color"),
+ RSTRG (Rs_color + minCOLOR + 237, "color237", "color"),
+ RSTRG (Rs_color + minCOLOR + 238, "color238", "color"),
+ RSTRG (Rs_color + minCOLOR + 239, "color239", "color"),
+ RSTRG (Rs_color + minCOLOR + 240, "color240", "color"),
+ RSTRG (Rs_color + minCOLOR + 241, "color241", "color"),
+ RSTRG (Rs_color + minCOLOR + 242, "color242", "color"),
+ RSTRG (Rs_color + minCOLOR + 243, "color243", "color"),
+ RSTRG (Rs_color + minCOLOR + 244, "color244", "color"),
+ RSTRG (Rs_color + minCOLOR + 245, "color245", "color"),
+ RSTRG (Rs_color + minCOLOR + 246, "color246", "color"),
+ RSTRG (Rs_color + minCOLOR + 247, "color247", "color"),
+ RSTRG (Rs_color + minCOLOR + 248, "color248", "color"),
+ RSTRG (Rs_color + minCOLOR + 249, "color249", "color"),
+ RSTRG (Rs_color + minCOLOR + 250, "color250", "color"),
+ RSTRG (Rs_color + minCOLOR + 251, "color251", "color"),
+ RSTRG (Rs_color + minCOLOR + 252, "color252", "color"),
+ RSTRG (Rs_color + minCOLOR + 253, "color253", "color"),
+ RSTRG (Rs_color + minCOLOR + 254, "color254", "color"),
+ RSTRG (Rs_color + minCOLOR + 255, "color255", "color"),
+#endif
RSTRG (Rs_color + minBrightCOLOR + 0, "color8", "color"),
RSTRG (Rs_color + minBrightCOLOR + 1, "color9", "color"),
RSTRG (Rs_color + minBrightCOLOR + 2, "color10", "color"),

View file

@ -0,0 +1,21 @@
--- a/src/rxvtfont.C 2008-07-09 12:21:45.000000000 +0400
+++ b/src/rxvtfont.C 2009-10-30 14:32:53.000000000 +0300
@@ -1195,12 +1195,14 @@
XGlyphInfo g;
XftTextExtents16 (disp, f, &ch, 1, &g);
- g.width -= g.x;
-
+/*
+ * bukind: don't use g.width as a width of a character!
+ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial
+ */
int wcw = WCWIDTH (ch);
- if (wcw > 0) g.width = (g.width + wcw - 1) / wcw;
+ if (wcw > 1) g.xOff = g.xOff / wcw;
+ if (width < g.xOff) width = g.xOff;
- if (width < g.width ) width = g.width;
if (height < g.height ) height = g.height;
if (glheight < g.height - g.y) glheight = g.height - g.y;
}

View file

@ -0,0 +1,10 @@
--- a/Makefile.in 2015-01-13 08:52:30.000000000 +0100
+++ b/Makefile.in 2015-01-13 08:52:58.000000000 +0100
@@ -30,6 +30,7 @@
subdirs = src doc
RECURSIVE_TARGETS = all allbin alldoc tags clean distclean realclean install
+.PHONY: $(RECURSIVE_TARGETS)
#-------------------------------------------------------------------------

View file

@ -0,0 +1,62 @@
{ callPackage
, symlinkJoin
, makeWrapper
, lib
, rxvt-unicode-unwrapped
, rxvt-unicode-plugins
, perlPackages
, nixosTests
, configure ? { availablePlugins, ... }:
{ plugins = builtins.attrValues availablePlugins;
extraDeps = [ ];
perlDeps = [ ];
}
}:
let
availablePlugins = rxvt-unicode-plugins;
# Transform the string "self" to the plugin itself.
# It's needed for plugins like bidi who depends on the perl
# package they provide themself.
mkPerlDeps = p:
let deps = p.perlPackages or [ ];
in map (x: if x == "self" then p else x) deps;
# The wrapper is called with a `configure` function
# that takes the urxvt plugins as input and produce
# the configuration of the wrapper: list of plugins,
# extra dependencies and perl dependencies.
# This provides simple way to customize urxvt using
# the `.override` mechanism.
wrapper = { configure, ... }:
let
config = configure { inherit availablePlugins; };
plugins = config.plugins or (builtins.attrValues availablePlugins);
extraDeps = config.extraDeps or [ ];
perlDeps = (config.perlDeps or [ ]) ++ lib.concatMap mkPerlDeps plugins;
in
symlinkJoin {
name = "rxvt-unicode-${rxvt-unicode-unwrapped.version}";
paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps;
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/urxvt \
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
wrapProgram $out/bin/urxvtd \
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
'';
passthru = {
plugins = plugins;
tests.test = nixosTests.terminal-emulators.urxvt;
};
};
in
lib.makeOverridable wrapper { inherit configure; }