about summary refs log tree commit diff
path: root/pkgs/games
Commit message (Collapse)AuthorAgeFilesLines
* pkgs/sandbox: Mount paths from path-like variablesaszlig2017-10-038-29/+211
| | | | | | | | | | | | | | | | | | | | | On NixOS the LD_LIBRARY_PATH looks similar to this (depending on the configuration): /run/opengl-driver/lib:/run/opengl-driver-32/lib However, we don't have these paths available within the sandbox, because so far we've only used exportReferencesGraph to gather the runtime dependencies after the build has succeeded. This obviously doesn't take into account runtime dependencies from the system itself. We are now taking care of this by using the Nix store library to query the requisities of all the paths that are contained inside path-like variables (multiple paths delimited by colons) and mount them during sandbox setup. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/sandbox: Factor out setup routineaszlig2017-10-036-573/+609
| | | | | | | | | | This leaves sandbox.c with only the main() function and nothing else, so that whenever we have a lot of binaries to generate, the compilation time should be much lower now. The change doesn't change anything in functionality. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/sandbox: Prepare for querying runtime pathsaszlig2017-10-034-18/+49
| | | | | | | | | | We're now using a makefile for building the sandbox and use pkg-config to pass in the flags we need for compiling against lib(nix)store. Right now the sandbox itself doesn't do anything different because we're not actually using the (incomplete) code for querying the store. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/sandbox: Include basic runtime pathsaszlig2017-10-032-18/+112
| | | | | | | | | | | These paths are things such as /etc and /run but also the .Xauthority file, which contains the cookie to connect to the X server. What is still missing is access to the DRI libraries, which is a bit trickier, because we need to add those store paths at runtime and we need to also mount all of the dependencies. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/sandbox: Use own store path as root directoryaszlig2017-10-032-10/+9
| | | | | | | | | | | | | | | | | | | I've already pointed out in the previous commit that using /tmp for the root directory isn't a very good idea, mainly because we can't access sockets from /tmp (eg. the X server sockets). So what we're now doing is using the store path that contains the sandbox wrappers, because that very path won't be mounted into the sandbox anyway, so we get a free directory just as an entry point. This has the main advantage that we don't need to create any temporary directories which we later need to clean up nor do we need to assume that some paths might exist in the system. For example if we'd use /usr we still have /usr/bin/env on NixOS, but if that's going to go away in the future or we are on a distro that doesn't have it at all, the sandbox setup will fail. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Introduce buildSandboxaszlig2017-10-035-118/+63
| | | | | | | | | | | | | | | | So far creating the sandbox has been a setup hook, however it's a bit ugly how we gathered the needed paths for the chroot file system by recursively searching for store paths. While I'd like to have the sandbox being built within the main derivation, it really isn't very practical when the build takes longer than 10 minutes. With this implementation however the sandbox builds really fast and we can also modify the sandbox without needing to rebuild a particular game. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Add preliminary sandbox hookaszlig2017-10-033-3/+617
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is basically to make sure various games can't write to whatever they want in the file system, so it's not a complete sandboxing solution. Currently there's a drawback in that we can't easily determine the runtime dependencies while building a particular game, so we need to recursively dig through all referenced store paths to look them up. A better solution for this would be to gather the build time reference graph prior to building so that we can limit searching for these references within only the actual build outputs instead of churning through all inputs. In addition to that, we currently mount the namespaced root file system on top of /tmp, which makes the real /tmp unavailable to us. While in theory this shouldn't be a problem, it actually turns out it is indeed a problem if the application wants to connect to the X server socket, which is at something like /tmp/.X11-unix/X0 for display :0. Apart from these drawbacks we have a working solution for simple applications (not games, because they usually require X), which now get its own chroot with only the paths accessible that are strictly necessary. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/invisigun-heroes: Update to version 1.5.50aszlig2017-09-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New features: * NET: Join & invite your Steam friends through the in-game lobby menu or Steam friends list * GAME: Experimental fallback for unsupported controllers & generic USB gamepads * GAME: Added an achievement for completing the training * UI: Your Steam nickname will show at the top left of the title screen * UI: New lobby chat message: "I'm going to spectate this match." * PREFS: Set your own data export path in the "config.json" file in the game directory Updates: * GAME: The shield is only lost when dealt actual damage (not via stuns, Yeti breath, etc) * GAME: Lower chance of character repetition when choosing random heroes * GAME: More obvious shocked/soft-stun effect and audio * GAME: Bubble Suit removed * NET: Online play requires the latest version if there's an update available * AETHER: Aether is immobile for 0.3s after a ground pound * AETHER: Aether's spam cooldown increased from 0.5s to 0.7s * AETHER: Aether's pound has a circular radius of 2 units from his center * AETHER: Pound hard stuns for 1.25s * AETHER: Pound pushback force is uniform * CARMEN: Destroyed block rubble remains for 3s instead of 0.5s * PROTEUS: Tagged players are slowed more (multiplier changed from 0.65x to 0.45x) * PROTEUS: The Scanner Drone can't be self-destroyed while pulse-revealing players * IRIS: Spam allowed reduced from 3 to 2 * EPI: Epi has an ability cooldown of 2s if the ghost is killed (no self-imposed cooldown) * UI: "Join Public Match" is now "Quick Match" with an icon update * UI: Searching for a public match in "Any" region is faster * UI: More fun title screen news Fixes * GAME: Fixed projectiles having no velocity if split while being reflected * GAME: Fixed controller lockup in lobby when switching from previously chosen player slots * GAME: Fixed perma-visibility after teleporting while revealed * GAME: Fixed disappearing revealer if it's pursuing a teleporting player * GAME: Fixed possibility that a Beast Tamer pit beast could spawn outside the map * AETHER: Aether no longer gets stunned if walking into a player that he pounded * EPI: Fixed real Epi teleporting to ghost Epi if inputs are triggered twice in a frame * UI: Fixed some lobby UI initialization before an online match is created * UI: Fixed edge cases that could cause a client to be stuck "waiting for host" in the lobby * UI: Fixed pause menu "Return to Lobby" button for Challenge Mode * UI: Fixed color & bloom values in field guide Full upstream change log: http://www.sombr.com/pub/SIG/tools/ReleaseNotes.php Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Add ALSA library to RT depsaszlig2017-09-131-2/+8
| | | | | | | | | Most older games don't cope very well with PulseAudio, so let's add ALSA so that a fallback is available. This is also very useful if withPulseAudio is set to false, because this would actually mean "no audio at all". Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Switch Unity games to buildUnityaszlig2017-09-133-45/+10
| | | | | | | | | | | | Both of these games weren't working at all. Megabyte Punch was completely broken and the expression wasn't even finished and Lovers In A Dangerous Spacetime wasn't up to date (unfortunately we can't pin on a specific version). Megabyte Punch now also uses callPackage_i686, because it only comes with a 32 bit binary. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Add build-support for pkgsi686Linuxaszlig2017-09-131-5/+10
| | | | | | | | So far we only had all the functions within build-support for builtins.currentSystem, but a few games we have within Vuizvui are still i686-linux. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Fix fetchHumbleBundleaszlig2017-09-131-0/+4
| | | | | | | | | The login URL for HumbleBundle has changed from /login to /processlogin, so let's fix it quickly via sed. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Issue: saik0/humblebundle-python#16 Cc: @saik0
* pkgs/build-game: Add unzip to nativeBuildInputsaszlig2017-09-132-7/+3
| | | | | | | | | | | A lot of games come as a Zip archive, so let's add it to nativeBuildInputs by default so we no longer need to deal with that for every single game. This also removes that line from Invisigun Heroes, so the package now is pretty much minimal and very clean :-) Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Try to evade tarbombsaszlig2017-09-131-1/+21
| | | | | | | | | | A lot of games (especially Unity games) come as a tarbomb, so in order to avoid having those files all over the place we now create an additional directory before unpack and set the sourceRoot to that if it's a tarbomb and if that's not the case set it to the single file within that directory. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-unity: Switch to using buildGameaszlig2017-09-132-31/+20
| | | | | | | | | | | Now we no longer need to invoke patchelf by ourselves and all of the dependencies are patched automatically. I've added gtk2-x11, gdk_pixbuf and glib to buildUnity as well, because after inspecting other Unity games they seem to require the same libraries as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-game: Add runtimeDependencies attributeaszlig2017-09-134-11/+24
| | | | | | | This allows us to add libraries to the RPATH despite being required by the respective game. By default there is only PulseAudio at the moment. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Add a new buildGame functionaszlig2017-09-133-0/+178
| | | | | | | | | | | | | | | The main functionality for this function is to gather missing dependencies in ELF executables and shared libraries and using patchelf to set the right RPATH. All of the dependencies are searched based on what we have in one of the buildInputs variables, so all we need to do is list them in there. One thing that's still left to solve is adding libraries to the RPATH which are only required at runtime. An example for this would be the pulseaudio library. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-unity: Create desktop entryaszlig2017-09-101-2/+19
| | | | | | | | | | | | This automatically creates a desktop entry based on the given fullName and the standard path for the icon (Resources/UnityPlayer.png). Well, at least I hope that the icon path is standard, but we'll see once we use buildUnity for more games. Tested using Plasma 5 for Invisigun Heroes. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/build-unity: Wrap binary instead of linkingaszlig2017-09-101-2/+4
| | | | | | | | The executable of Unity games at the moment is unable to find its own path if it can't do a stat() on argv[0]. So wrapping the program helps here for now. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/invisigun-heroes: Factor out into buildUnityaszlig2017-09-104-38/+67
| | | | | | | | | | | There are a lot of Unity games out there, so it's a good idea to have a generic builder just for Unity, which we then can apply to a lot more games. Right now this is a pretty basic abstraction which I've only tested with Invisigun Heroes. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Inline base-module.nixaszlig2017-09-102-14/+11
| | | | | | | This is such a short expression that really shouldn't belong in its own file, so that everything we want to know is there in default.nix. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/invisigun-heroes: Update to version 1.5.30aszlig2017-09-101-2/+3
| | | | | | | | | | | | The full upstream changes are a bit long to list here between 1.5.1 and 1.5.30, so here are the release notes from the official site: http://www.sombr.com/pub/SIG/tools/ReleaseNotes.php We're now using a version attribute for the fetchItch function, so that future updates won't break the package expression. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/fetch-itch: Allow to pass a versionaszlig2017-09-101-4/+30
| | | | | | | | | | | | | | | | | | So far we had a similar "experience" with itch.io as we had with humblebundle having upstream URLs being updated in-place and thus whenever we're trying to get an earlier revision than the latest one, our fetcher would fail. However, itch.io has build IDs which even contain version string that we can actually use in our packages as-is and they directly map to a build ID. This commit implements just that, so that whenever a version attribute is passed to fetchItch, an explicit version is selected. If such a version couldn't be found, a list of the most recent versions is displayed, which should also make it easier for updating packages. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Add Invisigun Heroesaszlig2017-08-254-1/+138
| | | | | | | | | | This introduces support for fetching games from itch.io, because the Humble Bundle version unfortunately only provides a Steam key and we obviously don't want that. I only played two levels, but so far it works as intended. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Merge pull request #14 (add Antichamber)aszlig2017-07-282-0/+57
|\ | | | | | | | | | | | | | | | | | | | | Pull request is from @layus and I haven't tested the game, because I don't own it myself, but apparently @Profpatsch seems to got it working to the point of having a black screen, but that could be a rendering issue. So I'm merging this anyway, because even if only one person (@layus) is going to play it, it won't hurt and if multiple people using the expressions we probably get bug reports :-)
| * antichamber: init at 1.1Guillaume Maudoux2017-07-242-0/+57
| |
* | games: Add DOTT and Grim Fandangoaszlig2017-07-283-0/+249
|/ | | | | | | | | | | | | | | | | | | | | | | | Both are the remastered versions available via Humble Bundle and both also needed a bit of patching via an LD preloader in order to work as intended. Day of the Tentacle conforms to XDG but it assumes that the data directory is in the same directory of the executable, so we fake /proc/self/exe to point to the "$out/share/dott/DUMMY". The "DUMMY" here is because the implementation does a dirname() on the directory. Grim Fandango on the other hand needs a bit more patching, so we first of all override the _first_ chdir() the game does to point to the data directory but we also override fopen64() and opendir() to use the XDG_DATA_HOME-based save directory whenever one of these calls point to "./Saves/..." because the data directory resides inside the store and thus is (of course) read-only. I had the expressions for these two games laying around for quite a while, so while merging another game from a PR I thought it would be a good opportinity to merge them as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Revert "pkgs/games: add antichamber"Profpatsch2017-07-242-59/+0
| | | | | This reverts commit 1fcecd0b9d6424f32f304c4fda0598894aac2011. It was written by @layus and the code came from PR #14.
* starbound: Update to version 1.3.2aszlig2017-07-191-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additions and changes: * Reduce cost of player station parts * Show some system information on hovering over stars in the navigation interface * Show system name on the system screen in the navigation interface * Properly beam away a player's mech when a player beams off the world * Deploying to asteroid fields puts you in a position related to where in the field your ship is * Allow any number of script panes with no source entity * Add player.interact lua binding * Keep player from starving when in a mech Bug fixes: * Various NPC and Monster behavior fixes * Fix issue where player ships from other systems would be visible on the navigation screen * Fix issue where deploying to a party member could result in deploying a mech to their ship * Improve jarring movement of the sky during flying and warping * Fix issue where inventory items would count twice in crafting interfaces * Fix parameters argument for spawnnpc console command * Fix issue allowing the player to fly the ship before fully repairing it The full upstream release announcement can be found at: http://playstarbound.com/starbound-1-3-2-changelog/ Tested using the games.starbound VM test. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* starbound: Update to version 1.3.1aszlig2017-06-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor changes / bug fixes: * Added and improved sound effects for a variety of monsters, weapons and mech components * Fixed lots of typos * Fix "Parts and Labour" quest description not matching its requirements * Fix bookmarks not being sorted alphabetically * Fix players "swimming" off rail stops using rail hooks * Fix world.spawnLiquid not functioning on tiles with rails/platforms * Fix a bug allowing placement of blocks on some outside walls of player stations * Fix Triplod not registering in monster collection when captured * Fix final ore type not being listed in navigation interface for some planets * Fix placement of a boulder trap in a challenge room * Fix rustick being affected by physics forces/collisions * Make airless space areas actually airless and require breath protection * Fix tier 4 mech bodies not protecting against radiation * Fix penguin weapon shop not unlocking when repeating weapon testing mission * Fix passive monsters becoming aggressive when player engages hostile monsters * Fix some systems not zooming out far enough in nav and planets going out of view * Fix a bug causing a navigation crash when selecting gas giants * Fix objects with minimum / maximum liquid levels not being broken * Fix item drops being stuck in force regions at top / bottom of world * Fix quest indicators being affected by world lighting * Fix bug preventing some background tiles from being painted * Disable "go to quest" button in nav when that system isn't explored (e.g. in another universe) * Fix some bugs when dual wielding rail hooks * Prevent activating techs during mech deployment * Don't show the "E" hint in dialog sequences that are not skippable * Fix a bug where navigation could be canceled after consuming fuel but before starting flight * Rework behavior of hoverbikes in zero gravity * Boats no longer sail out of water * Add an icon to Tonauac's safe fall blessing * Add a few more mech horns * Prevent rail trams from driving off the ends of active stops Modding API changes: * Add world.setDungeonId binding Full upstream release announcement: http://playstarbound.com/1-3-1-changelog/ Tested using the games.starbound VM test. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/fetch-humble-bundle: s/requests2/requests/aszlig2017-06-161-1/+1
| | | | | | | The requests2 package has been merged into the original project upstream and thus is deprecated. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* starbound: Update to version 1.3.0aszlig2017-06-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major upstream changes are: * Navigation Overhaul: The cockpit navigation interface has been completely overhauled. Planets, moons and ships are all visible and orbit each other in real time. Systems will now contain NPC stations, friendly and hostile NPC ships, and strange space anomalies to visit! * Customizable Mechs: Explore these new space locations in customizable spacefaring mechs! Traverse hostile space in zero gravity, fight powerful new space monsters, and collect unique rewards as you upgrade your mech to progress through more difficult hazards. Mechs can also be deployed to planets, to crush your enemies with overwhelming firepower! * Modular Space Stations: Make a permanent home among the stars with player-owned stations! Use a station transponder to place your station into orbit, then expand it with modular rooms to suit your needs. The full changes can be found at the announcement blog post at: http://playstarbound.com/spacefarer-update/ One of the changes not listed there is that the archive now consists of a server_linux and client_linux directory, where the latter is structured the same as in previous versions. However, both contain the server binary and both of these binaries match in content. So I'm assuming that the server_linux directory is only a trimmed-down version in terms of assets but otherwise pretty much the same. I've also fixed the VM test, which didn't recognize the font of "Species" anymore, so we're now matching on "randomise". In addition to that I've added a sleep of 30 seconds before the final screenshot, so we get a picture of the fully rendered intro scenario. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* humble-bundle: Add helper for solving captchasaszlig2017-06-091-2/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not only a major annoyance for us but seems to bother a few other people using the humblebundle-python API: * saik0/humblebundle-python#11 * saik0/humblebundle-python#14 * saik0/humblebundle-python#15 While digging through the reCaptcha2 API and also the implementation of the Humble Bundle site, I stumbled over this code from https://www.humblebundle.com/user/captcha: var captcha = new Recaptcha2('captcha-holder'); $('input[type=submit]').click(function(e){ e.preventDefault(); // recaptcha v2 only cares about response, but we can let the Android app interface stay the same var challenge = ''; var response = captcha.get_response(); var android_defined = false; if (typeof Android != 'undefined') { Android.setCaptchaResponse(challenge, response); } }) So we only need the response, which we do now using a very ugly written Qt 5 QWebEngine GUI which we use to ask the user to solve the captcha. Combined with our downloader, it works like this: Whenever the login fails with a HumbleCaptchaException, we print a message with the store path to the GUI helper. We're inside a fixed-output derivation builder, so we do have networking. The GUI helper also runs a small TCP server listening on port 18123 and the downloader inside the Nix builder constantly tries to connect to that port and waits until it gets just one string (the connection is directly closed afterwards and the GUI helper exits), which is the response. This is then passed as recaptcha_response keyword argument to the login() method of the HumbleApi object. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: add antichamberProfpatsch2017-04-262-0/+59
| | | | Written by @aszlig.
* starbound: Update to version 1.2.2aszlig2017-01-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Upstream changes: * Fix a bug causing frequent save file corruption on Windows after power loss * Fix generated monsters not using their special attacks * Fix kill achievements not unlocking properly * Fix several materials being erroneously tillable or tilling with the wrong tile mod * Fix a dungeon piece in underwater Hylotl cities occasionally failing to place * Fix a dungeon piece in ice vaults occasionally failing to place * Fix airship dungeon sometimes spawning without a clue object * Fix Dreadwing not properly dying when killed with Doomcannon * Fix Mazebound64 game * Disable Outpost return gate to prevent several potential exploits * Miscellaneous bug fixes * Santa has gone ho ho home, to return another Christmas! URL: http://playstarbound.com/starbound-1-2-2-changelog/ Tested using the games.starbound test on x86_64-linux. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games/humblebundle: update pico8 to new versionsternenseemann2017-01-151-4/+7
|
* starbound: Update to version 1.2.1aszlig2016-12-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Upstream changes: * Update bundled steam api * Various fixes to the ancient vault dungeon * Fix chat tabs not being clickable * Fix a potential threading issue related to steam p2p networking * Allow players to repeat the quest to unlock the vaults in multiple universes. Fixes an edge case where doing the quest on a server would make you unable to unlock the key trader in single player, and vice versa. * Fix issue where non-vault mission worlds would not reset after leaving * Make adjustments to texture atlasing to resolve certain framerate issues related to using larger texture sizes * Add "limitTextureAtlasSize" option in starbound.config to manually limit texture atlas sizes. Should only necessary for video cards significantly below the minimum requirements. URL: http://playstarbound.com/starbound-1-2-1-changelog/ Tested using the games.starbound test on x86_64-linux. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* starbound: Update to version 1.2.0aszlig2016-12-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major upstream changes are: * Ancient Vaults: Players who have completed the main storyline can visit a mysterious trader on the Outpost who will send them on a quest to activate and enter the Ancient Gateways found floating in some systems These gateways provide access to Ancient Vaults: challenging procedural dungeons left by the ancients, filled with dangerous guardians (including procedural bosses!) and fantastic lost technologies. * Terraforming: Using powerful devices acquired from the Ancient Vaults along with a new Essence currency, you can now transform regions or whole planets into entirely different biomes Terraformers can be used to expand a region across a planet’s surface, replacing natural blocks, objects and plant life, and eventually changing the type of the planet itself Microformers are consumable single-use terraformers which provide even more region types to add to your worlds. * Weapon Upgrades: Use the ancient anvil available at the end of Ancient Vaults and spend Essence to upgrade your outdated legendary weapons, opening up many new options for endgame combat styles * Elemental Damage: Monsters now have resistance and weakness to elemental damage types, making your choice of weapons more important than ever * Holiday Spirit: Celebrate the holidays with the variety of festive items bought from Space Santa at the Outpost! The full changelog can be found at: http://playstarbound.com/starbound-vault-update/ Tested using the games.starbound NixOS test. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Revert "runCommand -> runCommandCC"aszlig2016-10-173-18/+3
| | | | | | | | | | | | | This reverts commit e3f8d28d6be67257d70035d122263f3a35adc438 and my attempts to mitigate this in 0a50f5fab1abf2e70fd5d7a2dd717c2f2c1b983b and 3b91f25b37ea709f5c86e38a50061199bbed5341. Vuizvui is a repository for experimental stuff, but NOT a dumpster. So please refrain from pushing waste into this repository, like markers for a failed merge. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @Profpatsch
* runCommand -> runCommandCCProfpatsch2016-10-153-3/+18
|
* pkgs/games/humblebundle: reflect changes in version 0.1.9sternenseemann2016-10-071-6/+9
|
* pkgs: Switch to pythonPackages.buildPythonPackageaszlig2016-09-271-2/+2
| | | | | | | Since 771ed59b48bc1257439b4529426cc9047aebc27b, there is no top-level attribute anymore, so let's fix this. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* starbound: Update to version 1.1.1aszlig2016-09-191-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The archive format changed back to zip (as it was prior to version 1.1.0) and there is no longer an "update_tilesets" binary in the upstream distribution. Also a few library dependencies have been changed, so it's no longer sufficient to just provide mesa and SDL2 but we now also need to add a few X libraries. Upstream changes: * Make previously captured monsters and previously completed fossils unlock their relevant collectible entries * Pets and fossils will need to be dropped and picked back up as item drops in order to register as collectables * Better handling of status effects applied by weather, e.g. acid rain * Fix bug with Snuffish and Gosmet not being properly added to monster collection * Fix swapped collection entries for Avian and Apex skeleton fossils * Prevent critters captured in previous versions from also being relocatable * Add a few missing recipe unlocks for cooking recipes to relevant items * Add missing documentation for a few new Lua functions Upstream announcement of version 1.1.1 can be found here: http://playstarbound.com/1-1-1-changelog/ Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/starbound: Update to version 1.1.0aszlig2016-09-111-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The upstream archive is now a RAR archive, so we need to use unrar instead of unzip. Major upstream changes: * Fishing * Two tiers of fishing rods are now craftable from the Foraging Table and can be used to fish on ocean planets (including arctic, toxic and magma oceans) * Added 48 unique fish types to catch * Rare fish can give valuable rewards, including reel and lure upgrades to enhance your fishing rod * Collections * New Collections interface tracks various kinds of collectables including captured pets, figurines, fish, cooking recipes, fossils, and bugs * Added the Relocator tool, which allows non-hostile creatures such as critters, fish, bugs, and farm animals to be moved * Added friendly Novakid villages including a variety of new Novakid-themed furniture and objects The full list of upstream changes can be found at: http://playstarbound.com/starbound-1-1-changelog/ Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games/humblebundle: add pico-8sternenseemann2016-09-052-0/+46
| | | | | | | | Not really a game but a emulator of an imaginary console, so close enough. This package uses the dynamically linked pico-8 version, the (probably) statically linked one had an inexplicable issue with SDL.
* liads: update md5 hashlukasepple2016-08-251-1/+1
|
* fetch-humble-bundle: Allow single-output curlaszlig2016-08-161-1/+2
| | | | | | | This should make sure it can be evaluated on NixOS versions where the closure-size branch has not yet been merged. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games: Add Starbound 1.0.5 from HumbleBundleaszlig2016-08-152-0/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far we only had the Steam version of Starbound, but since July 22nd 2016 version 1.0 got released and since then had a few bugfixes already. The Nix implementation here is based on the Steam version but has quite some improvements: Instead of wrapping the Starbound client and server with a shell script which sets up the bootconfig, we now use patchelf to override specific symbols from external libraries and thus can live without supplying a -bootconfig arg. By replacing the sbinit.config in the .rdata section of the binaries with a magic value (13 times the bell character) we can later match the magic value during open() and provide a default bootconfig using a temporary file. Note that it has to be a temporary file instead of fork() and writing to a pipe() because Starbound is using lseek() during parsing of JSON. With all this in place we now have everything Starbound related in $XDG_DATA_HOME/starbound, which is the main reason for doing the preloading in the first place. Starbound without patching expects a file called sbinit.config in the same directory as the executable and even if we'd supply a bootconfig via the -bootconfig arg, we can only have static paths in there, because Starbound doesn't do environment variable expansion within paths in the bootconfig. Another difference to the Steam packaging is that we now produce multiple outputs, the default one plus lib for the preload library and the assets in its own store path. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs/games/humblebundle: Add Brigadoraszlig2016-06-042-0/+104
| | | | | | | | | | | | Just tested it a bit but haven't really played it (and probably won't have time to during the next weeks). This is the version that got released on 2016-06-02 and it needs a small preload wrapper because it tries to load assets and other stuff relative to the current directory. The preloader makes sure that the correct store path is read instead. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* games/fetch-humble-bundle: Fix path to curlaszlig2016-06-041-1/+1
| | | | | | | Since the merge of the closure-size branch, the curl binary now is in a dedicated output ".bin". Signed-off-by: aszlig <aszlig@redmoonstudios.org>