uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
153
pkgs/servers/sip/freeswitch/default.nix
Normal file
153
pkgs/servers/sip/freeswitch/default.nix
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
{ fetchFromGitHub, stdenv, lib, pkg-config, autoreconfHook
|
||||
, ncurses, gnutls, readline
|
||||
, openssl, perl, sqlite, libjpeg, speex, pcre, libuuid
|
||||
, ldns, libedit, yasm, which, libsndfile, libtiff
|
||||
|
||||
, callPackage
|
||||
|
||||
, SystemConfiguration
|
||||
|
||||
, modules ? null
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
availableModules = callPackage ./modules.nix { };
|
||||
|
||||
# the default list from v1.8.7, except with applications/mod_signalwire also disabled
|
||||
defaultModules = mods: with mods; [
|
||||
applications.commands
|
||||
applications.conference
|
||||
applications.db
|
||||
applications.dptools
|
||||
applications.enum
|
||||
applications.esf
|
||||
applications.expr
|
||||
applications.fifo
|
||||
applications.fsv
|
||||
applications.hash
|
||||
applications.httapi
|
||||
applications.sms
|
||||
applications.spandsp
|
||||
applications.valet_parking
|
||||
applications.voicemail
|
||||
|
||||
applications.curl
|
||||
|
||||
codecs.amr
|
||||
codecs.b64
|
||||
codecs.g723_1
|
||||
codecs.g729
|
||||
codecs.h26x
|
||||
codecs.opus
|
||||
|
||||
databases.mariadb
|
||||
databases.pgsql
|
||||
|
||||
dialplans.asterisk
|
||||
dialplans.xml
|
||||
|
||||
endpoints.loopback
|
||||
endpoints.rtc
|
||||
endpoints.skinny
|
||||
endpoints.sofia
|
||||
endpoints.verto
|
||||
|
||||
event_handlers.cdr_csv
|
||||
event_handlers.cdr_sqlite
|
||||
event_handlers.event_socket
|
||||
|
||||
formats.local_stream
|
||||
formats.native_file
|
||||
formats.png
|
||||
formats.sndfile
|
||||
formats.tone_stream
|
||||
|
||||
languages.lua
|
||||
|
||||
loggers.console
|
||||
loggers.logfile
|
||||
loggers.syslog
|
||||
|
||||
say.en
|
||||
|
||||
xml_int.cdr
|
||||
xml_int.rpc
|
||||
xml_int.scgi
|
||||
] ++ lib.optionals stdenv.isLinux [ endpoints.gsmopen ];
|
||||
|
||||
enabledModules = (if modules != null then modules else defaultModules) availableModules;
|
||||
|
||||
modulesConf = let
|
||||
lst = builtins.map (mod: mod.path) enabledModules;
|
||||
str = lib.strings.concatStringsSep "\n" lst;
|
||||
in builtins.toFile "modules.conf" str;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freeswitch";
|
||||
version = "1.10.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "signalwire";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0npdvidvsi4dhwswdwilff4p3x04qmz7hgs9sdadiy2w83qb6alf";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs libs/libvpx/build/make/rtcd.pl
|
||||
substituteInPlace libs/libvpx/build/make/configure.sh \
|
||||
--replace AS=\''${AS} AS=yasm
|
||||
|
||||
# Disable advertisement banners
|
||||
for f in src/include/cc.h libs/esl/src/include/cc.h; do
|
||||
{
|
||||
echo 'const char *cc = "";'
|
||||
echo 'const char *cc_s = "";'
|
||||
} > $f
|
||||
done
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook perl which yasm ];
|
||||
buildInputs = [
|
||||
openssl ncurses gnutls readline libjpeg
|
||||
sqlite pcre speex ldns libedit
|
||||
libsndfile libtiff
|
||||
libuuid
|
||||
]
|
||||
++ lib.unique (lib.concatMap (mod: mod.inputs) enabledModules)
|
||||
++ lib.optionals stdenv.isDarwin [ SystemConfiguration ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error";
|
||||
|
||||
CFLAGS = "-D_ANSI_SOURCE";
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
preConfigure = ''
|
||||
./bootstrap.sh
|
||||
cp "${modulesConf}" modules.conf
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# helper for compiling modules... not generally useful; also pulls in perl dependency
|
||||
rm "$out"/bin/fsxs
|
||||
# include configuration templates
|
||||
cp -r conf $out/share/freeswitch/
|
||||
'';
|
||||
|
||||
passthru.tests.freeswitch = nixosTests.freeswitch;
|
||||
|
||||
meta = {
|
||||
description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
|
||||
homepage = "https://freeswitch.org/";
|
||||
license = lib.licenses.mpl11;
|
||||
maintainers = with lib.maintainers; [ misuzu ];
|
||||
platforms = with lib.platforms; unix;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue