89 lines
2.6 KiB
Nix
89 lines
2.6 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitLab,
|
|
fetchpatch2,
|
|
autoreconfHook,
|
|
ncurses,
|
|
SDL,
|
|
gpm,
|
|
miniupnpc,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "qodem";
|
|
version = "1.0.1-unstable-2022-02-12";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "AutumnMeowMeow";
|
|
repo = "qodem";
|
|
rev = "69cc7458ef23243f790348a4cc503a8173008e55";
|
|
hash = "sha256-Ocb2inuxeDOfqge+h7pHL9I9Kn72Mgi8Eq179/58alk=";
|
|
};
|
|
|
|
patches = [
|
|
# Fix ICH with count>1
|
|
# https://gitlab.com/AutumnMeowMeow/qodem/-/issues/77
|
|
(fetchpatch2 {
|
|
url = "https://gitlab.com/-/project/6684464/uploads/c2ceaef82d483c13ff9ec64424f3c40a/0001-Fix-ICH-with-count-1.patch";
|
|
hash = "sha256-lCqj4p8onUS4pehQMXS6lbC7JH5dP6sOjDALpasgd2M=";
|
|
})
|
|
|
|
# Don't clear line rendition on partial ED
|
|
# https://gitlab.com/AutumnMeowMeow/qodem/-/issues/78
|
|
(fetchpatch2 {
|
|
url = "https://gitlab.com/-/project/6684464/uploads/462c0b1cf05c3fc2857ce982e62fefcc/0001-Don-t-clear-line-rendition-on-partial-ED.patch";
|
|
hash = "sha256-lSuxP0tUfGa3BjK3ehpdMi16XaGZrdVvAcM2vnjAme8=";
|
|
})
|
|
|
|
# DECCOLM should clear line rendition attributes
|
|
# https://gitlab.com/AutumnMeowMeow/qodem/-/issues/78
|
|
(fetchpatch2 {
|
|
url = "https://gitlab.com/-/project/6684464/uploads/812bdfdfaee44eed346fcff85f53efbe/0002-DECCOLM-should-clear-line-rendition-attributes.patch";
|
|
hash = "sha256-XO+h5fpBTLLYC3t4FRCy1uFiMkmSXbre4T2NB/FC3uQ=";
|
|
})
|
|
|
|
# Fix build with miniupnpc 2.2.8
|
|
./qodem-fix-miniupnpc-2.2.8.patch
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
autoreconfHook
|
|
];
|
|
|
|
buildInputs = [
|
|
ncurses
|
|
SDL
|
|
miniupnpc
|
|
] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gpm) [
|
|
gpm
|
|
];
|
|
|
|
configureFlags = lib.optionals (!(lib.meta.availableOn stdenv.hostPlatform gpm)) [
|
|
"--disable-gpm"
|
|
];
|
|
|
|
strictDeps = true;
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
__structuredAttrs = true;
|
|
|
|
meta = {
|
|
homepage = "https://qodem.sourceforge.net/";
|
|
description = "Re-implementation of the DOS-era Qmodem serial communications package";
|
|
longDescription = ''
|
|
Qodem is a from-scratch clone implementation of the Qmodem
|
|
communications program made popular in the days when Bulletin Board
|
|
Systems ruled the night. Qodem emulates the dialing directory and the
|
|
terminal screen features of Qmodem over both modem and Internet
|
|
connections.
|
|
'';
|
|
changelog = "${finalAttrs.src.meta.homepage}-/blob/${finalAttrs.src.rev}/ChangeLog";
|
|
maintainers = with lib.maintainers; [ embr ];
|
|
sourceProvenance = [ lib.sourceTypes.fromSource ];
|
|
license = lib.licenses.publicDomain;
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
})
|