Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 59 lines 1.7 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitLab, 5 cmake, 6 protobuf, 7}: 8 9stdenv.mkDerivation rec { 10 pname = "goldberg-emu"; 11 version = "0.2.5"; 12 13 src = fetchFromGitLab { 14 owner = "mr_goldberg"; 15 repo = "goldberg_emulator"; 16 rev = version; 17 hash = "sha256-goOgMNjtDmIKOAv9sZwnPOY0WqTN90LFJ5iEp3Vkzog="; 18 }; 19 20 # It attempts to install windows-only libraries which we never build 21 patches = [ ./dont-install-unsupported.patch ]; 22 23 postPatch = '' 24 # Fix gcc-13 build failure due to missing <string> include. 25 sed -e '1i #include <string>' -i dll/settings.h 26 ''; 27 28 nativeBuildInputs = [ cmake ]; 29 buildInputs = [ protobuf ]; 30 31 cmakeFlags = [ 32 "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/share/goldberg" 33 ]; 34 35 preFixup = '' 36 mkdir -p $out/{bin,lib} 37 chmod +x $out/share/goldberg/tools/find_interfaces.sh 38 39 ln -s $out/share/goldberg/libsteam_api.so $out/lib 40 ln -s $out/share/goldberg/lobby_connect/lobby_connect $out/bin 41 ln -s $out/share/goldberg/tools/generate_interfaces_file $out/bin 42 ln -s $out/share/goldberg/tools/find_interfaces.sh $out/bin/find_interfaces 43 ''; 44 45 meta = with lib; { 46 broken = stdenv.hostPlatform.isDarwin; 47 homepage = "https://gitlab.com/Mr_Goldberg/goldberg_emulator"; 48 changelog = "https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/releases"; 49 description = "Program that emulates steam online features"; 50 longDescription = '' 51 Steam emulator that emulates steam online features. Lets you play games that 52 use the steam multiplayer apis on a LAN without steam or an internet connection. 53 ''; 54 mainProgram = "lobby_connect"; 55 license = licenses.lgpl3Only; 56 platforms = platforms.unix; 57 maintainers = [ ]; 58 }; 59}