1) Version 0.3.0 has numerous bugs due to not being updated for nearly 5
years. So, I had to use fetchgit instead, grabbing HEAD of master.
2) level-set uses a non-standard layout for its files (no MAKEFILE in
the root of the package for octave to use), but instead has a build.sh
script to run. This script *JUST* generates a tarball that can THEN be
used for `pkg build`.
`patchPhase` performs some substitutions on this to make it generate
the tarball in a way we expect it to. This tarball ends up in the
/build directory we have available to us.
2.5) This script NEEDS automake, autoconf, and autoconf-archive to be
available. This is unnecessary for other packages because Octave has a
well-defined Makefile scheme that developers are supposed to follow
that allows Octave to handle the building of packages.
But this package breaks the mold.
3) With the tarball we use to build being available, we need to then
`cd` back to the previous location (as the script takes us from
`/build` to `/tmp`. So we go back using `cd -`.
4) Lastly, we can now use the standard `buildPhase` defined for
`buildOctavePackage` and complete the building of level-set.
Hopefully, this will be fixed in a later release, so it is easier to
maintain.
10/260 tests FAIL, where most of those 10 are due to improper usage of
the parallel package. Overall, I believe this is a reasonable amount
of passing tests to allow this to be marked as working.
/cc original PR #114152. ESR doesn't need to go through staging.
I briefly ran it on X11 x86_64 NixOS and checked build on aarch64.
(for other's testing see the PR linked above)
A function is more appropriate for this use. See
http://mywiki.wooledge.org/BashFAQ/050 for reference.
Also, we don't need to run the service as root: since we essentially
run all commands as `services.postgresql.superUser` anyway, the whole
service can just run as that user instead.
Change the default SMTP port to `25`, to better match the default
address `localhost`. This gets rid of some error outputs in the test,
where it fails to connect to localhost:465.
Also, don't enable postfix by default unless it's actually useful to
us.
This removes all the subdirectories in `config` on start.
From one version of GitLab to the next, the files in the `config`
directory changes. Since we're only overwriting the existing files
with ones from the repo, cruft sometimes gets left behind,
occationally causing issues.
Ideally, all configuration put in the `config` directory is declared
by NixOS options and we could just remove the whole directory on
start, but I'm not sure if that's the case. It would also require a
little bit of additional rework and testing. The subdirectories,
however, should seldom contain user configuration and the ones that
frequently does, `initializers`, is already removed on start.