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
33
pkgs/servers/irc/atheme/default.nix
Normal file
33
pkgs/servers/irc/atheme/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchgit, libmowgli, pkg-config, git, gettext, pcre, libidn, cracklib, openssl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atheme";
|
||||
version = "7.2.12";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/atheme/atheme.git";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-KAC1ZPNo4TqfVryKOYYef8cRWRgFmyEdvl1bgvpGNiM=";
|
||||
leaveDotGit = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config git gettext ];
|
||||
buildInputs = [ libmowgli pcre libidn cracklib openssl ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-pcre"
|
||||
"--with-libidn"
|
||||
"--with-cracklib"
|
||||
"--enable-large-net"
|
||||
"--enable-contrib"
|
||||
"--enable-reproducible-builds"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A set of services for IRC networks";
|
||||
homepage = "https://atheme.github.io/";
|
||||
license = licenses.isc;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ leo60228 ];
|
||||
};
|
||||
}
|
||||
39
pkgs/servers/irc/charybdis/default.nix
Normal file
39
pkgs/servers/irc/charybdis/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, bison, flex, openssl, gnutls }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "charybdis";
|
||||
version = "4.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charybdis-ircd";
|
||||
repo = "charybdis";
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "1lndk0yp27qm8bds4jd204ynxcq92fqmpfb0kkcla5zgky3miks3";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace include/defaults.h --replace 'PKGLOCALSTATEDIR "' '"/var/lib/charybdis'
|
||||
substituteInPlace include/defaults.h --replace 'ETCPATH "' '"/etc/charybdis'
|
||||
'';
|
||||
|
||||
autoreconfPhase = "sh autogen.sh";
|
||||
|
||||
configureFlags = [
|
||||
"--enable-epoll"
|
||||
"--enable-ipv6"
|
||||
"--enable-openssl=${openssl.dev}"
|
||||
"--with-program-prefix=charybdis-"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook bison flex ];
|
||||
buildInputs = [ openssl gnutls ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "IRCv3 server designed to be highly scalable";
|
||||
homepage = "https://github.com/charybdis-ircd/charybdis";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ lassulus fpletz ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
}
|
||||
26
pkgs/servers/irc/ergochat/default.nix
Normal file
26
pkgs/servers/irc/ergochat/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ buildGoModule, fetchFromGitHub, lib, nixosTests }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ergo";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ergochat";
|
||||
repo = "ergo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RxsmkTfHymferS/FRW0sLnstKfvGXkW6cEb/JbeS4lc=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
passthru.tests.ergochat = nixosTests.ergochat;
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/ergochat/ergo/blob/v${version}/CHANGELOG.md";
|
||||
description = "A modern IRC server (daemon/ircd) written in Go";
|
||||
homepage = "https://github.com/ergochat/ergo";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ lassulus tv ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
225
pkgs/servers/irc/inspircd/default.nix
Normal file
225
pkgs/servers/irc/inspircd/default.nix
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
let
|
||||
# inspircd ships a few extra modules that users can load
|
||||
# via configuration. Upstream thus recommends to ship as
|
||||
# many of them as possible. There is however a problem:
|
||||
# inspircd is licensed under the GPL version 2 only and
|
||||
# some modules link libraries that are incompatible with
|
||||
# the GPL 2. Therefore we can't provide them as binaries
|
||||
# via our binary-caches, but users should still be able
|
||||
# to override this package and build the incompatible
|
||||
# modules themselves.
|
||||
#
|
||||
# This means for us we need to a) prevent hydra from
|
||||
# building a module set with a GPL incompatibility
|
||||
# and b) dynamically figure out the largest possible
|
||||
# set of modules to use depending on stdenv, because
|
||||
# the used libc needs to be compatible as well.
|
||||
#
|
||||
# For an overview of all modules and their licensing
|
||||
# situation, see https://docs.inspircd.org/packaging/
|
||||
|
||||
# Predicate for checking license compatibility with
|
||||
# GPLv2. Since this is _only_ used for libc compatibility
|
||||
# checking, only whitelist licenses used by notable
|
||||
# libcs in nixpkgs (musl and glibc).
|
||||
compatible = lib: drv:
|
||||
lib.any (lic: lic == (drv.meta.license or {})) [
|
||||
lib.licenses.mit # musl
|
||||
lib.licenses.lgpl2Plus # glibc
|
||||
];
|
||||
|
||||
# compatible if libc is compatible
|
||||
libcModules = [
|
||||
"regex_posix"
|
||||
"sslrehashsignal"
|
||||
];
|
||||
|
||||
# compatible if libc++ is compatible
|
||||
# TODO(sternenseemann):
|
||||
# we could enable "regex_stdlib" automatically, but only if
|
||||
# we are using libcxxStdenv which is compatible with GPLv2,
|
||||
# since the gcc libstdc++ license is GPLv2-incompatible
|
||||
libcxxModules = [
|
||||
"regex_stdlib"
|
||||
];
|
||||
|
||||
compatibleModules = lib: stdenv: [
|
||||
# GPLv2 compatible dependencies
|
||||
"argon2"
|
||||
"ldap"
|
||||
"mysql"
|
||||
"pgsql"
|
||||
"regex_pcre"
|
||||
"regex_re2"
|
||||
"regex_tre"
|
||||
"sqlite3"
|
||||
"ssl_gnutls"
|
||||
] ++ lib.optionals (compatible lib stdenv.cc.libc) libcModules;
|
||||
|
||||
in
|
||||
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, nixosTests
|
||||
, perl
|
||||
, pkg-config
|
||||
, libargon2
|
||||
, openldap
|
||||
, postgresql
|
||||
, libmysqlclient
|
||||
, pcre
|
||||
, tre
|
||||
, re2
|
||||
, sqlite
|
||||
, gnutls
|
||||
, libmaxminddb
|
||||
, openssl
|
||||
, mbedtls
|
||||
# For a full list of module names, see https://docs.inspircd.org/packaging/
|
||||
, extraModules ? compatibleModules lib stdenv
|
||||
}:
|
||||
|
||||
let
|
||||
extras = {
|
||||
# GPLv2 compatible
|
||||
argon2 = [
|
||||
(libargon2 // {
|
||||
meta = libargon2.meta // {
|
||||
# use libargon2 as CC0 since ASL20 is GPLv2-incompatible
|
||||
# updating this here is important that meta.license is accurate
|
||||
# libargon2 is licensed under either ASL20 or CC0.
|
||||
license = lib.licenses.cc0;
|
||||
};
|
||||
})
|
||||
];
|
||||
ldap = [ openldap ];
|
||||
mysql = [ libmysqlclient ];
|
||||
pgsql = [ postgresql ];
|
||||
regex_pcre = [ pcre ];
|
||||
regex_re2 = [ re2 ];
|
||||
regex_tre = [ tre ];
|
||||
sqlite3 = [ sqlite ];
|
||||
ssl_gnutls = [ gnutls ];
|
||||
# depends on stdenv.cc.libc
|
||||
regex_posix = [];
|
||||
sslrehashsignal = [];
|
||||
# depends on used libc++
|
||||
regex_stdlib = [];
|
||||
# GPLv2 incompatible
|
||||
geo_maxmind = [ libmaxminddb ];
|
||||
ssl_mbedtls = [ mbedtls ];
|
||||
ssl_openssl = [ openssl ];
|
||||
};
|
||||
|
||||
# buildInputs necessary for the enabled extraModules
|
||||
extraInputs = lib.concatMap
|
||||
(m: extras."${m}" or (builtins.throw "Unknown extra module ${m}"))
|
||||
extraModules;
|
||||
|
||||
# if true, we can't provide a binary version of this
|
||||
# package without violating the GPL 2
|
||||
gpl2Conflict =
|
||||
let
|
||||
allowed = compatibleModules lib stdenv;
|
||||
in
|
||||
!lib.all (lib.flip lib.elem allowed) extraModules;
|
||||
|
||||
# return list of the license(s) of the given derivation
|
||||
getLicenses = drv:
|
||||
let
|
||||
lics = drv.meta.license or [];
|
||||
in
|
||||
if lib.isAttrs lics || lib.isString lics
|
||||
then [ lics ]
|
||||
else lics;
|
||||
|
||||
# Whether any member of list1 is also member of list2, i. e. set intersection.
|
||||
anyMembers = list1: list2:
|
||||
lib.any (m1: lib.elem m1 list2) list1;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "inspircd";
|
||||
version = "3.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1d5mnj86x4bk6iygns0cc15w315wrzmqxcq0sc4n75xsg6wwp1zl";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "lib" "man" "doc" "out" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
pkg-config
|
||||
];
|
||||
buildInputs = extraInputs;
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
patchShebangs configure make/*.pl
|
||||
|
||||
# configure is executed twice, once to set the extras
|
||||
# to use and once to do the Makefile setup
|
||||
./configure \
|
||||
--enable-extras \
|
||||
${lib.escapeShellArg (lib.concatStringsSep " " extraModules)}
|
||||
|
||||
# this manually sets the flags instead of using configureFlags, because otherwise stdenv passes flags like --bindir, which make configure fail
|
||||
./configure \
|
||||
--disable-auto-extras \
|
||||
--distribution-label nixpkgs${version} \
|
||||
--uid 0 \
|
||||
--gid 0 \
|
||||
--binary-dir ${placeholder "bin"}/bin \
|
||||
--config-dir /etc/inspircd \
|
||||
--data-dir ${placeholder "lib"}/lib/inspircd \
|
||||
--example-dir ${placeholder "doc"}/share/doc/inspircd \
|
||||
--log-dir /var/log/inspircd \
|
||||
--manual-dir ${placeholder "man"}/share/man/man1 \
|
||||
--module-dir ${placeholder "lib"}/lib/inspircd \
|
||||
--runtime-dir /var/run \
|
||||
--script-dir ${placeholder "bin"}/share/inspircd \
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# for some reasons the executables are not executable
|
||||
chmod +x $bin/bin/*
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests = {
|
||||
nixos-test = nixosTests.inspircd;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A modular C++ IRC server";
|
||||
license = [ lib.licenses.gpl2Only ]
|
||||
++ lib.concatMap getLicenses extraInputs
|
||||
++ lib.optionals (anyMembers extraModules libcModules) (getLicenses stdenv.cc.libc)
|
||||
# FIXME(sternenseemann): get license of used lib(std)c++ somehow
|
||||
++ lib.optional (anyMembers extraModules libcxxModules) "Unknown"
|
||||
# Hack: Definitely prevent a hydra from building this package on
|
||||
# a GPL 2 incompatibility even if it is not in a top-level attribute,
|
||||
# but pulled in indirectly somehow.
|
||||
++ lib.optional gpl2Conflict lib.licenses.unfree;
|
||||
maintainers = [ lib.maintainers.sternenseemann ];
|
||||
# windows is theoretically possible, but requires extra work
|
||||
# which I am not willing to do and can't test.
|
||||
# https://github.com/inspircd/inspircd/blob/master/win/README.txt
|
||||
platforms = lib.platforms.unix;
|
||||
homepage = "https://www.inspircd.org/";
|
||||
} // lib.optionalAttrs gpl2Conflict {
|
||||
# make sure we never distribute a GPLv2-violating module
|
||||
# in binary form. They can be built locally of course.
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
}
|
||||
22
pkgs/servers/irc/irccat/default.nix
Normal file
22
pkgs/servers/irc/irccat/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "irccat";
|
||||
version = "0.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "irccloud";
|
||||
repo = "irccat";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fr5x1usviJPbc4t5SpIVgV9Q6071XG8eYtyeyraddts=";
|
||||
};
|
||||
|
||||
vendorSha256 = "030hnkwh45yqppm96yy15j82skf7wmax5xkm7j5khr1l9lrz4591";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/irccloud/irccat";
|
||||
description = "Send events to IRC channels from scripts and other applications";
|
||||
maintainers = with maintainers; [ qyliss ];
|
||||
license = licenses.gpl3Only;
|
||||
};
|
||||
}
|
||||
27
pkgs/servers/irc/ircd-hybrid/default.nix
Normal file
27
pkgs/servers/irc/ircd-hybrid/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl, openssl, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ircd-hybrid";
|
||||
version = "8.2.39";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/ircd-hybrid/ircd-hybrid-${version}.tgz";
|
||||
sha256 = "sha256-A10nH2sN1FEVf4AUbRibwcm4TMm6G3rQb9cu5RCObk0=";
|
||||
};
|
||||
|
||||
buildInputs = [ openssl zlib ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-nicklen=100"
|
||||
"--with-topiclen=360"
|
||||
"--enable-openssl=${openssl.dev}"
|
||||
];
|
||||
|
||||
postInstall = "echo postinstall; mkdir -p \${out}/ ; rm -rf \${out}/logs ; ln -s /home/ircd \${out}/logs;";
|
||||
|
||||
meta = {
|
||||
description = "An IPv6-capable IRC server";
|
||||
platforms = lib.platforms.unix;
|
||||
homepage = "https://www.ircd-hybrid.org/";
|
||||
};
|
||||
}
|
||||
29
pkgs/servers/irc/ngircd/default.nix
Normal file
29
pkgs/servers/irc/ngircd/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchurl, zlib, openssl, pam, libiconv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ngircd";
|
||||
version = "26.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ngircd.barton.de/pub/ngircd/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-VcFv0mAJ9vxqAH3076yHoC4SL2gGEs2hzibhehjYYlQ=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--with-syslog"
|
||||
"--with-zlib"
|
||||
"--with-pam"
|
||||
"--with-openssl"
|
||||
"--enable-ipv6"
|
||||
"--with-iconv"
|
||||
];
|
||||
|
||||
buildInputs = [ zlib pam openssl libiconv ];
|
||||
|
||||
meta = {
|
||||
description = "Next Generation IRC Daemon";
|
||||
homepage = "https://ngircd.barton.de";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
28
pkgs/servers/irc/robustirc-bridge/default.nix
Normal file
28
pkgs/servers/irc/robustirc-bridge/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "robustirc-bridge";
|
||||
version = "1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "robustirc";
|
||||
repo = "bridge";
|
||||
rev = "v${version}";
|
||||
sha256 = "12jzil97147f978shdgm6whz7699db0shh0c1fzgrjh512dw502c";
|
||||
};
|
||||
|
||||
vendorSha256 = "0lm8j2iz0yysgi0bbh78ca629kb6sxvyy9al3aj2587hpvy79q85";
|
||||
|
||||
postInstall = ''
|
||||
install -D robustirc-bridge.1 $out/share/man/man1/robustirc-bridge.1
|
||||
'';
|
||||
|
||||
passthru.tests.robustirc-bridge = nixosTests.robustirc-bridge;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bridge to robustirc.net-IRC-Network";
|
||||
homepage = "https://robustirc.net/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.hax404 ];
|
||||
};
|
||||
}
|
||||
68
pkgs/servers/irc/solanum/default.nix
Normal file
68
pkgs/servers/irc/solanum/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ lib, stdenv
|
||||
, autoreconfHook
|
||||
, bison
|
||||
, fetchFromGitHub
|
||||
, flex
|
||||
, lksctp-tools
|
||||
, openssl
|
||||
, pkg-config
|
||||
, sqlite
|
||||
, util-linux
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "solanum";
|
||||
version = "unstable-2021-11-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solanum-ircd";
|
||||
repo = pname;
|
||||
rev = "bd38559fedcdfded4d9acbcbf988e4a8f5057eeb";
|
||||
sha256 = "sha256-2P+mqf5b+TD9+9dLahXOdH7ZZhPWUoR1eV73YHbRbAA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./dont-create-logdir.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace include/defaults.h --replace 'ETCPATH "' '"/etc/solanum'
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--enable-epoll"
|
||||
"--enable-ipv6"
|
||||
"--enable-openssl=${openssl.dev}"
|
||||
"--with-program-prefix=solanum-"
|
||||
"--localstatedir=/var/lib"
|
||||
"--with-rundir=/run"
|
||||
"--with-logdir=/var/log"
|
||||
] ++ lib.optionals (stdenv.isLinux) [
|
||||
"--enable-sctp=${lksctp-tools.out}/lib"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
bison
|
||||
flex
|
||||
pkg-config
|
||||
util-linux
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
sqlite
|
||||
];
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "An IRCd for unified networks";
|
||||
homepage = "https://github.com/solanum-ircd/solanum";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
14
pkgs/servers/irc/solanum/dont-create-logdir.patch
Normal file
14
pkgs/servers/irc/solanum/dont-create-logdir.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 19e7b396..21093521 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -35,9 +35,6 @@ include/serno.h:
|
||||
echo '#define DATECODE 0UL' >>include/serno.h; \
|
||||
fi
|
||||
|
||||
-install-data-hook:
|
||||
- test -d ${DESTDIR}${logdir} || mkdir -p ${DESTDIR}${logdir}
|
||||
-
|
||||
install-exec-hook:
|
||||
rm -f ${DESTDIR}${libdir}/*.la
|
||||
rm -f ${DESTDIR}${moduledir}/*.la
|
||||
Loading…
Add table
Add a link
Reference in a new issue