nixpkgs-suyu/pkgs/games/mudlet/default.nix
Alexei Robyn 274715cbc3 luaPackages: Replace all rockspec packages with generated ones
luaPackages replaced by generated ones:
- bit32
- compat53
- cqueues
- luacyrussasl -> cyrussasl (luarocks name)
- luaexpat
- luadbi -> luadbi front-end module + separate backend modules
  luadbi-{mysql,postgresql,sqlite3}
- luafilesystem
- luaossl
- luasec
- luasocket
- luastdlib -> stdlib (luarocks name)
- lrexlib -> lrexlib-pcre (we already have lrexlib-gnu and
  lrexlib-posix, lrexlib-pcre however appears to be the variant used in
  mudlet, which is the only current dep in nixpkgs)
- luasqlite -> luasql-sqlite3 (luarocks name)
- lfs -> luafilesytem (we literally had two manually written
  luafilesystem expressions, under different names)

Changes and additions to overrides to generated luarocks packgaes,
including:
- busted: Install bash completions along with the zsh ones
- cqueues:
    - Perform minor surgery on the rockspec to allow using a single
      rockspec to build for all supported Lua versions
    - Add a patch by @vcunat to work around a build issue
- luuid: Wrote a tiny patch to allow for Lua 5.1/Luajit compatibility
- General changes:
    - Sorted the packages
    - Attempted to make the formatting consistent
    - Preferenced `.override` instead of `.overrideAttrs` wherever
      possible

Minor changes to other packages to adjust for the Lua package changes:
- luakit expression simplified
- prosody expression simplified; but users will now need to specify the
  luadbi backend module they intend to use in withExtraLibs
- knot-resolver inputs correctd
- mudlet inputs corrected (although this package was and should still be
  broken)
2019-06-14 13:17:15 +10:00

46 lines
1.3 KiB
Nix

{ fetchurl, unzip, stdenv, makeWrapper, qtbase, yajl, libzip, hunspell
, boost, lua5_1, luafilesystem, luazip, lrexlib-pcre, luasql-sqlite3, qmake }:
stdenv.mkDerivation rec {
name = "mudlet-${version}";
version = "3.0.0-delta";
src = fetchurl {
url = "https://github.com/Mudlet/Mudlet/archive/Mudlet-${version}.tar.gz";
sha256 = "08fhqd323kgz5s17ac5z9dhkjxcmwvcmvhzy0x1vw4rayhijfrd7";
};
nativeBuildInputs = [ makeWrapper qmake ];
buildInputs = [
unzip qtbase lua5_1 hunspell libzip yajl boost
luafilesystem luazip lrexlib-pcre luasql-sqlite3
];
preConfigure = "cd src";
installPhase = let
luaZipPath = "${luazip}/lib/lua/5.1/?.so";
luaFileSystemPath = "${luafilesystem}/lib/lua/5.1/?.so";
lrexlibPath = "${lrexlib-pcre}/lib/lua/5.1/?.so";
luasqlitePath = "${luasql-sqlite3}/lib/lua/5.1/?.so";
in ''
mkdir -pv $out/bin
cp mudlet $out
cp -r mudlet-lua $out
makeWrapper $out/mudlet $out/bin/mudlet \
--set LUA_CPATH "${luaFileSystemPath};${luaZipPath};${lrexlibPath};${luasqlitePath}" \
--run "cd $out";
'';
patches = [ ./libs.patch ];
meta = {
description = "Crossplatform mud client";
homepage = http://mudlet.org/;
maintainers = [ stdenv.lib.maintainers.wyvie ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
broken = true;
};
}