about summary refs log tree commit diff
path: root/pkgs
Commit message (Collapse)AuthorAgeFilesLines
* fetch-humble-bundle: Fix login with guard codeaszlig2019-09-302-15/+195
| | | | | | | | | | | | | | | | | | | | | | | HumbleBundle has introduced a new guard code, which is sent to the email address of the account owner after the captcha has been solved. Unfortunately, the humblebundle-python[1] library is no longer maintained and there are no forks with fixups. In addition, the code of the library is sub-par and also doesn't support Python 3. So I added a patch containing a _very_ dirty fix to include the guard code during the login procedure for now until we have decided to either go with the existing library and fork it or use another library or implement it ourselves, since we only use a tiny fraction of the HB API. I also fixed up the Qt plugin path for the captcha prompt if a newer nixpkgs revision is used, where we have wrapQtAppsHook. One downside of the guard code is that we get prompted for it _every_ time we download something, which might be annoying, but at least it's better than not working at all. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/profpatsch/execlinebWithBuiltins: fix path amendingProfpatsch2019-09-261-0/+14
| | | | | | | Earlier, it would just append the execline bin path on every invocation, which would clobber the path on nested invocations. We (ab)use the fact that nix paths have a known hash to check whether it was already added before.
* pkgs/profpatsch/runExecline: move to writeCommand formProfpatsch2019-09-264-69/+61
| | | | | | | | It’s conventional that these tools have the form tool name options data so we should adhere to that.
* pkgs/profpatsch/runExecline: move to listProfpatsch2019-09-265-46/+83
| | | | | We can auto-escape execlines correctly if we model them as nix-style lists, so we shoud certainly do so. It also helps abstraction.
* pkgs/profpatsch: export runExeclineLocal & run tests locallyProfpatsch2019-09-242-36/+64
|
* pkgs/santander: Remove obsolete packageaszlig2019-09-234-123/+0
| | | | | | | The upstream service was shut down at September 11th 2019, so there really is no need anymore for this package. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/psi: Fix Qt5 application wrappingaszlig2019-09-231-9/+1
| | | | | | | | | | | | | Qt applications are no longer implicitly wrapped since a while[1] and so we new have to use wrapQtAppsHook instead, which also makes the wrapping for Psi obsolete. To make sure we don't run into startup errors again, I added a small VM test, which checks whether the application starts up properly. [1]: https://github.com/NixOS/nixpkgs/commit/f79fd2e826dd95b3b64839d3e0bec8ae1dfab17e Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/psi: Update to latest upstream masteraszlig2019-09-222-37/+23
| | | | | | | | | | The current master version contains a number of fixes, one of them I encountered by myself, which is a crash when changing profile settings. I've updated the configuration patch accordingly, because a few (obsolete) settings got removed upstream. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/build-sandbox: remove malloc.hProfpatsch2019-09-191-1/+0
| | | | | | | | | | The standard functins in `malloc.h` are exported by `stdlib.h`, and `malloc.h` is highly linux-specific. See https://stackoverflow.com/questions/56463049/should-mac-osx-have-a-malloc-h-file/56463133#56463133 and https://stackoverflow.com/questions/12973311/difference-between-stdlib-h-and-malloc-h
* vim: Exempt xt and strace from linelen highlightaszlig2019-08-031-2/+2
| | | | | | | | Both strace and xt are trace log formats, so imposing my own distaste for overly long line length won't make a difference, as they won't change their "coding style" ;-) Signed-off-by: aszlig <aszlig@nix.build>
* vim: Add syntax highlighting for Xdebug tracesaszlig2019-08-031-0/+13
| | | | | | | | Unfortunately these days I have to debug a lot of PHP code, so having syntax highlighting (even though the syntax file is pretty terse) and being able to fold Xdebug traces is quite useful to have. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/games: Add Warcraft II BNEaszlig2019-06-213-0/+186
| | | | | | | | | | This is supported by the Stratagus/Wargus engine and it's using the data files from the GOG version. I had this laying in the repository for a while but didn't commit and push it yet, so let's call it done by now :-) Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/aszlig: Add custom Psi XMPP clientaszlig2019-06-215-0/+455
| | | | | | | | | | | | | | | | | This is from the current 2.0 development version and has most of my own configuration preferences built-in. Right now, the theming is pretty much a work in progress and the chat input currently shows black text on dark grey background, which is quite a nuisance to use. Another thing that's currently not working (or just for a very short amount of time) are window manager urgency hints. Nevertheless however, I'm already using it as my main XMPP client despite these issues. Signed-off-by: aszlig <aszlig@nix.build>
* games/gog: Add The Longest Journeyaszlig2019-06-113-0/+136
| | | | | | | | | | | | This is basically a wrapper around ResidualVM, which I also patched so that we can inject a basic config file from the Nix store that contains the basic game information. The ResidualVM build is pretty minimal in that we only use those dependencies that we actually need for the game. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* vim: Add syntax highlighting for Jinja2aszlig2019-06-111-0/+9
| | | | | | | Jinja2 seems to be quite popular these days for all sorts of templates, so let's actually use the syntax file from the actual Jinja2 package. Signed-off-by: aszlig <aszlig@nix.build>
* vim: Add syntax/indent configuration for PHPaszlig2019-06-111-0/+7
| | | | | | | | | | | | | | Unfortunately, I need to deal with PHP code occasionally, so let's make syntax highlighting less painful. I'm not sure why the option is called PHP_vintage_case_default_indent, but I prefer case statements to be indented. Apart from HTML/SQL syntax highlighting within PHP strings, I also want to prevent short open tags, so that whenever I stumble on code using it I can immediately fix them. Signed-off-by: aszlig <aszlig@nix.build>
* games: Use preferLocalBuild for fetchersaszlig2019-06-114-0/+7
| | | | | | | | | | | | | | | | If we're on a machine with remote builds enabled, we'd like to prefer not having our login credentials to be pushed on a remote server. We of course also don't want the actual games to end up on a different machine, so let's use preferLocalBuild to avoid this. Unfortunately avoidance is not at any cost, because if we for example use a different system attribute, it might be built on a remote machine nevertheless. Ideally there would be something like "forceLocalBuild", which avoids remote builds at any cost. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* games/gog: Add Heroes of Might & Magic 3: Completeaszlig2019-06-113-0/+134
| | | | | | | | | | | | | | | I had this laying around for quite a while but haven't committed it yet, so I decided to update VCMI to the latest master version. Instead of using the "mp3" directory in the game assets, I decided to go for "music" instead, because all of the files within that directory are actually Ogg Vorbis and it's the game's music. Another thing I've changed is that the launcher now uses execl() instead of QProcess::startDetached, because the latter doesn't work very well with our sandbox and will subsequently cause the client to be killed. Signed-off-by: aszlig <aszlig@nix.build>
* crosscode: 1.0.3 -> 1.1.0aszlig2019-06-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | This introduces the arena in Rhombus Square, which was previously closed, as a major update. The full release announcement can be found at: https://www.radicalfishgames.com/?p=6772 Apart from the arena update here are the rest of the changes: * Finally fix "Wet Work" quest softlock * New Arena tab in Statistics Menu * Introduce pets * A new quest can be found in Sapphire Ridge * A new quest in Ba'kii Kum * New challenges available for the Turret Defense Quests * New equipment and trade offer in Rhombus Square * More guest role NPCs here and there * Remove "Save FIle" version from the save/load menu Signed-off-by: aszlig <aszlig@nix.build>
* fetch-gog: Provide a better login failure messageaszlig2019-06-111-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | So far if the login credentials were wrong, you get something like this: Traceback (most recent call last): File "/nix/store/...-fetch-gog.py", line 113, in <module> GogFetcher(sys.argv[1], sys.argv[2], sys.argv[3]).fetch() File "/nix/store/...-fetch-gog.py", line 15, in __init__ self.login() File "/nix/store/...-fetch-gog.py", line 28, in login auth_code = parse_qs(urlsplit(browser.get_url()).query)['code'] KeyError: 'code' This is isn't very helpful and might hint that there is something wrong with the fetcher. Of course, if GOG would change their login interface and no longer expose the "code" query string item, it might still say login failure, but right now we don't have a better way to detect it. At least if we get a login failure with a login that has been working so far, we know something has changed upstream :-) Signed-off-by: aszlig <aszlig@nix.build> Reported-by: @Profpatsch
* crosscode: 1.0.2 -> 1.0.3aszlig2019-06-111-2/+2
| | | | | | | | | | | | | | Upstream changes: * Add a couple of new quests, new NPC dialogs and a few small details here and there * Finish the "A Promise is a Promise" quest line * The Last Minute Heroes guild headquarters is finally open to everyone, with a new quest * New consumable item is now dropped by the Moon bugs in Sapphire Ridge Signed-off-by: aszlig <aszlig@nix.build>
* machines/shiki: move the notify-send invocation outProfpatsch2019-05-311-2/+1
|
* pkgs/profpatsch/DhallTypedInput: Document moduleProfpatsch2019-05-181-40/+91
|
* pkgs/profpatsch: Haskell dhall import with custom typesProfpatsch2019-05-181-0/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First working mockup of a dhall Haskell API that can read files of the (normalized) form ``` \(CustomType: Type) -> \(AnotherType: Type) -> … ``` and set their actual representation on the Haskell side. This has various advantages: - dhall files still type check & normalize with the normal dhall tooling, they are standalone (and the types can be instantiated from dhall as well without any workarounds) - It can be used like the default `input` function, no injection of custom symbols in the Normalizer is reqired - Brings this style of dhall integration to Haskell, where it was only feasible in nix before, because that is untyped The dhall types can be instantiated by every Haskell type that has an `Interpret` instance. The “name” of the type lambda variable is compared on the Haskell side with a type-level string that the user provides, to prevent mixups. TODO: - Improve error messages (!) - Provide a way to re-use the type mapping on the Haskell side, so that the returned values are not just the normal `Interpret` types, but the mapped ones (with name phantom type)
* machines/haku: open less ports in firewallProfpatsch2019-05-161-0/+1
|
* pkgs/profpatsch: manual dhall-nix updateProfpatsch2019-05-161-1/+12
|
* pkgs/profpatsch/display-infos: display remaining battery lifeProfpatsch2019-04-231-5/+37
| | | | The battery life is displayed as an [sft] timespan.
* pkgs/profpatsch/sfttime: factor out the sft epochProfpatsch2019-04-231-2/+4
|
* pkgs/profpatsch: fix hnix overrideProfpatsch2019-04-201-0/+1
|
* pkgs/profpatsch/nman: fix go buildProfpatsch2019-04-201-1/+3
|
* pkgs/profpatsch/display-infos: add sfttime and AC chargerProfpatsch2019-04-202-7/+10
|
* pkgs/profpatsc: add sfttimeProfpatsch2019-04-203-0/+158
|
* build-support/build-sandbox: add support for mounting /nixProfpatsch2019-04-183-19/+53
| | | | | | Enables us to run nix *inside* of a sandbox. We have to mount the whole store, because otherwise realized store paths built inside of the sandbox are not accessible.
* buildSandbox: return the exit status of wrapped executableProfpatsch2019-04-181-2/+18
| | | | | Since we want to create a transparent sandbox, returning the same exit code as the wrapped process is very important.
* pkgs/profpatsch: add dhall types for s6 servicedirProfpatsch2019-04-0223-0/+285
| | | | | First version of a way to build s6 services using `dhall-to-nix`. Includes a small library that formalizes the tables in `man 7 signal`.
* pkgs.profpatsch: add git-commit-index toolsProfpatsch2019-03-253-0/+178
| | | | | | | A set of utilities to generate and query a git commit index, which is a database that knows which revs (that is: commits) are in which git repository. That way we can query for the project that contains a commit and show them, e.g. with xdg-open.
* pkgs.profpatsch: add nixperimentsProfpatsch2019-03-251-0/+22
|
* sandbox: Add an option to set up /bin/shaszlig2019-03-233-5/+33
| | | | | | | | | | | | | | | | So far I mostly used this implementation for the games we have packaged, where we pretty much patch out all commands that execute external programs. However in order to be useful in a more generic way, it makes sense to provide a /bin/sh implementation, especially when you have to deal with scripting languages. I'm using dash here, because it's a more minimal implementation rather than the default shell (bash) we use in nixpkgs and it practically only needs to be able to run constructs like "/bin/sh -c foo". Signed-off-by: aszlig <aszlig@nix.build>
* pkgs.profpatsch: remove stray local pathProfpatsch2019-03-031-1/+1
|
* pkgs.profpatsch: bump utils-hsProfpatsch2019-03-031-2/+2
|
* pkgs.profpatsch: add patched haskellPackagesProfpatsch2019-03-032-6/+66
|
* stardew-valley: Update to version 1.3.33aszlig2019-02-131-2/+2
| | | | | | | | | | | | | | | | | Upstream changes: * Improved performance in locations with lots of light sources (e.g. torches). * Improved performance on farms with lots of animals. * Tweaked new "H" health icon. Upstream bug fixes: * Fixed multiplayer visual glitch when another player uses a tool and then starts moving in a new direction. * Fixed "fishing stance" visual glitches in multiplayer. Signed-off-by: aszlig <aszlig@nix.build>
* monogame-patcher: Fix SHA256 hashes for depsaszlig2019-02-131-2/+2
| | | | | | | | | | | I checked the archives against the previous versions and the contents match, however the archives themselves had differences with the file order so the hashes are different now. In the long term, we probably should use fetchzip instead so we don't get a hash mismatch if none of the actual contents change. Signed-off-by: aszlig <aszlig@nix.build>
* games: Use "mono" instead of "mono50"aszlig2019-02-134-9/+9
| | | | | | | | | | | The use of mono50 was just an old relic where I was debugging some issue with a game, but I used it as a template for packaging other games, so it spread throughout the code base. I've tested all these games just to make sure they still work with the latest version. Signed-off-by: aszlig <aszlig@nix.build>
* fetchHumbleBundle: Fix fetching productsaszlig2019-02-131-0/+2
| | | | | | | | | | The "Product" model expects to have a "supports_canonical" attribute in the JSON Product object, which since a while is no longer there. We really don't need that attribute for our purposes, so we can simply drop the line where we do the lookup. Signed-off-by: aszlig <aszlig@nix.build>
* fetchHumbleBundle: Fix getting recaptcha responseaszlig2019-02-131-1/+5
| | | | | | | | | | | | | | | | | | The object in question to get the response from the Recaptcha widget is now called "grecaptcha" instead of just "captcha" and the method to call now is also called "getResponse" instead of "get_response". Another change is that the grecaptcha object isn't available immediately once the page is loaded, so I added a try...catch loop for that. I know it's evil to do that, but I tried to check just for whether grecaptcha is available and then call the getResponse method but found out that during object construction there is a small time window where getResponse is available but isn't a callable method. There is still another issue with the HB fetcher, but the first step is hereby fixed. Signed-off-by: aszlig <aszlig@nix.build>
* taalo-build: Allow to build multiple derivationsaszlig2019-02-131-1/+1
| | | | | | | | | | | | | | | | If taalo-build is used on a Nix expression returning multiple derivations either by a list or an attribute set, nix-instantiate will return multiple paths. Quoting the argument to "nix-store -r" however will pass the newline- separated files returned by nix-instantiate as one big file name, which in turn causes the realize to fail. Removing those quotes doesn't have this problems and we also don't get into trouble because those paths are under our control and don't contain spaces or tabs (which would then be splitted by the shell). Signed-off-by: aszlig <aszlig@nix.build>
* sandbox: Fix linking against libnixmainaszlig2019-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since add_DT_NEEDED_for_dynamic is no longer the default for ld[1], we'll get a linking error like this: nix-query.o: undefined reference to symbol '_ZNK3nix5Store22followLinksToStorePathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' Unfortunately, the only way to work around this without re-enabling the same flag is directly specify dependencies we really *should* not need to specify because they're a transient dependency of libnixmain. So for now I'm reverting back to the previous behaviour with --copy-dt-needed-entries until I got time to look into it in detail. From the ld(1) manual page: --copy-dt-needed-entries --no-copy-dt-needed-entries This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker will add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With --no-copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries ignored. The default behaviour can be restored with --copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With the default setting dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With --no-copy-dt-needed-entries specified however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols. [1]: https://github.com/NixOS/nixpkgs/commit/bcfe7af84b3628a31bfcc43dde30fc553a73adac Signed-off-by: aszlig <aszlig@nix.build>
* taalo-build: Switch back to instantiate + realizeaszlig2019-01-041-7/+19
| | | | | | | | | | | | | | | | | | | | I refactored the two tools a while ago but eventually rendered taalo-realize useless, because it doesn't copy the derivation to realize to the remote host. This is done now, plus the taalo-build command now makes sure that we instantiate on the local machine, thus speeding up builds a lot (except maybe if the local host is under very high load). In addition I added an indirect gcroot inside a temporary directory, so that we don't get into a race condition when garbage collecting between instantiate and realize. Instead of nix-copy-closure, I now use "nix copy", which properly supports the ssh-ng store backend. However I didn't use "nix build" and friends, because these commands still lack a few features. Signed-off-by: aszlig <aszlig@nix.build>
* games/crosscode: Update to version 1.0.2aszlig2018-12-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update contains mostly Steam-related changes, which are not relevant to the GOG version. However here are the changes that affect us: * The plaza of the Last Minute Heroes HQ can be entered and it includes the first few statues! The interior is still closed off, but it will open up with the next update. * There are a few more NPCs in CrossWorlds including a new cameo guest role somewhere in Bergen village. * The new stat "Time played with Assist Mode" was added to the Statistics menu. The full upstream blog post can be found at: http://www.radicalfishgames.com/?p=6520 With this update a bunch of different Greenworks[1] versions are now in a new "modules" subdirectory, which I removed because they contain native code for interfacing with Steamworks. This doesn't apply to us, so let's actually make sure that this code never runs by removing the modules directory entirely. [1]: https://github.com/greenheartgames/greenworks Signed-off-by: aszlig <aszlig@nix.build>