diff options
Diffstat (limited to 'pkgs/os-specific/linux/fbterm/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/fbterm/default.nix | 126 |
1 files changed, 84 insertions, 42 deletions
diff --git a/pkgs/os-specific/linux/fbterm/default.nix b/pkgs/os-specific/linux/fbterm/default.nix index 72e886b91f5..f762eca36be 100644 --- a/pkgs/os-specific/linux/fbterm/default.nix +++ b/pkgs/os-specific/linux/fbterm/default.nix @@ -1,61 +1,103 @@ -{stdenv, lib, fetchurl, gpm, freetype, fontconfig, pkg-config, 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; +{ stdenv +, autoreconfHook +, fetchFromGitLab +, fetchpatch +, fetchurl +, fontconfig +, freetype +, gpm +, lib +, ncurses +, pkg-config +}: + +stdenv.mkDerivation rec { + version = "1.7-2"; + pname = "fbterm"; + + src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "debian"; + repo = pname; + rev = "debian/${version}"; + hash = "sha256-vRUZgFpA1IkzkLzl7ImT+Yff5XqjFbUlkHmj/hd7XDE="; }; - nativeBuildInputs = [ pkg-config ncurses ]; - inherit buildInputs; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ncurses + ]; + buildInputs = [ + gpm + freetype + fontconfig + ncurses + ]; + + makeFlags = [ + "AR:=$(AR)" + ]; - 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" + # 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" + # ''; + + preInstall = '' + export HOME=$PWD ''; - preBuild = '' + + postInstall = + let + fbtermrc = fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fbtermrc?h=fbterm"; + hash = "sha256-zNIfi2ZjEGc5PLdOIirKGTXESb5Wm5XBAI1sfHa31LY="; + }; + in + '' mkdir -p "$out/share/terminfo" tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm - makeFlagsArray+=("AR=$AR") + + mkdir -p "$out/etc/fbterm" + cp "${fbtermrc}" "$out/etc/fbterm" ''; + # Patches from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=fbterm patches = [ - # fixes from Arch Linux package - (fetchurl { - url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/gcc-6-build-fixes.patch"; - sha256 = "1kl9fjnrri6pamjdl4jpkqxk5wxcf6jcchv5801xz8vxp4542m40"; + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fbconfig.patch?h=fbterm"; + hash = "sha256-skCdUqyMkkqxS1YUI7cofsfnNNo3SL/qe4WEIXlhm/s="; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/color_palette.patch?h=fbterm"; + hash = "sha256-SkWxzfapyBTtMpTXkiFHRAw8/uXw7cAWwg5Q3TqWlk8="; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fbterm.patch?h=fbterm"; + hash = "sha256-XNHBTGQGeaQPip2XgcKlr123VDwils2pnyiGqkBGhzU="; + }) + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-Fix-build-with-gcc-6.patch?h=fbterm"; + hash = "sha256-3d3zBvr5upICVVkd6tn63IhuB0sF67f62aKnf8KvOwg="; }) - (fetchurl { - url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/insertmode-fix.patch"; - sha256 = "1bad9mqcfpqb94lpx23lsamlhplil73ahzin2xjva0gl3gr1038l"; + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_ftbfs_crosscompile.patch?h=fbterm"; + hash = "sha256-jv/FSG6dHR0jKjPXQIfqsvpiT/XYzwv/VwuV+qUSovM="; }) - (fetchurl { - url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/miscoloring-fix.patch"; - sha256 = "1mjszji0jgs2jsagjp671fv0d1983wmxv009ff1jfhi9pbay6jd0"; + (fetchpatch { + url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_ftbfs_epoll.patch?h=fbterm"; + hash = "sha256-wkhfG0uY/5ZApcXTERkaKqz5IDpnilxUEcxull4645A="; }) - ./select.patch ]; meta = with lib; { - inherit (s) version; description = "Framebuffer terminal emulator"; - homepage = "https://code.google.com/archive/p/fbterm/"; - maintainers = [ maintainers.raskin ]; + homepage = "https://salsa.debian.org/debian/fbterm"; + maintainers = with maintainers; [ lovesegfault raskin ]; license = licenses.gpl2; platforms = platforms.linux; }; |