Merge pull request #190682 from cpu/cpu-init-ldmud-3.6.6

ldmud: init at 3.6.6

authored by ckie and committed by GitHub 85de8ecb d2631910

+112
+100
pkgs/games/ldmud/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , stdenv 4 + , autoreconfHook 5 + , pkg-config 6 + , bison 7 + , libiconv 8 + , pcre 9 + , libgcrypt 10 + , json_c 11 + , libxml2 12 + , ipv6Support ? false 13 + , mccpSupport ? false 14 + , zlib 15 + , mysqlSupport ? false 16 + , libmysqlclient 17 + , postgresSupport ? false 18 + , postgresql 19 + , sqliteSupport ? false 20 + , sqlite 21 + , tlsSupport ? false 22 + , openssl 23 + , pythonSupport ? false 24 + , python310 25 + , ... 26 + }: 27 + 28 + stdenv.mkDerivation rec { 29 + pname = "ldmud"; 30 + version = "3.6.6"; 31 + 32 + src = fetchFromGitHub { 33 + owner = pname; 34 + repo = pname; 35 + rev = version; 36 + sha256 = "sha256-2TaFt+T9B5Df6KWRQcbhY1E1D6NISb0oqLgyX47f5lI="; 37 + }; 38 + 39 + sourceRoot = "${src.name}/src"; 40 + 41 + nativeBuildInputs = 42 + [ autoreconfHook pkg-config bison libgcrypt pcre json_c libxml2 ] 43 + ++ lib.optional mccpSupport zlib ++ lib.optional mysqlSupport libmysqlclient 44 + ++ lib.optional postgresSupport postgresql 45 + ++ lib.optional sqliteSupport sqlite ++ lib.optional tlsSupport openssl 46 + ++ lib.optional pythonSupport python310; 47 + buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; 48 + 49 + # To support systems without autoconf LD puts its configure.ac in a non-default 50 + # location and uses a helper script. We skip that script and symlink the .ac 51 + # file to where the autoreconfHook find it. 52 + preAutoreconf = '' 53 + ln -fs ./autoconf/configure.ac ./ 54 + ''; 55 + 56 + configureFlags = [ 57 + "--enable-erq=xerq" 58 + "--enable-filename-spaces" 59 + "--enable-use-json" 60 + "--enable-use-xml=xml2" 61 + (lib.enableFeature ipv6Support "use-ipv6") 62 + (lib.enableFeature mccpSupport "use-mccp") 63 + (lib.enableFeature mysqlSupport "use-mysql") 64 + (lib.enableFeature postgresSupport "use-pgsql") 65 + (lib.enableFeature sqliteSupport "use-sqlite") 66 + (lib.enableFeatureAs tlsSupport "use-tls" "ssl") 67 + (lib.enableFeature pythonSupport "use-python") 68 + ]; 69 + 70 + preConfigure = lib.optionalString mysqlSupport '' 71 + export CPPFLAGS="-I${lib.getDev libmysqlclient}/include/mysql" 72 + export LDFLAGS="-L${libmysqlclient}/lib/mysql" 73 + ''; 74 + 75 + installTargets = [ "install-driver" "install-utils" "install-headers" ]; 76 + 77 + postInstall = '' 78 + mkdir -p "$out/share/" 79 + cp -v ../COPYRIGHT $out/share/ 80 + ''; 81 + 82 + meta = with lib; { 83 + description = "A gamedriver for LPMuds including a LPC compiler, interpreter and runtime"; 84 + homepage = "https://ldmud.eu"; 85 + changelog = "https://github.com/ldmud/ldmud/blob/${version}/HISTORY"; 86 + longDescription = '' 87 + LDMud started as a project to clean up and modernize Amylaar's LPMud 88 + gamedriver. Primary goals are full documentation, a commented source body 89 + and out-of-the-box support for the major mudlibs, of which the commented 90 + source body has been pretty much completed. During the course of work 91 + a lot of bug fixes and improvements found their way into the driver - much 92 + more than originally expected, and definitely enough to make LDMud 93 + a driver in its own right. 94 + ''; 95 + # See https://github.com/ldmud/ldmud/blob/master/COPYRIGHT 96 + license = licenses.unfreeRedistributable; 97 + platforms = with platforms; linux ++ darwin; 98 + maintainers = with maintainers; [ cpu ]; 99 + }; 100 + }
+12
pkgs/top-level/all-packages.nix
··· 33589 33589 33590 33590 koules = callPackage ../games/koules { }; 33591 33591 33592 + ldmud = callPackage ../games/ldmud { }; 33593 + 33594 + ldmud-full = callPackage ../games/ldmud { 33595 + ipv6Support = true; 33596 + mccpSupport = true; 33597 + mysqlSupport = true; 33598 + postgresSupport = true; 33599 + sqliteSupport = true; 33600 + tlsSupport = true; 33601 + pythonSupport = true; 33602 + }; 33603 + 33592 33604 leela-zero = libsForQt5.callPackage ../games/leela-zero { }; 33593 33605 33594 33606 legendary-gl = python38Packages.callPackage ../games/legendary-gl { };