From ec07abf3165b7d096608daf28833473aa629a0a4 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 01/15] luaPackages.luadbi: init at 0.5 --- pkgs/top-level/lua-packages.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index c94a401db0f..6327995833c 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -8,6 +8,7 @@ { fetchurl, fetchzip, stdenv, lua, callPackage, unzip, zziplib, pkgconfig, libtool , pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat, cairo , perl, gtk2, python, glib, gobjectIntrospection, libevent, zlib, autoreconfHook +, libmysql, postgresql , fetchFromGitHub, libmpack, which }: @@ -172,6 +173,34 @@ let }; }; + luadbi = buildLuaPackage rec { + name = "luadbi-${version}"; + version = "0.5"; + src = fetchurl { + url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/luadbi/luadbi.${version}.tar.gz"; + sha256 = "07ikxgxgfpimnwf7zrqwcwma83ss3wm2nzjxpwv2a1c0vmc684a9"; + }; + sourceRoot = "."; + + buildInputs = [ libmysql postgresql sqlite ]; + + NIX_CFLAGS_COMPILE = [ + "-I${libmysql.dev}/include/mysql" + "-I${postgresql}/include/server" + ]; + + installPhase = '' + mkdir -p $out/lib/lua/${lua.luaversion} + install -p DBI.lua *.so $out/lib/lua/${lua.luaversion} + ''; + + meta = with stdenv.lib; { + homepage = "https://code.google.com/archive/p/luadbi/"; + platforms = stdenv.lib.platforms.unix; + maintainers = with maintainers; [ sshishk ]; + }; + }; + luafilesystem = buildLuaPackage rec { name = "filesystem-1.6.2"; From 309c74fd848e0283e33ebbe04fa0d5005b8f0e20 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 02/15] luaPackages.luaexpat: don't set isLibrary This flag seems to be useless. --- pkgs/top-level/lua-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 6327995833c..72e64debe2b 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -141,7 +141,6 @@ let luaexpat = buildLuaPackage rec { version = "1.3.0"; name = "expat-${version}"; - isLibrary = true; src = fetchurl { url = "https://matthewwild.co.uk/projects/luaexpat/luaexpat-${version}.tar.gz"; From fbe0310ea449292d131aaddab866d330b4082030 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 03/15] luaPackages.luafilesystem: 1.6.2 -> 1.6.3 --- pkgs/top-level/lua-packages.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 72e64debe2b..765c17a2daa 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -201,13 +201,14 @@ let }; luafilesystem = buildLuaPackage rec { - name = "filesystem-1.6.2"; + version = "1.6.3"; + name = "filesystem-${version}"; src = fetchFromGitHub { owner = "keplerproject"; repo = "luafilesystem"; - rev = "v1_6_2"; - sha256 = "134azkxw84xp9g5qmzjsmcva629jm7plwcmjxkdzdg05vyd7kig1"; + rev = "v${stdenv.lib.replaceChars ["."] ["_"] version}"; + sha256 = "1hxcnqj53540ysyw8fzax7f09pl98b8f55s712gsglcdxp2g2pri"; }; preConfigure = '' From 36995b788e094c7991904ef28243d1e216286409 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 04/15] luaPackages.lpty: 1.1.1 -> 1.2.1 --- pkgs/top-level/lua-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 765c17a2daa..753d03b020c 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -253,12 +253,12 @@ let }; lpty = buildLuaPackage rec { + version = "1.2.1"; name = "lpty-${version}"; - version = "1.1.1"; src = fetchurl { - url = "http://www.tset.de/downloads/lpty-1.1-1.tar.gz"; - sha256 = "0d4ffda654dcf37dd8c99bcd100d0ee0dde7782cbd0ba9200ef8711c5cab02f1"; + url = "http://www.tset.de/downloads/lpty-${version}-1.tar.gz"; + sha256 = "0rgvbpymcgdkzdwfag607xfscs9xyqxg0dj0qr5fv906mi183gs6"; }; preBuild = '' From 1e45a6459eb682116e3d0e75a9468ad9311fd379 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 05/15] prosody service: add types --- nixos/modules/services/networking/prosody.nix | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index fb9c9dc67f2..8e2970a1b69 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -12,13 +12,13 @@ let # TODO: require attribute key = mkOption { - type = types.str; + type = types.path; description = "Path to the key file"; }; # TODO: require attribute cert = mkOption { - type = types.str; + type = types.path; description = "Path to the certificate file"; }; }; @@ -27,71 +27,85 @@ let moduleOpts = { roster = mkOption { + type = types.bool; default = true; description = "Allow users to have a roster"; }; saslauth = mkOption { + type = types.bool; default = true; description = "Authentication for clients and servers. Recommended if you want to log in."; }; tls = mkOption { + type = types.bool; default = true; description = "Add support for secure TLS on c2s/s2s connections"; }; dialback = mkOption { + type = types.bool; default = true; description = "s2s dialback support"; }; disco = mkOption { + type = types.bool; default = true; description = "Service discovery"; }; legacyauth = mkOption { + type = types.bool; default = true; description = "Legacy authentication. Only used by some old clients and bots"; }; version = mkOption { + type = types.bool; default = true; description = "Replies to server version requests"; }; uptime = mkOption { + type = types.bool; default = true; description = "Report how long server has been running"; }; time = mkOption { + type = types.bool; default = true; description = "Let others know the time here on this server"; }; ping = mkOption { + type = types.bool; default = true; description = "Replies to XMPP pings with pongs"; }; console = mkOption { + type = types.bool; default = false; description = "telnet to port 5582"; }; bosh = mkOption { + type = types.bool; default = false; description = "Enable BOSH clients, aka 'Jabber over HTTP'"; }; httpserver = mkOption { + type = types.bool; default = false; description = "Serve static files from a directory over HTTP"; }; websocket = mkOption { + type = types.bool; default = false; description = "Enable WebSocket support"; }; @@ -114,18 +128,20 @@ let }; enabled = mkOption { + type = types.bool; default = false; description = "Whether to enable the virtual host"; }; ssl = mkOption { - description = "Paths to SSL files"; + type = types.nullOr (types.submodule sslOpts); default = null; - options = [ sslOpts ]; + description = "Paths to SSL files"; }; extraConfig = mkOption { - default = ''''; + type = types.lines; + default = ""; description = "Additional virtual host specific configuration"; }; @@ -144,11 +160,13 @@ in services.prosody = { enable = mkOption { + type = types.bool; default = false; description = "Whether to enable the prosody server"; }; allowRegistration = mkOption { + type = types.bool; default = false; description = "Allow account creation"; }; @@ -156,8 +174,9 @@ in modules = moduleOpts; extraModules = mkOption { - description = "Enable custom modules"; + type = types.listOf types.str; default = []; + description = "Enable custom modules"; }; virtualHosts = mkOption { @@ -183,20 +202,21 @@ in }; ssl = mkOption { - description = "Paths to SSL files"; + type = types.nullOr (types.submodule sslOpts); default = null; - options = [ sslOpts ]; + description = "Paths to SSL files"; }; admins = mkOption { - description = "List of administrators of the current host"; - example = [ "admin1@example.com" "admin2@example.com" ]; + type = types.listOf types.str; default = []; + example = [ "admin1@example.com" "admin2@example.com" ]; + description = "List of administrators of the current host"; }; extraConfig = mkOption { type = types.lines; - default = ''''; + default = ""; description = "Additional prosody configuration"; }; From 2e55e164eba6047942942eb0e099637626396524 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 06/15] prosody service: forking --- nixos/modules/services/networking/prosody.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index 8e2970a1b69..2c570674508 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -283,17 +283,16 @@ in }; systemd.services.prosody = { - description = "Prosody XMPP server"; after = [ "network-online.target" ]; wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "prosody"; + Type = "forking"; PIDFile = "/var/lib/prosody/prosody.pid"; ExecStart = "${pkgs.prosody}/bin/prosodyctl start"; }; - }; }; From dcd9969f5bf9aaf8a65b2775725812f59d3f240c Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 07/15] luacyrussasl: init at 1.1.0 --- pkgs/top-level/lua-packages.nix | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 753d03b020c..1f70e99c010 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -8,7 +8,7 @@ { fetchurl, fetchzip, stdenv, lua, callPackage, unzip, zziplib, pkgconfig, libtool , pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat, cairo , perl, gtk2, python, glib, gobjectIntrospection, libevent, zlib, autoreconfHook -, libmysql, postgresql +, libmysql, postgresql, cyrus_sasl , fetchFromGitHub, libmpack, which }: @@ -106,6 +106,35 @@ let }; }; + luacyrussasl = buildLuaPackage rec { + version = "1.1.0"; + name = "lua-cyrussasl-${version}"; + src = fetchFromGitHub { + owner = "JorjBauer"; + repo = "lua-cyrussasl"; + rev = "v${version}"; + sha256 = "14kzm3vk96k2i1m9f5zvpvq4pnzaf7s91h5g4h4x2bq1mynzw2s1"; + }; + + preBuild = '' + makeFlagsArray=( + CFLAGS="-O2 -fPIC" + LDFLAGS="-O -shared -fpic -lsasl2" + LUAPATH="$out/share/lua/${lua.luaversion}" + CPATH="$out/lib/lua/${lua.luaversion}" + ); + mkdir -p $out/{share,lib}/lua/${lua.luaversion} + ''; + + buildInputs = [ cyrus_sasl ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/JorjBauer/lua-cyrussasl"; + description = "Cyrus SASL library for Lua 5.1+"; + license = licenses.bsd3; + }; + }; + luaevent = buildLuaPackage rec { version = "0.4.3"; name = "luaevent-${version}"; @@ -196,7 +225,6 @@ let meta = with stdenv.lib; { homepage = "https://code.google.com/archive/p/luadbi/"; platforms = stdenv.lib.platforms.unix; - maintainers = with maintainers; [ sshishk ]; }; }; From 7d0b910361899ef9fdfa6b2e9e2c7b078da019c3 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 08/15] luaPackages.luasocket: compile with unix support --- pkgs/top-level/lua-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 1f70e99c010..9b1ec10855d 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -388,6 +388,8 @@ let ); ''; + installTargets = [ "install" "install-unix" ]; + meta = with stdenv.lib; { description = "Network support for Lua"; homepage = "http://w3.impa.br/~diego/software/luasocket/"; From 988ce5433f9b452dd419d7ada9a033fa4e44a8fc Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 09/15] prosody: support for DBI, extra community modules and extra Lua libraries --- pkgs/servers/xmpp/prosody/default.nix | 28 +++++++++++++++++---------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix index 3285456a348..b6af22883bc 100644 --- a/pkgs/servers/xmpp/prosody/default.nix +++ b/pkgs/servers/xmpp/prosody/default.nix @@ -1,16 +1,24 @@ { stdenv, fetchurl, libidn, openssl, makeWrapper, fetchhg -, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop, luaevent ? null, luazlib ? null -, withLibevent ? true, withZlib ? true }: +, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop +, withLibevent ? true, luaevent ? null +, withZlib ? true, luazlib ? null +, withDBI ? true, luadbi ? null +# use withExtraLibs to add additional dependencies of community modules +, withExtraLibs ? [ ] +, withCommunityModules ? [ ] }: assert withLibevent -> luaevent != null; assert withZlib -> luazlib != null; +assert withDBI -> luadbi != null; with stdenv.lib; let libs = [ luasocket luasec luaexpat luafilesystem luabitop ] ++ optional withLibevent luaevent - ++ optional withZlib luazlib; + ++ optional withZlib luazlib + ++ optional withDBI luadbi + ++ withExtraLibs; getPath = lib : type : "${lib}/lib/lua/${lua5.luaversion}/?.${type};${lib}/share/lua/${lua5.luaversion}/?.${type}"; getLuaPath = lib : getPath lib "lua"; getLuaCPath = lib : getPath lib "so"; @@ -28,14 +36,12 @@ stdenv.mkDerivation rec { }; communityModules = fetchhg { - url = "http://prosody-modules.googlecode.com/hg/"; - rev = "4b55110b0aa8"; - sha256 = "0010x2rl9f9ihy2nwqan2jdlz25433srj2zna1xh10490mc28hij"; + url = "https://hg.prosody.im/prosody-modules"; + rev = "590ac12b7671"; + sha256 = "02f3nmvbidm2f32v6kvc1ljmslysgk0ab2lpg91szy0agmmj5xja"; }; - buildInputs = [ lua5 luasocket luasec luaexpat luabitop libidn openssl makeWrapper ] - ++ optional withLibevent luaevent - ++ optional withZlib luazlib; + buildInputs = [ lua5 makeWrapper libidn openssl ]; configureFlags = [ "--ostype=linux" @@ -44,7 +50,9 @@ stdenv.mkDerivation rec { ]; postInstall = '' - cp $communityModules/mod_websocket/mod_websocket.lua $out/lib/prosody/modules/ + ${concatMapStringsSep "\n" (module: '' + cp -r $communityModules/mod_${module} $out/lib/prosody/modules/ + '') withCommunityModules} wrapProgram $out/bin/prosody \ --set LUA_PATH '${luaPath};' \ --set LUA_CPATH '${luaCPath};' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2a96fbe6622..3d4c3931389 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11498,7 +11498,7 @@ with pkgs; prosody = callPackage ../servers/xmpp/prosody { lua5 = lua5_1; - inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib; + inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib luadbi; }; biboumi = callPackage ../servers/xmpp/biboumi { }; From 57f3dd5a2f8c3b6cd10f6d94d52af48e18d3d540 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 10/15] prosody service: add restart trigger --- nixos/modules/services/networking/prosody.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index 2c570674508..27e96f66cf0 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -287,6 +287,7 @@ in after = [ "network-online.target" ]; wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; + restartTriggers = [ config.environment.etc."prosody/prosody.cfg.lua".source ]; serviceConfig = { User = "prosody"; Type = "forking"; From c75528bd566e99b3cfcb323d5e362d77a97e67c2 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Wed, 1 Mar 2017 00:57:02 +0000 Subject: [PATCH 11/15] prosody service: add extra SSL options --- nixos/modules/services/networking/prosody.nix | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index 27e96f66cf0..f34d8e172b4 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -10,17 +10,22 @@ let options = { - # TODO: require attribute key = mkOption { type = types.path; - description = "Path to the key file"; + description = "Path to the key file."; }; - # TODO: require attribute cert = mkOption { type = types.path; - description = "Path to the certificate file"; + description = "Path to the certificate file."; }; + + extraOptions = mkOption { + type = types.attrs; + default = {}; + description = "Extra SSL configuration options."; + }; + }; }; @@ -112,10 +117,19 @@ let }; - createSSLOptsStr = o: - if o ? key && o ? cert then - ''ssl = { key = "${o.key}"; certificate = "${o.cert}"; };'' - else ""; + toLua = x: + if builtins.isString x then ''"${x}"'' + else if builtins.isBool x then toString x + else if builtins.isInt x then toString x + else throw "Invalid Lua value"; + + createSSLOptsStr = o: '' + ssl = { + key = "${o.key}"; + certificate = "${o.cert}"; + ${concatStringsSep "\n" (mapAttrsToList (name: value: "${name} = ${toLua value};") o.extraOptions)} + }; + ''; vHostOpts = { ... }: { From ae4579e0cb969ac2245a3e58b79a15757e31ca99 Mon Sep 17 00:00:00 2001 From: Satoshi Shishiku Date: Fri, 28 Jul 2017 12:50:08 +0000 Subject: [PATCH 12/15] prosody.communityModules: 590ac12b7671 -> 9a3e51f348fe --- pkgs/servers/xmpp/prosody/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix index b6af22883bc..8eea5a6584c 100644 --- a/pkgs/servers/xmpp/prosody/default.nix +++ b/pkgs/servers/xmpp/prosody/default.nix @@ -37,8 +37,8 @@ stdenv.mkDerivation rec { communityModules = fetchhg { url = "https://hg.prosody.im/prosody-modules"; - rev = "590ac12b7671"; - sha256 = "02f3nmvbidm2f32v6kvc1ljmslysgk0ab2lpg91szy0agmmj5xja"; + rev = "9a3e51f348fe"; + sha256 = "09g4vi52rv0r3jzcm0bsgp4ngqq6iapfbxfh0l7qj36qnajp4vm6"; }; buildInputs = [ lua5 makeWrapper libidn openssl ]; From 1898496be744087d8a921ccb84efaa902b8e89bc Mon Sep 17 00:00:00 2001 From: Markus Kohlhase Date: Mon, 6 Nov 2017 15:54:15 +0100 Subject: [PATCH 13/15] prosody: remove flosse from the list of maintainers --- pkgs/servers/xmpp/prosody/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix index 8eea5a6584c..b0e3492c0da 100644 --- a/pkgs/servers/xmpp/prosody/default.nix +++ b/pkgs/servers/xmpp/prosody/default.nix @@ -67,6 +67,6 @@ stdenv.mkDerivation rec { license = licenses.mit; homepage = http://www.prosody.im; platforms = platforms.linux; - maintainers = [ maintainers.flosse ]; + maintainers = [ ]; }; } From d7ee7cf9d9c0efdc52360cc6da62e1d7d57807ad Mon Sep 17 00:00:00 2001 From: Markus Kohlhase Date: Mon, 6 Nov 2017 15:58:59 +0100 Subject: [PATCH 14/15] lua-filesystem: remove flosse from the list of maintainers --- pkgs/development/interpreters/lua-5/filesystem.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/lua-5/filesystem.nix b/pkgs/development/interpreters/lua-5/filesystem.nix index 21f656044a3..7aa41e95cc9 100644 --- a/pkgs/development/interpreters/lua-5/filesystem.nix +++ b/pkgs/development/interpreters/lua-5/filesystem.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { meta = { homepage = https://github.com/keplerproject/luafilesystem; hydraPlatforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.flosse ]; + maintainers = [ ]; }; } From c84cb83e40b2bac6314d46389fc0478e334c9c2c Mon Sep 17 00:00:00 2001 From: Markus Kohlhase Date: Mon, 6 Nov 2017 16:00:09 +0100 Subject: [PATCH 15/15] luabitop: remove flosse from the list of maintainers --- pkgs/top-level/lua-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index 9b1ec10855d..b53526288f9 100644 --- a/pkgs/top-level/lua-packages.nix +++ b/pkgs/top-level/lua-packages.nix @@ -72,7 +72,7 @@ let description = "C extension module for Lua which adds bitwise operations on numbers"; homepage = "http://bitop.luajit.org"; license = licenses.mit; - maintainers = with maintainers; [ flosse ]; + maintainers = with maintainers; [ ]; }; };