diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix index 4dcc7a6262f0..dc29c3d5f744 100644 --- a/pkgs/games/mudlet/default.nix +++ b/pkgs/games/mudlet/default.nix @@ -1,46 +1,62 @@ -{ fetchurl, unzip, stdenv, makeWrapper, qtbase, yajl, libzip, hunspell -, boost, lua5_1, luafilesystem, luazip, lrexlib-pcre, luasql-sqlite3, qmake }: +{ fetchFromGitHub, fetchpatch, stdenv, wrapQtAppsHook, pcre, pugixml, qtbase, qtmultimedia, qttools, yajl, libzip, hunspell +, boost, libGLU, lua, cmake, which, }: +let + luaEnv = lua.withPackages(ps: with ps; [ luazip luafilesystem lrexlib-pcre luasql-sqlite3 lua-yajl luautf8 ]); +in stdenv.mkDerivation rec { pname = "mudlet"; - version = "3.0.0-delta"; + version = "4.0.3"; - src = fetchurl { - url = "https://github.com/Mudlet/Mudlet/archive/Mudlet-${version}.tar.gz"; - sha256 = "08fhqd323kgz5s17ac5z9dhkjxcmwvcmvhzy0x1vw4rayhijfrd7"; + src = fetchFromGitHub { + owner = "Mudlet"; + repo = "Mudlet"; + rev = "Mudlet-${version}"; + fetchSubmodules = true; + sha256 = "18bl4k0qgh47d9k5ipfvypfj1il678c0ws64a8adn8k21jajzkik"; }; - nativeBuildInputs = [ makeWrapper qmake ]; - buildInputs = [ - unzip qtbase lua5_1 hunspell libzip yajl boost - luafilesystem luazip lrexlib-pcre luasql-sqlite3 + patches = [ + ( fetchpatch { + url = "https://github.com/Mudlet/Mudlet/commit/3c8f12b6d757894d92ec2e2c9b12b91f69e8a3b6.patch"; + name = "hunspell-1.7"; + sha256 = "09qggls4pzpd8h9h10fbpfd7x3kr7fjp9axdwz98igpwy714n98j"; + }) ]; - preConfigure = "cd src"; + nativeBuildInputs = [ cmake wrapQtAppsHook qttools which ]; + buildInputs = [ + pcre pugixml qtbase qtmultimedia luaEnv libzip libGLU yajl boost hunspell + ]; - 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 '' + WITH_FONTS = "NO"; + WITH_UPDATER = "NO"; + + enableParallelBuilding = true; + + installPhase = '' mkdir -pv $out/bin - cp mudlet $out - cp -r mudlet-lua $out + cp src/mudlet $out + mkdir -pv $out/share/mudlet + cp -r ../src/mudlet-lua/lua $out/share/mudlet/ - makeWrapper $out/mudlet $out/bin/mudlet \ - --set LUA_CPATH "${luaFileSystemPath};${luaZipPath};${lrexlibPath};${luasqlitePath}" \ + mkdir -pv $out/share/applications + cp ../mudlet.desktop $out/share/applications/ + + mkdir -pv $out/share/pixmaps + cp -r ../mudlet.png $out/share/pixmaps/ + + makeQtWrapper $out/mudlet $out/bin/mudlet \ + --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \ + --prefix LUA_PATH : "$NIX_LUA_PATH" \ --run "cd $out"; ''; - patches = [ ./libs.patch ]; - - meta = { + meta = with stdenv.lib; { 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; + maintainers = [ maintainers.wyvie maintainers.pstn ]; + platforms = platforms.linux; + license = licenses.gpl2; }; } diff --git a/pkgs/games/mudlet/libs.patch b/pkgs/games/mudlet/libs.patch deleted file mode 100644 index 45b693828ff2..000000000000 --- a/pkgs/games/mudlet/libs.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/src.pro 2014-09-05 12:51:09.000000000 +0400 -+++ b/src/src.pro 2014-09-15 16:54:34.812560065 +0400 -@@ -85,8 +85,8 @@ - # Again according to FHS /usr/local/share/games is the corresponding place for locally built games documentation: - isEmpty( DOCDIR ) DOCDIR = $${DATAROOTDIR}/doc/mudlet - LIBS += -lpcre \ -- -llua5.1 \ -- -lhunspell \ -+ -llua \ -+ -lhunspell-1.6 \ - -L/usr/local/lib/ \ - -lyajl \ - -lGLU \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1352e646a02e..f5169eaa7802 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22122,7 +22122,7 @@ in mrrescue = callPackage ../games/mrrescue { }; mudlet = libsForQt5.callPackage ../games/mudlet { - inherit (lua51Packages) luafilesystem lrexlib-pcre luazip luasql-sqlite3; + lua = lua5_1; }; n2048 = callPackage ../games/n2048 {};