diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-05-31 09:59:33 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-05-31 09:59:57 +0000 |
commit | 9ff36293d1e428cd7bf03e8d4b03611b6d361c28 (patch) | |
tree | 1ab51a42b868c55b83f6ccdb80371b9888739dd9 /pkgs/applications/terminal-emulators/rxvt-unicode/default.nix | |
parent | 1c4fcd0d4b0541e674ee56ace1053e23e562cc80 (diff) | |
parent | ddc3c396a51918043bb0faa6f676abd9562be62c (diff) | |
download | nixpkgs-archive.tar nixpkgs-archive.tar.gz nixpkgs-archive.tar.bz2 nixpkgs-archive.tar.lz nixpkgs-archive.tar.xz nixpkgs-archive.tar.zst nixpkgs-archive.zip |
Last good Nixpkgs for Weston+nouveau? archive
I came this commit hash to terwiz[m] on IRC, who is trying to figure out what the last version of Spectrum that worked on their NUC with Nvidia graphics is.
Diffstat (limited to 'pkgs/applications/terminal-emulators/rxvt-unicode/default.nix')
-rw-r--r-- | pkgs/applications/terminal-emulators/rxvt-unicode/default.nix | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix new file mode 100644 index 00000000000..0eccceb5a4f --- /dev/null +++ b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix @@ -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; + }; +} |