Merge pull request #76786 from misuzu/freeswitch-gsmopen

freeswitch: fix gsmopen build and enable by default for linux
This commit is contained in:
Franz Pletz 2020-01-01 20:25:43 +00:00 committed by GitHub
commit 427217ac1f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 79 additions and 21 deletions

View file

@ -0,0 +1,19 @@
{ stdenv, fetchFromGitHub, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "gsmlib";
version = "unstable-2017-10-06";
src = fetchFromGitHub {
owner = "x-logLT";
repo = "gsmlib";
rev = "4f794b14450132f81673f7d3570c5a859aecf7ae";
sha256 = "16v8aj914ac1ipf14a867ljib3gy7fhzd9ypxnsg9l0zi8mm3ml5";
};
nativeBuildInputs = [ autoreconfHook ];
meta = with stdenv.lib; {
description = "Library to access GSM mobile phones through GSM modems";
homepage = "https://github.com/x-logLT/gsmlib";
license = licenses.lgpl2;
platforms = platforms.linux;
maintainers = [ maintainers.misuzu ];
};
}

View file

@ -0,0 +1,23 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "libctb";
version = "0.16";
src = fetchurl {
url = "https://iftools.com/download/files/legacy/${pname}-${version}.tar.gz";
sha256 = "027wh89d0qyly3d9m6rg4x7x1gqz3y3cnxlgk0k8xgygcrm05c0w";
};
patches = [
./include-kbhit.patch
];
sourceRoot = "${pname}-${version}/build";
makeFlags = [
"prefix=$(out)"
];
meta = with stdenv.lib; {
description = "Communications toolbox";
homepage = "https://iftools.com";
license = licenses.lgpl2;
platforms = platforms.linux;
maintainers = [ maintainers.misuzu ];
};
}

View file

@ -0,0 +1,13 @@
diff --git a/GNUmakefile b/GNUmakefile
index e39a687..026f9c4 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -140,7 +140,7 @@ all: ../lib/libctb$(LIBFLAG)$(GPIBFLAG)-0.16.a ../lib/libctb$(LIBFLAG)$(GPIBFLAG
install: install_ctb_lib install_ctb_dll
$(INSTALL) -d $(DESTDIR)$(prefix)/include/ctb-0.16
- for f in ctb.h fifo.h getopt.h $(GPIBINC) iobase.h linux/serport.h linux/timer.h portscan.h serport.h serportx.h timer.h; do \
+ for f in ctb.h fifo.h getopt.h $(GPIBINC) iobase.h kbhit.h linux/serport.h linux/timer.h portscan.h serport.h serportx.h timer.h; do \
if test ! -d $(DESTDIR)$(prefix)/include/ctb-0.16/`dirname $$f` ; then \
$(INSTALL) -d $(DESTDIR)$(prefix)/include/ctb-0.16/`dirname $$f`; \
fi; \

View file

@ -1,5 +1,19 @@
{ fetchurl, stdenv, lib, ncurses, curl, pkgconfig, gnutls, readline
, openssl, perl, sqlite, libjpeg, speex, pcre
, ldns, libedit, yasm, which, lua, libopus, libsndfile, libtiff
, libctb, gsmlib
, modules ? null
, postgresql
, enablePostgres ? true
, SystemConfiguration
}:
let
availableModules = import ./modules.nix { inherit curl lua libopus libctb gsmlib; };
# the default list from v1.8.7, except with applications/mod_signalwire also disabled
defaultModules = mods: with mods; [
applications.commands
@ -57,26 +71,9 @@ defaultModules = mods: with mods; [
xml_int.cdr
xml_int.rpc
xml_int.scgi
];
] ++ lib.optionals stdenv.isLinux [ endpoints.gsmopen ];
in
{ fetchurl, stdenv, lib, ncurses, curl, pkgconfig, gnutls, readline
, openssl, perl, sqlite, libjpeg, speex, pcre
, ldns, libedit, yasm, which, lua, libopus, libsndfile, libtiff
, modules ? defaultModules
, postgresql
, enablePostgres ? true
, SystemConfiguration
}:
let
availableModules = import ./modules.nix { inherit curl lua libopus; };
enabledModules = modules availableModules;
enabledModules = (if modules != null then modules else defaultModules) availableModules;
modulesConf = let
lst = builtins.map (mod: mod.path) enabledModules;
@ -127,7 +124,7 @@ stdenv.mkDerivation rec {
description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
homepage = https://freeswitch.org/;
license = stdenv.lib.licenses.mpl11;
maintainers = with stdenv.lib.maintainers; [ ];
maintainers = with stdenv.lib.maintainers; [ misuzu ];
platforms = with stdenv.lib.platforms; unix;
};
}

View file

@ -1,4 +1,6 @@
{ libopus
, libctb
, gsmlib
, lua
, curl
}:
@ -114,7 +116,7 @@ in
endpoints = {
alsa = mk "endpoints/mod_alsa" [];
dingaling = mk "endpoints/mod_dingaling" [];
gsmopen = mk "endpoints/mod_gsmopen" [];
gsmopen = mk "endpoints/mod_gsmopen" [ gsmlib libctb ];
h323 = mk "endpoints/mod_h323" [];
khomp = mk "endpoints/mod_khomp" [];
loopback = mk "endpoints/mod_loopback" [];

View file

@ -3798,6 +3798,8 @@ in
gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { };
gsmlib = callPackage ../development/libraries/gsmlib { };
gssdp = callPackage ../development/libraries/gssdp { };
gt5 = callPackage ../tools/system/gt5 { };
@ -12217,6 +12219,8 @@ in
libcredis = callPackage ../development/libraries/libcredis { };
libctb = callPackage ../development/libraries/libctb { };
libctemplate = callPackage ../development/libraries/libctemplate { };
libcouchbase = callPackage ../development/libraries/libcouchbase { };