| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The textwidth limit is getting annoying on certain files, and while I'm
sure there's an elegant 'vim-way' of doing this without plugins, I'm
just gonna go ahead and see if `vim-sleuth` does the trick.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Version 5.0.0 of Radare2 introduced a few changes in symbol naming,
which causes our patcher to fail because it's unable to find the
"/usr/share/factorio" string and the getSystemWriteData() method.
The upstream change[1] in question for example now uses underscores for
certain characters in the symbol/comment name, so for us to be
backwards-compatible I added a check against the major version of
Radare2 to determine whether we should add underscores when needed.
[1]: https://github.com/radareorg/radare2/commit/aaa930ab261a31e58b1257df06db02481cd3bd55
Signed-off-by: aszlig <aszlig@nix.build>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following nix functions allow easily creating derivations for
building a signed releases directory for project(s) to be served via
e. g. HTTP.
* buildGitTarball: builds a reproducible .tar.gz for a given git
revision or tag (similar to git archive, but we don't actually
reuse it in favor of fetchgit).
* bundleSignedReleases: symlinks tarballs generated using
buildGitTarball and accompanying (manually provided) signatures into a
directory and verifies the signatures to ensure buildGitTarball is
donig what it's supposed to.
|
|
|
|
|
|
|
|
|
| |
Only does very simple dispatching to pkgs.lowdown and pkgs.chroma, but
is at least significantly faster than the default source and about
filters bundled with cgit (which is not really a challenge as they use
python and pygments).
Added to enable my cgit setup until we can have TVL's //tools/cheddar.
|
|
|
|
| |
Ugh.
|
|
|
|
| |
Group somewhat semantically instead of ordering alphabetically.
|
|
|
|
|
| |
This is currently mostly to add the dot character used as separator in
dot time (<https://dotti.me>).
|
| |
|
|
|
|
|
| |
This patch version implements Ingo's suggestion of READ_ALLOWED_PATH:
https://inbox.vuxu.org/mandoc-tech/20210331173434.GA57338@athene.usta.de/
|
| |
|
| |
|
|
|
|
| |
It was unused and required a broken hnix pin.
|
|
|
|
|
| |
Once again PVP causes a configure failure which doesn't translate into a
build failure. Fixed by bumping upstream repository.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had a bunch of instances of
https://github.com/NixOS/nix/issues/2176,
where nix would exit with a “killed by signal 9” error.
According to Eelco in that issue, this is perfectly normal behaviour
of course, and appears if the last command in a loop closes `stdout`
or `stdin`, then the builder will SIGKILL it immediately. This is of
course also a perfectly fine error message for that case.
It turns out that mainly GNU coreutils exhibit this behaviour …
Let’s see if using a more sane tool suite fixes that.
|
|
|
|
|
|
|
|
|
|
| |
Port of <https://cl.tvl.fyi/c/depot/+/2657>. Original message:
`forstdin` iterates over the tests in the test directory, and by
default it does *not* fail if an inner loop returns an error, unless
`-o okcodes` is given, a list of exit codes that indicate success.
Now it fails if a loop returns ≠ 0.
|
|
|
|
| |
https://youtu.be/LB8bhHyPLgk?t=418
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nix-env-diff is a tiny utility which parses and compares the output of
`nix-env -qaP --out-path`, printing all changed and added out paths (or
attributes if desired). This facilitates a simple way to determine
rebuilds or changed reverse dependencies when working on nixpkgs in a
similar way as nixpkgs-review and ofborg do it.
Both the new evaluation and the base evaluation to compare against have
to be created manually using nix-env, which in turn also allows
considering attribute sets that are normally not evaluated do to missing
`lib.recurseIntoAttrs`. As an example, here is an example building all
changed attributes in `ocaml-ng.ocamlPackages_4_12`:
```
nix-env -qaP -A ocaml-ng.ocamlPackages_4_12 --out-path -f . \
| nix-env-diff --attrs ./base-ocamlPackages_4_12 \
| xargs -n 1 -P 4 nix-instantiate --quiet -A \
| xargs nix-store --realise --builders 'ssh://edwin'
```
`./base-ocamlPackages_4_12` contains the result of the `nix-env`
invocation executed on the master branch.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are the scripts I used to print my gpg private key onte a bunch
of A4 papers, as QR codes of the paperkey output.
It also contains an example of how to automatically read it back in
with a ScanSnap „Einzugsscanner“. I think there also was a test that
checks that the full roundtrip works :)
The QR codes generation was designed in a way that they contain the
highest amount of data when printed on A4 paper, while still being
high-redundancy enough that you can destroy about 1/4th of them before
they become unreadable.
The key was also printed as plain paperkey format, so in the worst
case when I don’t have a scanner I can type it in by hand.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I think nman is of general interest, so general pointers on setting
it up may be useful for others.
|
|
|
|
|
| |
Should give the user more information about what exactly went wrong in
the event of a store path being garbage.
|
|
|
|
|
|
|
|
|
|
| |
Instead of generating n hypothetical filenames for the man page we
search for and checking if one of them exists, we now iterate through
the files in the man dir we are checking and match each of them against
our desired man page and section.
I feel like this makes the code more cumbersome, but on the upside it is
now more unit-testable.
|
| |
|
|
|
|
|
|
|
| |
This is parsing and rendering of stuff currently mostly, since our main
logic is relatively interwoven with IO stuff (to avoid copying stuff a
lot). This is fine however as the application logic is tested using the
nixos vm test we also have!
|
| |
|
|
|
|
| |
Now shortest is listed first.
|
|
|
|
|
|
|
|
|
| |
This relieves us of the burden to print the error message and lets the
user see what's going on, for example why they have to wait for years
when running `nman duplicity` (we have to fetch all transitive python
dependencies). We also print the exit status in case of errors and
the signal that killed a process (in the case of SIGKILL, SIGSEGV and
maybe more?).
|
| |
|
|
|
|
|
|
|
| |
In the Profpatsch universe, execline reigns surpreme. Therefore we must
bow to its (understandable) rejection of POSIX and use 100 as the user
error instead of the 64 of sysexits.h. This makes a lot of sense, as we
are already using execline conventions for the other exit codes.
|
|
|
|
|
|
|
|
| |
We want to discourage scripting with nman, as we may want to tweak the
user interface or internal behavior of nman in the future without
maintaining backwards compatibilty.
In other words: You have been warned.
|
| |
|
|
|
|
| |
(as suggested by Profpatsch)
|
| |
|
|
|
|
|
| |
Just copy path instead of having a harder to maintain reset mechanism.
Copying strings is not really a performance concern in this case.
|
|
|
|
|
|
|
| |
We reuse std::io::Error's Display trait to print precisely the error
that occurred to the user as well. This will probably help a lot if an
IO error should ever occurr, as they will only ever occurr in very weird
situations (mktemp(3) failed or share/man is not a readable directory).
|
| |
|
|
|
|
| |
Proof-reading would be very welcome!
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes share/man contains directories that are not of the form
man<section> which we are checking in build_man_page. However, this
check can't deal with directories that are shorter than 3 characters due
to the use of split_at() which panics if the index is out of range (for
somer reason…).
In nixpkgs it is relatively common to have directories like "de" in
share/man.
This has been resolved.
|
|
|
|
|
|
|
|
|
| |
The path field wasn't used in DrvWithOutput as we only ever needed
rendered. rendered however is a bit of a confusing name as it is not in
fact fully rendered in all cases. Since we can pass rendered to
nix-store --realise without preprocessing in all cases we rename it to
path and add a note in the documentation. The old path field is removed
for this without replacement.
|
|
|
|
|
| |
* parse_drv_output → DrvOutput::parse
* parse_drv_path → DrvWithOutput::parse
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, we would always assume section 1 was requested if no section
was given on the command line. Now the section is treated as if it was
unknown and we search for a matching man page by looking through the sub
directories of $output/share/man.
This means the following invokation works as expected:
nman libunwind unw_getcontext
instead of requiring
nman libunwind 3 unw_getcontext
|
|
|
|
|
| |
temp is essentially the old TempDir code from nman, but using libc's
mkdtemp(3) directly instead of mktemp(1) and a slightly better API.
|