at 18.09-beta 60 lines 2.1 kB view raw
1{stdenv, lib, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses, libx86}: 2let 3 s = # Generated upstream information 4 rec { 5 baseName="fbterm"; 6 version="1.7.0"; 7 name="fbterm-1.7.0"; 8 hash="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; 9 url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/fbterm/fbterm-1.7.0.tar.gz"; 10 sha256="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; 11 }; 12 buildInputs = [gpm freetype fontconfig ncurses] 13 ++ lib.optional (stdenv.isi686 || stdenv.isx86_64) libx86; 14in 15stdenv.mkDerivation { 16 inherit (s) name version; 17 src = fetchurl { 18 inherit (s) url sha256; 19 }; 20 21 nativeBuildInputs = [ pkgconfig ]; 22 inherit buildInputs; 23 24 preConfigure = '' 25 sed -e '/ifdef SYS_signalfd/atypedef long long loff_t;' -i src/fbterm.cpp 26 sed -e '/install-exec-hook:/,/^[^\t]/{d}; /.NOEXPORT/iinstall-exec-hook:\ 27 ' -i src/Makefile.in 28 export HOME=$PWD; 29 export NIX_LDFLAGS="$NIX_LDFLAGS -lfreetype" 30 ''; 31 preBuild = '' 32 mkdir -p "$out/share/terminfo" 33 tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm 34 ''; 35 36 patches = [ 37 # fixes from Arch Linux package 38 (fetchurl { 39 url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/gcc-6-build-fixes.patch"; 40 sha256 = "1kl9fjnrri6pamjdl4jpkqxk5wxcf6jcchv5801xz8vxp4542m40"; 41 }) 42 (fetchurl { 43 url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/insertmode-fix.patch"; 44 sha256 = "1bad9mqcfpqb94lpx23lsamlhplil73ahzin2xjva0gl3gr1038l"; 45 }) 46 (fetchurl { 47 url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/miscoloring-fix.patch"; 48 sha256 = "1mjszji0jgs2jsagjp671fv0d1983wmxv009ff1jfhi9pbay6jd0"; 49 }) 50 ]; 51 52 meta = with stdenv.lib; { 53 inherit (s) version; 54 description = "Framebuffer terminal emulator"; 55 homepage = https://code.google.com/archive/p/fbterm/; 56 maintainers = [ maintainers.raskin ]; 57 license = licenses.gpl2; 58 platforms = platforms.linux; 59 }; 60}