7 ## runtime dependencies
22 ## optional packages (using `null` disables some functionality)
24 , lcms2 ? null # for colored faxes
27 ## system-dependent settings that have to be hardcoded
28 , maxgid ? 65534 # null -> try to auto-detect (bad on linux)
29 , maxuid ? 65534 # null -> hardcoded value 60002
34 pname = "hylafaxplus";
36 hash = "sha512-6wTLVcaHpASy+2i+jeoJ1cM2aLgI5vznGrLd4NCkLHiOxlfCh/ASRaj2Nxt9ZZ5NN/deEwf9tNSZ7MkFZHVsqA==";
38 configSite = substituteAll {
39 name = "${pname}-config.site";
41 config_maxgid = lib.optionalString (maxgid!=null) ''CONFIG_MAXGID=${builtins.toString maxgid}'';
42 ghostscript_version = ghostscript.version;
43 out_ = "@out@"; # "out" will be resolved in post-install.sh
44 inherit coreutils ghostscript libtiff;
47 postPatch = substituteAll {
48 name = "${pname}-post-patch.sh";
49 src = ./post-patch.sh;
51 maxuid = lib.optionalString (maxuid!=null) (builtins.toString maxuid);
52 faxcover_binpath = lib.makeBinPath
53 [stdenv.shellPackage coreutils];
54 faxsetup_binpath = lib.makeBinPath
55 [stdenv.shellPackage coreutils findutils gnused gnugrep gawk];
58 postInstall = substituteAll {
59 name = "${pname}-post-install.sh";
60 src = ./post-install.sh;
61 inherit fakeroot libfaketime;
67 inherit pname version;
69 url = "mirror://sourceforge/hylafax/hylafax-${version}.tar.gz";
73 # adjust configure check to work with libtiff > 4.1
76 # Note that `configure` (and maybe `faxsetup`) are looking
77 # for a couple of standard binaries in the `PATH` and
78 # hardcode their absolute paths in the new package.
80 file # for `file` command
85 psmisc # for `fuser` command
86 sharutils # for `uuencode` command
87 util-linux # for `agetty` command
94 # Disable parallel build, errors:
95 # *** No rule to make target '../util/libfaxutil.so.7.0.4', needed by 'faxmsg'. Stop.
96 enableParallelBuilding = false;
98 postPatch = ". ${postPatch}";
100 postInstall = ". ${postInstall}";
101 postInstallCheck = ". ${./post-install-check.sh}";
103 changelog = "https://hylafax.sourceforge.io/news/${version}.php";
104 description = "enterprise-class system for sending and receiving facsimiles";
105 downloadPage = "https://hylafax.sourceforge.io/download.php";
106 homepage = "https://hylafax.sourceforge.io";
107 license = lib.licenses.bsd3;
108 maintainers = [ lib.maintainers.yarny ];
109 platforms = lib.platforms.linux;
111 HylaFAX is a scalable and time-proven solution
112 for sending and receiving facsimiles via modem(s).
113 It is based on a client-server architecture,
114 loosely comparable to CUPS:
115 A client connects to a server to issue outbound jobs,
116 the server then chooses a modem to
117 connect to the receiving fax machine.
118 The server notifies users about their
119 outbound jobs as well as about inbound jobs.
120 HylaFAX+ is a fork of HylaFAX that -- in general --
121 contains a superset of the features of
122 HylaFAX and produces releases more often.
123 This package contains the client
124 and the server parts of HylaFAX+.