From 03a4369379e0fb5b0ecdeff2c508be49de460fd4 Mon Sep 17 00:00:00 2001 From: misuzu Date: Wed, 1 Jan 2020 17:07:58 +0200 Subject: [PATCH 1/3] libctb: init at 0.16 --- pkgs/development/libraries/libctb/default.nix | 23 +++++++++++++++++++ .../libraries/libctb/include-kbhit.patch | 13 +++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 38 insertions(+) create mode 100644 pkgs/development/libraries/libctb/default.nix create mode 100644 pkgs/development/libraries/libctb/include-kbhit.patch diff --git a/pkgs/development/libraries/libctb/default.nix b/pkgs/development/libraries/libctb/default.nix new file mode 100644 index 000000000000..161c7c98c63f --- /dev/null +++ b/pkgs/development/libraries/libctb/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/libraries/libctb/include-kbhit.patch b/pkgs/development/libraries/libctb/include-kbhit.patch new file mode 100644 index 000000000000..76b4e38fadb9 --- /dev/null +++ b/pkgs/development/libraries/libctb/include-kbhit.patch @@ -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; \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a34a6305aa8..d4e4047e41f4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12216,6 +12216,8 @@ in libcredis = callPackage ../development/libraries/libcredis { }; + libctb = callPackage ../development/libraries/libctb { }; + libctemplate = callPackage ../development/libraries/libctemplate { }; libcouchbase = callPackage ../development/libraries/libcouchbase { }; From 8cce0e093758e46a19b1d1e21a16bae058c09d55 Mon Sep 17 00:00:00 2001 From: misuzu Date: Wed, 1 Jan 2020 17:59:54 +0200 Subject: [PATCH 2/3] gsmlib: init at unstable-2017-10-06 --- pkgs/development/libraries/gsmlib/default.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/gsmlib/default.nix diff --git a/pkgs/development/libraries/gsmlib/default.nix b/pkgs/development/libraries/gsmlib/default.nix new file mode 100644 index 000000000000..88bec83e624f --- /dev/null +++ b/pkgs/development/libraries/gsmlib/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4e4047e41f4..2b8eed3bf5a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { }; From 96f4563f1e6eb7f773c50f413afdbea737355db9 Mon Sep 17 00:00:00 2001 From: misuzu Date: Wed, 1 Jan 2020 18:00:02 +0200 Subject: [PATCH 3/3] freeswitch: fix gsmopen build and enable by default for linux --- pkgs/servers/sip/freeswitch/default.nix | 37 ++++++++++++------------- pkgs/servers/sip/freeswitch/modules.nix | 4 ++- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix index a55d1cf14cda..5f066adccccd 100644 --- a/pkgs/servers/sip/freeswitch/default.nix +++ b/pkgs/servers/sip/freeswitch/default.nix @@ -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; }; } diff --git a/pkgs/servers/sip/freeswitch/modules.nix b/pkgs/servers/sip/freeswitch/modules.nix index aed30e467e8b..2d8f541a3c29 100644 --- a/pkgs/servers/sip/freeswitch/modules.nix +++ b/pkgs/servers/sip/freeswitch/modules.nix @@ -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" [];