about summary refs log tree commit diff
path: root/pkgs
Commit message (Collapse)AuthorAgeFilesLines
* machines/katara: add more utilsProfpatsch2018-07-202-9/+31
|
* stardew-valley-beta: Update to version 1.3.25aszlig2018-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream fixes since 1.3.23: 1.3.24 (10 July 2018): * Players stuck on "Connecting to online services..." screen * Crystalarium item swap exploit * Furniture can be used to complete bundles * Milk requirements for certain cooking recipes (now can accept either Milk or Large Milk) * Summer weather forecast bug * Furniture duplication bug * Long tool use animation bug * Warp tile player & shadow animation bug * "Cloud Country" not being added to the jukebox if you create a game via the co-op menu * Cooking food in the kitchen using ingredients from the wrong fridge * Item debris duplication bug 1.3.25 (16 July 2018): * Experimental network usage optimizations * Infinite ingredient use exploit when cooking in the kitchen * NPC marriage dialogue appearing for non-spouse players * Lack of experience gained for harvesting crops with the scythe * Inability to cancel moving a building * Game occasionally locking up on a black screen at 2am Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add War for the Overworldaszlig2018-07-192-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was the whole reason why I implemented the monogame-patcher even though it is very useful for other games as well. So the main issue why patching was needed is that the game writes its savegames into the same directories as other assets, so we need to be very careful about which method we patch and how in order to avoid failures to load other assets rather than savegames. However while in principle the game runs fine there is a Heisenbug hidden, so it segfaults whenever strace is not used. Here is the backtrace: #0 0x0000000000f973be in ?? () #1 0x0000000000f8f444 in ?? () #2 0x0000000000f2379b in ?? () #3 0x0000000000f2940b in ?? () #4 0x0000000000f1fa87 in ?? () #5 0x00000000008e8cc8 in ?? () #6 0x00007ffff79bc5a7 in start_thread () from libpthread.so.0 #7 0x00007ffff61cf22f in clone () from libc.so.6 Disassembly around 0xf973be: f973a2: 45 0f b6 4f 02 movzbl 0x2(%r15),%r9d f973a7: ba 04 00 00 00 mov $0x4,%edx f973ac: 41 80 f9 02 cmp $0x2,%r9b f973b0: 74 05 je f973b7 f973b2: 41 0f b6 57 03 movzbl 0x3(%r15),%edx f973b7: 48 8b 40 30 mov 0x30(%rax),%rax f973bb: 83 f9 1b cmp $0x1b,%ecx >f973be: 8b 40 08 mov 0x8(%rax),%eax f973c1: 89 44 24 58 mov %eax,0x58(%rsp) f973c5: 0f 86 6d 01 00 00 jbe f97538 f973cb: c6 44 24 5f 00 movb $0x0,0x5f(%rsp) f973d0: 45 31 ff xor %r15d,%r15d f973d3: 89 54 24 28 mov %edx,0x28(%rsp) f973d7: 89 74 24 20 mov %esi,0x20(%rsp) f973db: 44 88 44 24 18 mov %r8b,0x18(%rsp) f973e0: 44 88 4c 24 30 mov %r9b,0x30(%rsp) f973e5: e8 16 fa 92 ff callq 8c6e00 The last callq is for <operator new(unsigned long)@@Base+0x27c9d0>, so I'd suppose this might be a bug in the patched Mono version of Unity but could also be a chain reaction (who knows). Probably the reason why it works with strace might be a race condition, but I haven't thoroughly debugged this. Especially if there are no symbols available it's very hard to debug, so I'll leave that to some day in the future. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Allow to define specific methodsaszlig2018-07-192-23/+49
| | | | | | | | | | | | | | So far we only matched a substring of a type, which isn't very exact of course. We also weren't able to specify the method to patch. Now the methods that are being patched can be specified by using Type::Method. If it's just Type without a method all the methods of the type and its subtypes are patched. I also added a small check to make sure that all of these methods were found, and if not an error is thrown. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Return exitcode 1 on CLI erroraszlig2018-07-192-2/+13
| | | | | | | | If there is a command line usage error, we really don't want the program to return exit status 0 (success), so let's actually set the return value on WithParsed(). Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Raise exception on no-opaszlig2018-07-191-1/+10
| | | | | | | We really want to make sure that things were actually patched, so just silently skipping everything is not an option. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Allow specifying extra assemblyaszlig2018-07-193-14/+58
| | | | | | | | If we want to replace a call with one that's not in a module which is currently referenced by the target file we now have another command line flag for replace-call (-a) where we can specify the additional DLL file. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Use cleanSource for the src attraszlig2018-07-191-2/+2
| | | | | | | | While there won't be any .git directories within ./src, I still create Vim swap files all the time when editing stuff. So let's make sure that those swap files are not included in the src input of the derivation. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Fix assembly search directoryaszlig2018-07-192-11/+16
| | | | | | | | | | | | | | By default the assemblies are searched in the current working directory, but when patching an assembly in some other directory than the current the patcher will fail to resolve assemblies residing beneath the target file. So we just add the directory of the target file to the search path. I also moved all of the assemblies in the test to be in a subdir so we can verify that this indeed works and we won't regress in the future. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Work around terminal width issueaszlig2018-07-192-1/+13
| | | | | | | | | | | | | | | | | | If the command is not executed inside a terminal the value of Console.WindowWidth is 0 and thus we will get an exception from CommandLineParser: Unhandled Exception: System.ArgumentOutOfRangeException: Length cannot be less than zero. Parameter name: length at System.String.Substring ... at CommandLine.Text.HelpText.AddOption ... ... So let's initialize the parser with settings and if WindowWidth is 0 we just add 80 as the width. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Improve values for replace-callaszlig2018-07-192-5/+7
| | | | | | | | | | | | Using an IEnumerable for the search and replace arguments isn't really a very good idea, because it makes command line usage very annoying and messes up the usage description. I originally made this an IEnumerable because I wanted to have a way to specify multiple replacements, but we can simply run the patcher twice or more times. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Refactor method ref findingaszlig2018-07-195-67/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | So far we have searched for methods in two steps: First get all the types and then find all of the constructors or method definitions. The match for the actual method definition was done first for the type and then again for the full definition of the method/constructor. For the replace-call subcommand this also means that we don't have a very good way to find the type, because if we wanted to keep doing this in two steps we would need to parse the type name out of the one given as the replacement string in replace-call. So now we recurse through *all* the constructors and methods and do a full match against the specified replacement string, both for replace-call and for fix-filestreams. Compared to the implementation so far we also do this just once instead of every time we find a call or FileStream constructor. I also overhauled the way we do testing, because in the end writing tests using NUnit would introduce a lot of code churn because we need to make a lot of external calls. The shell is especially useful for exactly that and our tests are now just a plain shell script. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Restructure and add stub testsaszlig2018-07-195-30/+65
| | | | | | | | | | | | | Mainly this is so we can prepare for running unit tests, so we get the latest version of NUnit and run the console test runner. Currently there is only a dummy test which always succeeds, but it's there so that we can fill out the boilerplate later. I also moved the option definitions into a separate file so they don't clutter up the main file. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Switch to MSBuildaszlig2018-07-194-27/+65
| | | | | | | | | | | | | | I really would have preferred a simple Makefile, but with that we can't use buildDotnetPackage and we also need to take care of butchering the dependencies manually. So I moved everything to src/ and added a csproj file to clean up most of the cruft and just use buildDotnetPackage with minimal attributes. In addition to that I also added assembly info, so that the command line help will show the proper author name, copyright, yaddayadda... Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Add a replace-call subcommandaszlig2018-07-191-2/+61
| | | | | | | | | | | | | | | | | | | | | It's a very early version which I did for a Unity3d game and it *desperately* needs a cleanup. An example command line: monogame-patcher replace-call -i Assembly-CSharp.dll \ 'System.String UnityEngine.Application::get_dataPath()' \ 'System.String UnityEngine.Application::get_persistentDataPath()' \ IniParser SaveMeta Right now the replace-call subcommand has UnityEngine.Application hardcoded, so this won't work for other types than UnityEngine.Application. However, I'm going to refactor the whole patcher very soon and add some tests, so this whole mess will be cleaned up. Signed-off-by: aszlig <aszlig@nix.build>
* towerfall-ascension: Move patcher into own pkgaszlig2018-07-194-94/+147
| | | | | | | | | | | | The patcher using Cecil is now in its own derivation and can thus be easily added via nativeBuildInputs. Patching FileStream types is so common that it comes in handy for other games using Mono. I also improved the patcher a little bit so it accepts command line arguments and it's easier to add the types that needed to be patched directly via command line arguments. Signed-off-by: aszlig <aszlig@nix.build>
* thimbleweed-park: Add desktop itemaszlig2018-07-151-5/+19
| | | | | | | | | | The Ransome Unbeeped DLC doesn't have a data/noarch/support directory which we need for the icon so we need to change the unpack root to data/noarch. This shouldn't make the unpacking phase that much longer because the only additional files that get unpacked are small scripts and docs. Signed-off-by: aszlig <aszlig@nix.build>
* games/bastion: Refactor Nix expression and updateaszlig2018-07-151-54/+134
| | | | | | | | | | | | | | | | | | | | | | | | With fetchHumbleBundle finally being able to fetch the game with my account, I think it's time to update the Nix expression. :-) The game's binary is basically nothing more than just a wrapped Mono, so we can use directly Mono from <nixpkgs> instead of patching the wrapper. I also stubbed out the symbols for libsteam_api.so, which might be a good idea to provide for other games as well but in a more generic way. Another thing that was needed solely because of my stubbornness was to patch out the system() libc library call in libfmodex.so, because I didn't want to add /bin/sh to the sandbox. So in summary: The new expression now is sandboxed, doesn't use the wrapper anymore and also has a desktop entry :-) Unfortunately I haven't found a changelog online to see what has changed between the 20120620 and 20161016. Signed-off-by: aszlig <aszlig@nix.build> Cc: @layus
* fetchHumbleBundle: Fix subproduct name collisionaszlig2018-07-151-2/+2
| | | | | | | | | | | | | | Every HumbleBundle purchase has a list of subproducts and those have so-called 'machine_name' attributes which are unique. However in our fetcher we used the 'human_name' as a unique key, which isn't really unique and in case of bastion the soundtrack subproduct is has the human_name "Bastion" and the actual game has the *same* name as well. Using the machine_name as the unique key now solves the problem that certain games couldn't be found if you for example also have the soundtrack. Signed-off-by: aszlig <aszlig@nix.build>
* games/overload: Update to version 1.0.1839aszlig2018-07-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes changes for upstream release 1.0.1834 and 1.0.1839. New & Changed Features for version 1.0.1839: * Two changes were made to data saved for NG+ after completing the game: * Level 2 upgrades (Super Upgrade points) are undone and the upgrade points are refunded. This allows the player to choose different Level 2 upgrades when starting the NG+ game. * Ammo, missile, and upgrade counts will only be updated if they are better than the values saved from the player's previous run(s). * Updated Rewired input manager, providing support for 3Dconnexion devices such as Space Mouse, Space Explorer, Space Navigator, etc. Fixes for version 1.0.1839: * Fixed the problem with user levels not working on Linux. * NG+ now works add-on missions. * Add-on levels are ignored if they have the same name as an existing level. * The correct ending is now played for Cronus NG+. * Fixed survivor pickup error when there was no story text (which could happen in an add-on level). * Removed anti-cheat detector warning messages that in certain cases caused performance issues. * Fix Save/Load issue with Flak range finder. * Player is no longer warned about skipping upgrades if all upgrades have been applied. * Fixed the orange sky in Phoebe Complex. * Fixed the flickering light at the start of Level 6. * Fixed problem of upgrades disappearing in add-on missions. New & Changed Features for version 1.0.1834: * Added 17 new cheat codes (total is now 20). We'll probably do something like announce one new code each day in Discord. * Pause menu and end level menu shows 'Cheater' if cheat code used. * Added Valkyrie to some CM levels, and added Phantom to more CM levels. * Made [Backspace] act like [Delete] on Mac. * Post-level and post-mission results show times in line with the speedrun timer. * Added stars in the sky in 4 CM levels, 3 MP levels, and 5 SP levels. Fixes for version 1.0.1834: * Fixed an issue in NG+ with reactors doubling their health after each save/load. * Fixed an issue with doors getting erroneously locked after save/load. * Fixed a mixup with black/grey decals. * Fixed missing boss music in NG+ level 15. * Fixed issue with 'last' weapon available in CM not being randomly chosen. * Fixed Vortex and Lancer (and Timebomb in some situations) not spawning in CM. * Fixed an issue with not dying in certain situations on Linux in non-English after loading a saved game. * Fixed invisible weapons in MP Signed-off-by: aszlig <aszlig@nix.build>
* games/xeen: Update ScummVM to latest masteraszlig2018-07-081-2/+2
| | | | | | | | | | | | | The latest master version has a few fixes for World of Xeen: * Split the Adlib sound driver into it's own file * Add detection entries for Clouds/Darkside/World of Xeen GOG German * Fix crash using mirrors in standalone Clouds of Xeen * Properly handle SFX & Music volume control * Call audio cd manager open/close in engine init/deinit * Fix using mouse click to close message dialogs Signed-off-by: aszlig <aszlig@nix.build>
* stardew-valley-beta: Update to version 1.3.23aszlig2018-07-061-2/+2
| | | | | | | | | | | | | | | | | | Upstream fixes: * Prismatic shard drop rates don't increase when players hit the bottom of the mine * Farmhands warped to the wrong version of Marnie's house after purchasing animals * Crash when player/player child is born and one of the parents is offline * Multiple spouses standing in same space on farm * Using a weapon after eating nullifies the food effects * Walk around (instead of through) Pam when getting on the bus * Toddlers not moving inside cabins * Stop fly buzzing sound when it dies Signed-off-by: aszlig <aszlig@nix.build>
* gomes/gog: Add Settlers 2 Gold edition using RTTRaszlig2018-07-052-0/+104
| | | | | | | | | | | | | | | | | | | | This packages "Return to the Roots" along with the game data fetched from GOG. So basically it's RTTR with a "RTTR_GAMEDIR" set to the files extracted from the GOG version. In reality it's a bit more involved as we need to patch a few things and also make sure that the sounds are built via Nix rather to be generated at runtime. The RTTR standard procedure would be to just install RTTR and you put your game data somewhere in /usr/share (or any other place you've configured) and on first startup it's generating the SOUND.LST file. We want all the games in Vuizvui to be completely dispensible so that the persistent files are *only* in $XDG_DATA_HOME/settlers2, so I've made sure that everything is baked in at *build* time instead. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs: Fix passing through i686-linux package setaszlig2018-07-043-4/+6
| | | | | | | | | | | | | | | | | So far in the games namespace we have just used the callPackage_i686 function from <nixpkgs> instead of our augmented set. If we just use packages that are available in <nixpkgs> everything is fine, but as soon as we want to use one of our own packages for i686-linux we can't simply do that. One example is the override in the gog.albion derivation which just uses buildSandbox from the main pkgs attribute set. We now properly pass through the whole pkgsi686Linux set to the games namespace, so we can drop that hack for Albion. Signed-off-by: aszlig <aszlig@nix.build>
* stardew-valley-beta: Update to version 1.3.22aszlig2018-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally the version is in par with the Steam version. Here are the fixes since 1.3.18: 1.3.19 (14 June 2018): * Client crashing when joining game due to null quest * Beach Bridge not updating for other players when one repairs it * Controls locking up inside fishing tent * Loss of 'Dating' friendship status when upgrading from 1.2 to 1.3 * Wedding ring not appearing in crafting list in smapi * deepestMineLevel stat only updating when they go deeper then any other player * Seasonal tileset / smapi compatibility issue * Farmhands unable to enter pierre's on Wednesday after Community center completion * Rain totems not working in multiplayer * No blue chickens in mulitplayer * Gus walking through walls in Community Center * Some animations playing at double speed inside buildings * Pam disappearing (potential fix) 1.3.20 (19 June 2018): * Fish splash points not properly syncing * Missing elevator dings for clients * Objects broken by weapons breaking twice when there is latency * Glitched chest object in inventory UI * Horse missing sounds/animation for clients * Crash when trying to display dialogue for NPCs without any dialogue left * Players hidden from view when local player uses a return scepter * All players teleported when return scepter used * Structures can be placed where players would get stuck exiting them * Allow players to walk out of resources (stumps/rocks) if they become stuck inside * Grandpa's candles not lighting * Freeze up when all players are not in bed at 2am * Farmhands not seeing giant mushroom trees until they relog * Translation fixes * Door/footstep sounds can be heard mapwide * Item duplication if farmhands login while their inventory is open * Stamina resetting to max when you leave/rejoin * Trash items respawning when player travels to a different location * Crash after blowing up a rock crab * Fishing treasure chest causing a new cast * Filled chests breaking when they're next to an empty chest 1.3.21 (21 June 2018): * Animal sounds playing outside of map * Player icons overlapping on the map page * Fishing rod casting temp sprites during the fall mini game * Unsynced exhausted state and passing out * Remote characters not blinking * Grubs invincible to host while retreating * Floating lamp sprite in mines * Secret notes fished up spawning without a note number * Beer sprite overlapped by counter in Clint 3 heart event * Secret note #4 description fix 1.3.22 (3 July 2018): * Crash after 596 hours of gameplay * Mistranslated Chinese co-op button on main menu * Divorced status not carried over from 1.2 saves * Post-6pm animal mood drain * Animal happiness overflowing * Spa not regenerating stamina when a menu is open in multiplayer * Second player-player parent pregnancy causing crashes * Farmhands able to retrieve last item shipped after it has been sold * Lighting detaching from sources when upgrading house * Players losing cursor slot items when they become disconnected while managing inventory * Farmhands unable to enter tower if they join after CC is completed * Armored bugs not invincible * Wrong fish appearing in fishing minigame tent * Slingshot minigame crash * Broken skull cavern level 100 event in Russian * Cave carrot quest crash * Buffs not clearing when farmhands log out * Farmhands can't open chest in Junimo huts * Goblin problem quest still in log for other players after goblin is removed * New songs on Jukebox show wrong names * Duplicate songs on Jukebox I haven't extensively tested this, only loaded a savegame and walked around a bit. However the changes are only fixes and there aren't any changes that would be relevant for our packaging. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Expose get_mount_target()aszlig2018-07-022-1/+2
| | | | | | | | I'm going to use the sandboxing implementation as the basis for something else where I'm going to do additional mounts on top of the existing ones. This is just to make it easier to find the mount target. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Fix mount flagsaszlig2018-07-021-9/+20
| | | | | | | | | | | | When using MS_BIND the mount flags aren't actually applied, so we need to remount the bind mount with the flags we wanted if additional flags are desired for the mount. I've also removed the MS_NOATIME, because this doesn't work for kernel 4.14 (returns -EPERM) and it's really not necessary to change the atime flags for our bind mounts. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Add flag to bind-mount read-onlyaszlig2018-07-023-12/+16
| | | | | | | | | | | | | | While the Nix store should be read-only by default, we can't guarantee this as the Nix store could be mounted read-write (for example on non-NixOS systems). For paths other than store directories, I took a conservative approach here where only /etc is mounted read-only, for all the pseudo- filesystems such as /proc, /sys or /dev write access might still be needed, for example to write to a hardware device exposed via /dev (eg. a gamepad with rumble support). Signed-off-by: aszlig <aszlig@nix.build>
* games/itch: Add Towerfall Ascensionaszlig2018-07-012-0/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | Packaging is a bit similar to what we had to do back then with Opus Magnum (see commit 523dcef1f77251a4cfeb3428a0b13c0ec1d9c342) where some game data files were tried to open in read-write mode. I'm using the same patcher (which is using Mono.Cecil) that I have used for Opus Magnum back then but I've cleaned it up a bit. In the long term I'd try to make the patcher a bit more generic so that it can be used for other Mono-based games, because opening game data files in read-only mode seems to be fairly common among a few other games I haven't fully packaged yet. The game also tries to execute "xdg-open error_log.txt" in the event a uncaught exception occurs, which then fails because no xdg-open is available. So instead, I made a small dummy wrapper which just runs "head" on the error.log instead. Another thing which unfortunately is currently not working is the editor, because it tries to create a directory ("Workshop") within the game's content directory, which - again - doesn't work within the read-only Nix store. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Satelite Reignaszlig2018-07-012-0/+19
| | | | | | | | | | | Another Unit3d game, so packaging is pretty straightforward but the save games and settings are in $XDG_DATA_HOME/SatelliteReign instead of the standard Unity3d directory ($XDG_CONFIG_HOME/unity3d). The standard Unity3d directory however is still used, but it only contains the player log file. Signed-off-by: aszlig <aszlig@nix.build>
* profpatsch/nix-gen: Only build on x86_64-linuxaszlig2018-06-301-0/+1
| | | | | | | | | | The build currently fails on Hydra and I highly doubt that it will be used on an i686-linux system. If it's really needed for i686-linux systems it can be directly used for a specific machine or this very commit could be reverted. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* games/gog: Add Thimbleweed Parkaszlig2018-06-282-0/+56
| | | | | | | | | | | | | | | | | This also supports the "Ransome Unbeeped" addon which should get rid of all the beeps from Ransome's voice tracks. I added this by default in the package, because in order to enable it you still either need to enable it every time you start the game or set "forceRansomeUnbeeped: 1" in "$XDG_DATA_HOME/Terrible Toybox/Thimbleweed Park/Prefs.json" to make it permanent. The packaging is pretty straightforward except a small preloader which changes the working directory to the shared data directory so the "ggpack" files can be found. From inspecting the binary this should also be doable by setting the THIMBLEENGINE_GAMEROOT environment variable, but I haven't tried yet. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Dungeons 3aszlig2018-06-282-0/+19
| | | | | | | | Unfortunately this game doesn't work on my machine, as I don't have support for OpenGL 4.3. However, the game at least gets to the loading screen, so it should work in theory. Signed-off-by: aszlig <aszlig@nix.build>
* games/build-unity: Add support for .app dirsaszlig2018-06-281-1/+6
| | | | | | | | | | | | | | | Some games (well, currently just one, Dungeons 3) come with a .app directory that contains additional game data which includes package .unity3d files. Such directories will be searched relative from the current working directory, so let's actually set the working directory to $out/share/something and copy the .app directory to that if it exists. Tested with Dungeons 3 and also with a few other Unity3d games to see whether they still work. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/list-gamecontrollers: Fix buildaszlig2018-06-281-3/+3
| | | | | | | | | This package has been broken for a long time, because in the meantime (actually quite a while ago, maybe a year even) runCommand no longer includes a C compiler. So let's switch to runCommandCC instead and use "cc" instead of "gcc" to be Clang-compatible. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Wizard of Legendaszlig2018-06-282-0/+17
| | | | | | A Unity3d game, so packaging is pretty straightforward. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs.profpatsch: add nix-genProfpatsch2018-06-252-0/+24
|
* games/gog: Add Overloadaszlig2018-06-222-0/+17
| | | | | | | I have only tested whether loading and saving games works and flew around for about 1 minute in the first mission. Signed-off-by: aszlig <aszlig@nix.build>
* stardew-valley-beta: Update to version 1.3.18aszlig2018-06-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While it would be preferrable to have the current version (1.3.19, which is not available for GOG GNU/Linux users right now), this update at least fixes a few of the more nastier bugs. Fixes for 1.3.12 (22 May 2018): * All players seeing milking messages * Object desync on farm between players * Lighting issue in spa * Clocks becoming de-synced from server latency (now will disconnect player) * Network usage high when NPCs moving * Delay when using bombs * Hidden mines ladder to skull cavern * Erroneous thunderstorm weather forecast in summer Fixes for 1.3.13 (24 May 2018): * Added separate chests in the mines for each player * Fishing tent control lock up * Duplicate cursors in minigames * Crashes buying furniture * Freeze ups when fishing during events * Crash caused by ordering a building construction the day before a festival * Crash breaking certain objects in the skull cavern * Horse-related bugs with movement between screens/clipping Fixes for 1.3.14 (25 May 2018): * Re-enabled moving & demolishing buildings in multiplayer (although only host can do it) * Staircases appearing at the bottom of the mines * Mermaid show not playing if volume is muted * Added a quest to hint at the magnifying lens * Crash when selling lots of items to Pierre / through the shipping bin Fixes for 1.3.15 (30 May 2018): * Bundle menu is usable for clients outside of the community center * Break-up event has been made less harsh * Crash upon returning to a level of the mines with a chest, after having just been in it * Machines breaking themselves sometimes when you're near torches * Crash caused by attempting to load a quest that hasn't been localized yet * Monster cries being heard outside of the mines Fixes for 1.3.16 (05 June 2018): * Client 'introductions' quest tracking the wrong number of villagers * Cabin fridges emptying when host reloads * Secret Santa assignments changing * Items missing from festival shops playing in Chinese * Fishing tackle traded breaking after one use * Tree seeds not harvestable in multiplayer * Spouse position issues * Players stuck in wall after Emily's 10 heart event * Wallpaper/Floors vanishing and resetting * Host and client don't sync if a ladder or shaft spawns * Slimes aggroing player during secret woods event * Horse becomes unmountable after entering a new location * Horses vanish when jumping between two quickly Fixes for 1.3.17 (07 June 2018): * Farmhands not able to interact with bundles inside community center * Farmhand tools disappearing after logging out while being upgraded * Museum donations disappearing * Farmhand profession sale bonuses not applying * Artifact donation message appears in English for all languages * Profit margin mistranslated in German * Character names appearing in English while playing non-English character languages * Unable to walk through animals while inside a building * Bug which could make farm animals disappear * Baby gender assignment issue for player/player newborns This releaso also contains a new feature: * Invite code now copyable to clipboard Fixes for 1.3.18 (12 June 2018): * Active players can cancel new player creation for farmhands * Mouseover hover missing for buffs * Horse footsteps using wrong sounds * Crash whenever Marlon's name is used * NPCs end of route animation playing at double speed for clients * NPC positions not syncing at end of route animations (multiple NPCs) * Extra tools spawning overnight if another player has them * Gift giving not properly resetting after upgrading from 1.2 to 1.3 * Mistranslated pt-br seed disc saying to plant in winter * Spa sign in English while playing in Chinese * Proposals cannot be canceled * Fishing rod event not triggering for farmhand * Machines producing 'empty' products Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add Party Hardaszlig2018-06-142-0/+17
| | | | | | | | | Packaging is pretty straightforward, because it's a Unity3d game and we have a build hepler for that. Upstream site: http://www.tinybuild.com/partyhard Signed-off-by: aszlig <aszlig@nix.build>
* games/albion: Temporarily fix loading of libGLaszlig2018-06-101-2/+6
| | | | | | | | | | | I think this has te be fixed in <nixpkgs>, because SDL2 loads libGL at runtime using dlopen(), but recent changes have been made so that libGL.so is no longer in LD_LIBRARY_PATH on NixOS by default. So until then, let's set SDL_OPENGL_LIBRARY, so that SDL2 will load it from that path directly instead of searching in LD_LIBRARY_PATH. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Handle store paths that are symlinksaszlig2018-06-091-0/+63
| | | | | | | | | | | | | | | For example the store path of libGL-1.0.0 is a symlink pointing to libglvnd-1.0.0 right now on my machine. If we have such a symlink the sandbox would just silently skip it and only mount the *resolved* path instead of creating the symlink leading to the target. Now whenever bind_mount() with the resolve argument being true is used, we create all the symlinks leading to the target path determined by realpath(). Signed-off-by: aszlig <aszlig@nix.build>
* games/albion: Fix build with Automake 1.16aszlig2018-06-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been broken since a while when Automake 1.16 was introduced in NixOS/nixpkgs@e0c155e26b6a73bba06d6f2ced12bd4bcb0d6503. The upstream WildMIDI project has since moved to CMake and the patches from the static recompilation project haven't been ported to a newer version, so we're stuck with the Automake variant. Fortunately, the fix is rather easy and it's more obvious when you look at the changelog of Automake 1.16: The 'subdir-object' option no longer causes object files corresponding to source files specified with an explicit '$(srcdir)' component to be placed in the source tree rather than in the build tree. For example, if Makefile.am contains: AUTOMAKE_OPTIONS = subdir-objects foo_SOURCES = $(srcdir)/foo.c $(srcdir)/s/bar.c $(top_srcdir)/baz.c then "make all" will create 'foo.o' and 's/bar.o' in $(builddir) rather than in $(srcdir), and will create 'baz.o' in $(top_builddir) rather than in $(top_srcdir). So all we need to do is strip off the absolute pathname of libWildMidi.la/libWildMidiA.la and the build passes. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add World of Xeenaszlig2018-06-092-0/+124
| | | | | | | | | | This is the result when you combine Might and Magic 4 and 5 and ScummVM very recently got support for that. See http://scummvm.org/news/20180501 for the announcement. So we're wrapping the game using latest git version of ScummVM. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/gopass: Rebase patches against version 1.7.1aszlig2018-05-272-14/+14
| | | | | | | | | The patches are basically the same but only the files were moved to a different place in the upstream repository. Tested building and execution. Signed-off-by: aszlig <aszlig@nix.build>
* games/invisigun-heroes: Update to version 1.6.71aszlig2018-05-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hotfix release 1.6.71 contains the following fixes: * UI: Fixed sorting of UI dialogs when in-match * UI: Fixed missing Chinese translation for training menu label * UI: Fixed resolution "free" label value change when changing languages New features in version 1.6.70: * New localization: French * New localization: Chinese * UI: Language selector is presented on first launch * UI: Some title screen layout adjustments for localization (complete reskin later) * CRONUS: Finally has a unique victory pose (like the rest of the cast) Fixes in version 1.6.70: * GAME: GIF export files are properly closed when canceling * GAME: Fixed empty powerup crate falling once on clients if all powerups are disabled * GAME: Fixed not being able to split shots on clients if projectile is already destroyed on the host * GAME: Fixed possibility for two projectiles to create a blast barrier instead of hitting objects * GAME: Fixed missing left ember spawner on The Catacombs * GAME: Random map is refreshed when returning to the lobby from a match * GFX: Fixed the tint of Epi's ghost in his victory pose * UI: "Keyboard" is now properly localized on player selectors * UI: Fixed potential for game to stall if localized text parsing fails in some edge cases * UI: Better spacing in GIF end cards for multi-line Steam usernames * UI: Fixed Connect button being selected after removing IP digits using the GUI * UI: Various minor layout fixes for different locales * UI Fixed ready up indicator minor scaling issues * AUDIO: Fixed replays always playing SFX at max volume * EPI: Fixed ghost Epi getting hit instead of real Epi if standing in the same spot Full upstream change log: https://s3-us-west-1.amazonaws.com/sombr-invisigun/messages/ReleaseNotes.txt Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/profpatsch: update Droopy forkProfpatsch2018-05-231-2/+2
|
* games/stardew-valley: Mark beta as lowPrioaszlig2018-05-191-1/+3
| | | | | | | This is to make sure that noone accidentally installs this either via "nix-env -i" or via "nix-env -u". Signed-off-by: aszlig <aszlig@nix.build>
* games/stardew-valley: Add multiplayer betaaszlig2018-05-192-7/+37
| | | | | | | | | | This adds version 1.3.11 of the ongoing multiplayer beta, so it can be conveniently installed via Nix :-) I haven't tested this a whole lot, only started a new farm, walked around and that's it. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/fetch-gog: List more download typesaszlig2018-05-191-1/+1
| | | | | | | | | | | So far we only showed the main installer packages that are available for a certain game. However there are other things such as downloadable content and related products that we might be interested in. I needed this mainly because the Stardew Valley beta download is listed as bonus content. Signed-off-by: aszlig <aszlig@nix.build>