diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/fbterm')
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/fbterm/default.nix | 62 | ||||
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/fbterm/select.patch | 12 |
2 files changed, 74 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix b/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix new file mode 100644 index 000000000000..2b049bc6df5d --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/fbterm/default.nix @@ -0,0 +1,62 @@ +{stdenv, lib, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses, libx86}: +let + s = # Generated upstream information + { + baseName="fbterm"; + version="1.7.0"; + name="fbterm-1.7.0"; + hash="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; + url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/fbterm/fbterm-1.7.0.tar.gz"; + sha256="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; + }; + buildInputs = [gpm freetype fontconfig ncurses] + ++ lib.optional (stdenv.isi686 || stdenv.isx86_64) libx86; +in +stdenv.mkDerivation { + inherit (s) name version; + src = fetchurl { + inherit (s) url sha256; + }; + + nativeBuildInputs = [ pkgconfig ncurses ]; + inherit buildInputs; + + preConfigure = '' + sed -e '/ifdef SYS_signalfd/atypedef long long loff_t;' -i src/fbterm.cpp + sed -e '/install-exec-hook:/,/^[^\t]/{d}; /.NOEXPORT/iinstall-exec-hook:\ + ' -i src/Makefile.in + export HOME=$PWD; + export NIX_LDFLAGS="$NIX_LDFLAGS -lfreetype" + ''; + preBuild = '' + mkdir -p "$out/share/terminfo" + tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm + makeFlagsArray+=("AR=$AR") + ''; + + patches = [ + # fixes from Arch Linux package + (fetchurl { + url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/gcc-6-build-fixes.patch"; + sha256 = "1kl9fjnrri6pamjdl4jpkqxk5wxcf6jcchv5801xz8vxp4542m40"; + }) + (fetchurl { + url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/insertmode-fix.patch"; + sha256 = "1bad9mqcfpqb94lpx23lsamlhplil73ahzin2xjva0gl3gr1038l"; + }) + (fetchurl { + url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/miscoloring-fix.patch"; + sha256 = "1mjszji0jgs2jsagjp671fv0d1983wmxv009ff1jfhi9pbay6jd0"; + }) + ./select.patch + ]; + + meta = with stdenv.lib; { + inherit (s) version; + description = "Framebuffer terminal emulator"; + homepage = "https://code.google.com/archive/p/fbterm/"; + maintainers = [ maintainers.raskin ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/os-specific/linux/fbterm/select.patch b/nixpkgs/pkgs/os-specific/linux/fbterm/select.patch new file mode 100644 index 000000000000..549674047a93 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/fbterm/select.patch @@ -0,0 +1,12 @@ +diff --git a/src/fbio.cpp b/src/fbio.cpp +index e5afc44..2485227 100644 +--- a/src/fbio.cpp ++++ b/src/fbio.cpp +@@ -18,6 +18,7 @@ + * + */ + ++#include <sys/select.h> + #include <unistd.h> + #include <fcntl.h> + #include "config.h" |