From 812b738e2c03ae74a222f4d3a580137dead3de6b Mon Sep 17 00:00:00 2001 From: Bernardo Meurer Date: Tue, 18 Apr 2023 15:23:26 -0300 Subject: fbterm: update and use debian-maintained version Since upstream has been abandoned for years, let's use the source that's currently maintained by Debian devs. This also incorporates patches used by the Arch Linux packaging of fbterm, and cleans up the derivation --- pkgs/os-specific/linux/fbterm/default.nix | 105 +++++++++++++++++++++--------- 1 file changed, 76 insertions(+), 29 deletions(-) (limited to 'pkgs/os-specific/linux/fbterm') diff --git a/pkgs/os-specific/linux/fbterm/default.nix b/pkgs/os-specific/linux/fbterm/default.nix index cbea00ae184..9e89ad55531 100644 --- a/pkgs/os-specific/linux/fbterm/default.nix +++ b/pkgs/os-specific/linux/fbterm/default.nix @@ -1,52 +1,99 @@ -{ stdenv, lib, fetchurl, gpm, freetype, fontconfig, pkg-config, ncurses, libx86 }: +{ stdenv +, autoreconfHook +, fetchFromGitLab +, fetchpatch +, fetchurl +, fontconfig +, freetype +, gpm +, lib +, ncurses +, pkg-config +}: stdenv.mkDerivation rec { - version = "1.7.0"; + version = "1.7-2"; pname = "fbterm"; - src = fetchurl { - url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/fbterm/fbterm-${version}.tar.gz"; - sha256 = "0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; + src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "debian"; + repo = pname; + rev = "debian/${version}"; + hash = "sha256-vRUZgFpA1IkzkLzl7ImT+Yff5XqjFbUlkHmj/hd7XDE="; }; - nativeBuildInputs = [ pkg-config ncurses ]; - buildInputs = [ gpm freetype fontconfig ncurses ] - ++ lib.optional stdenv.hostPlatform.isx86 libx86; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ncurses + ]; + buildInputs = [ + gpm + freetype + fontconfig + ncurses + ]; - 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; { description = "Framebuffer terminal emulator"; - homepage = "https://code.google.com/archive/p/fbterm/"; - maintainers = with maintainers; [ raskin ]; + homepage = "https://salsa.debian.org/debian/fbterm"; + maintainers = with maintainers; [ lovesegfault raskin ]; license = licenses.gpl2; platforms = platforms.linux; }; -- cgit 1.4.1