freedesktop.org tarballs haven't been published since 0.7.0. I've
sent a message to the mailing list (<87eev3cgcz.fsf@alyssa.is>),
suggesting newer tarballs be published.
Build system has changed from autoconf to meson+cmake/ninja, and the
vtest/util.c patch doesn't seem to be necessary any more.
The bang was missing! What was there before would still have worked,
but I think it would end up being executed by /bin/sh since it had no
shebang line.
The bang was missing! But there's a neater way to do this anyway.
What was there before would still have worked, but I think it would
end up being executed by /bin/sh since it had no shebang line.
I thought about doing a seperate output for these, but they're tiny
compared to the size of the binary, so there's no point.
(cherry picked from commit 0489c1b4b20d13fa04e6460ead73893889ff2529)
As explained by Orivej (reformatted from Markdown):
> These (except libsignal-protocol-c) are private dependencies of the
> actual dependencies that should neither be propagated nor added
> manually to dino. For example, libpsl and brotli come from
> libsoup-2.4.pc:
>
> Requires: glib-2.0 >= 2.38, gobject-2.0 >= 2.38, gio-2.0 >= 2.38
> Requires.private: libxml-2.0, sqlite3, libpsl >= 0.20, libbrotlidec, zlib
>
> (To be precise, glib uses utillinuxMinimal rather than utillinux.)
>
> The warnings we see, such as Package 'mount', required by 'gio-2.0',
> not found, come from CMake running both pkg-config --libs and
> pkg-config --static --libs to populate both <XXX>_LIBRARIES and
> <XXX>_STATIC_LIBRARIES[1], but dino has no use for the latter.
> Currently these warnings can not be disabled:
> https://gitlab.kitware.com/cmake/cmake/issues/18158
>
> (They could be prevented by pruning Requires.private from shared-only
> libraries akin to <https://github.com/NixOS/nixpkgs/pull/51767>,
> although it can not be detected if a library is shared-only from the
> .pc file alone, and this is just a warning.)
>
> [1]: docs: https://cmake.org/cmake/help/v3.16/module/FindPkgConfig.html
Previously, some files were copied into the Nixpkgs tree, which meant
we wouldn't easily be able to update them, and was also just messy.
The reason it was done that way before was so that a few NixOS
options could be substituted in. Some problems with doing it this way
were that the _package_ changed depending on the values of the
settings, which is pretty strange, and also that it only allowed those
few settings to be set.
In the new model, mailman-web is a usable package without needing to
override, and I've implemented the NixOS options in a much more
flexible way. NixOS' mailman-web config file first reads the
mailman-web settings to use as defaults, but then it loads another
configuration file generated from the new services.mailman.webSettings
option, so _any_ mailman-web Django setting can be customised by the
user, rather than just the three that were supported before. I've
kept the old options, but there might not really be any good reason to
keep them.
We already had python3Packages.mailman, but that's only really usable
as a library. The only other option was to create a whole Python
environment, which was undesirable to install as a system-wide
package.
It's likely that a user might want to set multiple values for
relay_domains, transport_maps, and local_recipient_maps, and the order
is significant. This means that there's no good way to set these
across multiple NixOS modules, and they should probably all be set
together in the user's Postfix configuration.
So, rather than setting these in the Mailman module, just make the
Mailman module check that the values it needs to occur somewhere, and
advise the user on what to set if not.
This replaces all Mailman secrets with ones that are generated the
first time the service is run. This replaces the hyperkittyApiKey
option, which would lead to a secret in the world-readable store.
Even worse were the secrets hard-coded into mailman-web, which are not
just world-readable, but identical for all users!
services.mailman.hyperkittyApiKey has been removed, and so can no
longer be used to determine whether to enable Hyperkitty. In its
place, there is a new option, services.mailman.hyperkitty.enable. For
consistency, services.mailman.hyperkittyBaseUrl has been renamed to
services.mailman.hyperkitty.baseUrl.
Using a custom path in the Nix store meant that users of the module
couldn't add their own config files, which is a desirable feature. I
don't think avoiding /etc buys us anything.
Previously:
** (dino:7442): CRITICAL **: 00:35:22.373: file /build/source/main/src/ui/unified_window.vala: line 86: uncaught error: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
(dino:7442): Gtk-WARNING **: 00:35:22.601: Found an icon but could not load it. Most likely gdk-pixbuf does not provide SVG support.
The system libsignal-protocol-c is preferred now, so fetching
submodules is no longer required.
The other libraries added are ones that the build complained about. I
suspect they are optional dependencies. Adding them makes the build
quieter, and has basically no impact on runtime closure size, so no
harm in making them available to keep the build system happy.
I don't think there's any situation in which an unwrapped execlineb is
useful -- if you want to use different versions of the execlineb tool
it'll still prefer ones in PATH. At the same time, implementing the
wrapper in this way, as a series of two derivations, meant that we
didn't get stdenv goodness for the wrapper. This meant that, for
example, the wrapper was not stripped, and so execline ended up with
runtime dependencies on gcc and the Linux headers. I don't want to
have to reimplement this sort of stuff when it's already in stdenv,
and so it makes much more sense to create the wrapper in the
mkDerivation call, where all of stdenv's normal magic will find it.
The previously propagated build inputs are optional, and so are
included in checkInputs so the tests can run, but not propagated so
they aren't included if unneeded.
This fixes some two-digit year rounding bugs that started triggering
because 2020 is closer to 2070 than 1970. Apparently two digits years
are still a thing.
This reverts commit a1eacb900e.
Adding dev outputs to python packages means they can't be included in
a Python environment created with python3.withPackages, because
makePythonPath will include the dev output, which is empty apart from
nix-support, rather than the out output, which contains all the Python
code.
Supporting a path here is important because it allows e.g. fetching a
configuration from a URL. To do this and provide the configuration as
a string, IFD would be necessary. It's just written into a path
anyway.
Airwave itself is free software, but the VST SDK it depends on is not.
This means that trying to build airwave fails with an error about
manually adding VST SDK to the store, rather than the expected error
that non-free software has been requested.
Setting a Bundler version with GEM_PATH doesn't seem to work in Ruby
2.7, so we need to use the LOAD_PATH instead. Without this,
bundlerEnv environments will always use the version of Bundler that
comes with Ruby, which won't necessarily work because it isn't the
version that was used to generate the bundle.
For example, building ronn with Ruby 2.7 without this change results
in a broken executable, but it works (when built with all packaged
Ruby versions) after this change.
I removed the "propagatedbuildInputs" line because it's misspelled, and
so will never have worked. Nobody seems to have complained, so
presumably wasn't necessary.
Replaced src munging with a custom unpackPhase because the previous
approach couldn't handle a newly introduced path with a space, and
this is cleaner anyway (but was impossible at the time due to
unpackPhase not being forwarded to fetchcargo).
It has been explained to me that cros-omahaproxy reports which
versions are available to users, while cros-updates-serving reports
the latest builds available for each channel. The latter is probably
better for our use case anyway, and apparently, while both aren't
officially supported, is less likely to randomly break.
So let's use that instead, even if it is much more annoying to parse.
Most stdenv wrappers already work like this -- it allows greater
customisation. We just have to be careful to remove arguments we're
using that shouldn't be passed to stdenv. I've been conservative
here, because fetchcargo checksums shouldn't change lightly.
highlight's Perl bindings are currently disabled on Darwin, but I
didn't make the dependency here conditional so that if that is ever
fixed, this function won't need to be updated. p-i is smart enough to
disable the test for highlight if it can't find the Perl module.
Fails to build on Darwin:
clang++ -shared -s highlight_wrap.o -L../../src/ -lhighlight -L/nix/store/bi85dm5dqzjfm0i9qj3ijjj9w9xayy8w-lua-5.2.4/lib -llua -lm -o highlight.so
ld: warning: option -s is obsolete and being ignored
Undefined symbols for architecture x86_64:
"_PL_markstack_max", referenced from:
__wrap_DataDir_getLangPath in highlight_wrap.o
__wrap_DataDir_getThemePath in highlight_wrap.o
__wrap_DataDir_getFiletypesConfPath in highlight_wrap.o
__wrap_DataDir_getPluginPath in highlight_wrap.o
__wrap_DataDir_guessFileType in highlight_wrap.o
__wrap_SyntaxReader_initLuaState in highlight_wrap.o
__wrap_new_RegexElement in highlight_wrap.o
...
"_PL_markstack_ptr", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_PL_stack_base", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_PL_stack_sp", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_PL_sv_immortals", referenced from:
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o
...
"_Perl_croak", referenced from:
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getLangPath in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
...
"_Perl_get_sv", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
...
"_Perl_gv_add_by_type", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_gv_init_pvn", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_hv_common", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_hv_common_key_len", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_markstack_grow", referenced from:
__wrap_DataDir_getLangPath in highlight_wrap.o
__wrap_DataDir_getThemePath in highlight_wrap.o
__wrap_DataDir_getFiletypesConfPath in highlight_wrap.o
__wrap_DataDir_getPluginPath in highlight_wrap.o
__wrap_DataDir_guessFileType in highlight_wrap.o
__wrap_SyntaxReader_initLuaState in highlight_wrap.o
__wrap_new_RegexElement in highlight_wrap.o
...
"_Perl_mg_find", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
_boot_highlight in highlight_wrap.o
"_Perl_mg_get", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o
"_Perl_newRV_noinc", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_newSV", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_newSV_type", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_newSViv", referenced from:
__wrap_SyntaxReader_load in highlight_wrap.o
__wrap_SyntaxReader_getKeywordListGroup in highlight_wrap.o
__wrap_SyntaxReader_getPersistentSnippetsNum in highlight_wrap.o
__wrap_SyntaxReader_getOpenDelimiterID in highlight_wrap.o
__wrap_RegexElement_open_get in highlight_wrap.o
__wrap_RegexElement_end_get in highlight_wrap.o
__wrap_RegexElement_capturingGroup_get in highlight_wrap.o
...
"_Perl_newSVuv", referenced from:
__wrap_SyntaxReader_getRawStringPrefix in highlight_wrap.o
__wrap_SyntaxReader_getContinuationChar in highlight_wrap.o
__wrap_RegexElement_kwClass_get in highlight_wrap.o
__wrap_RegexElement_priority_get in highlight_wrap.o
__wrap_RegexElement_constraintLineNum_get in highlight_wrap.o
__wrap_ReGroup_length_get in highlight_wrap.o
__wrap_ReGroup_kwClass_get in highlight_wrap.o
...
"_Perl_newXS", referenced from:
_boot_highlight in highlight_wrap.o
"_Perl_sv_2bool_flags", referenced from:
SWIG_AsVal_bool(sv*, bool*) in highlight_wrap.o
"_Perl_sv_2iv_flags", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_AsVal_unsigned_SS_int(sv*, unsigned int*) in highlight_wrap.o
_boot_highlight in highlight_wrap.o
SWIG_AsVal_long(sv*, long*) in highlight_wrap.o
SWIG_AsVal_double(sv*, double*) in highlight_wrap.o
"_Perl_sv_2mortal", referenced from:
__wrap_SyntaxReader_load in highlight_wrap.o
__wrap_SyntaxReader_getRawStringPrefix in highlight_wrap.o
__wrap_SyntaxReader_getContinuationChar in highlight_wrap.o
__wrap_SyntaxReader_getKeywordListGroup in highlight_wrap.o
__wrap_SyntaxReader_getPersistentSnippetsNum in highlight_wrap.o
__wrap_SyntaxReader_getOpenDelimiterID in highlight_wrap.o
__wrap_RegexElement_open_get in highlight_wrap.o
...
"_Perl_sv_2nv_flags", referenced from:
SWIG_AsVal_double(sv*, double*) in highlight_wrap.o
"_Perl_sv_2pv_flags", referenced from:
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
...
"_Perl_sv_2uv_flags", referenced from:
SWIG_AsVal_unsigned_SS_int(sv*, unsigned int*) in highlight_wrap.o
SWIG_AsVal_long(sv*, long*) in highlight_wrap.o
"_Perl_sv_bless", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_sv_free2", referenced from:
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_sv_isobject", referenced from:
SWIG_Perl_ConvertPtr(sv*, void**, swig_type_info*, int) in highlight_wrap.o
SWIG_croak_null() in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
...
"_Perl_sv_magic", referenced from:
_boot_highlight in highlight_wrap.o
SWIG_Perl_MakePtr(sv*, void*, swig_type_info*, int) in highlight_wrap.o
"_Perl_sv_newmortal", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_Perl_sv_setiv", referenced from:
_boot_highlight in highlight_wrap.o
"_Perl_sv_setpvf", referenced from:
__wrap_DataDir_assocByExtension_set in highlight_wrap.o
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_set in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_set in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_DataDir_initSearchDirectories in highlight_wrap.o
...
"_Perl_sv_setpvn", referenced from:
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_2 in highlight_wrap.o
...
"_Perl_sv_setref_pv", referenced from:
__wrap_DataDir_assocByExtension_get in highlight_wrap.o
__wrap_DataDir_assocByFilename_get in highlight_wrap.o
__wrap_DataDir_assocByShebang_get in highlight_wrap.o
__wrap_SyntaxReader_getKeywords in highlight_wrap.o
__wrap_SyntaxReader_getKeywordClasses in highlight_wrap.o
__wrap_SyntaxReader_getRegexElements in highlight_wrap.o
__wrap_SyntaxReader_getPersistentSnippets in highlight_wrap.o
...
"_Perl_sv_setsv_flags", referenced from:
__wrap_DataDir_getLangPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getLangPath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getSystemDataPath in highlight_wrap.o
__wrap_DataDir_getPluginPath__SWIG_0 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_1 in highlight_wrap.o
__wrap_DataDir_getThemePath__SWIG_2 in highlight_wrap.o
...
ld: symbol(s) not found for architecture x86_64
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
This doesn't actually update the kernel, just the linux-libre
deblobbing scripts, but it should mean that automatic updaters keep
the deblobbing scripts up to date. So even if deblobbing scripts for
a new kernel version are not available immediately after release, they
should be updated automatically soon enough once available.
update-libre.sh doesn't commit by default so that it can be used as an
updateScript, where I don't think auto-committing is the norm.
The generated commit messages say "linux-libre_latest" rather than
"linux-libre", because even though linux-libre will also be rebuilt,
it's linux-libre_latest that is more likely to need it.
This allows things like hooks other than postInstall to be passed
through to mkDerivation, which is very useful when customising or
debugging a package.
This is only the easy cases -- some fetchgit uses that point to
Gitiles instances are in generated code, where the generating code
would have to know in advance if it was fetching from Gitiles or not.
I don't think this is worth it.
This has the same motivation as fetchFromGitHub/fetchFromGitLab --
it's cheaper to download a tarball of a single revision than it is to
download a whole history.
I could have gone with domain/group/repo, like fetchFromGitLab, but it
would have made implementation more difficult, and this syntax means
it's a drop-in replacement for fetchgit, so I decided it wasn't worth
it.
This fixes
nix-shell -p 'ruby.withPackages (const [])' ruby.devdoc
which otherwise wouldn't find documentation, unlike
nix-shell -p ruby ruby.devdoc
which would, because ruby has setup hooks to accomodate for this, that
were being masked by the withPackages wrapper.
This reverts commit d0bad145f5.
We don't need this any more, because the generated timestamps are
always set to 1970-01-01.
Reverting this will mean we get man pages for perl programs for free,
because those are generally part of the `install' target.