We don’t want cpython picking up /Library/Frameworks and
/System/Library/Frameworks which contains Tcl.framework. Instead it
should use the one provided by Nix. this would not be an issue if
sandboxing was enabled, but unfortunately that has its own issues.
Fixes#66647
There ver very many conflicts, basically all due to
name -> pname+version. Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job. There might be some fallback to these
conflicts, but I believe it should be minimal.
Hydra nixpkgs: ?compare=1538299
Per https://www.php.net/manual/en/intro.mhash.php, mhash extension
is obsolete, so disabling it here. (Also it doesn't cross-compile)
**Warning**: This could be a breaking change for some packages that
are very old and rely on this extension, maintainer discretion is
advised.
This builds Python without optional dependencies.
We can't just use python3.override, as things like
python3Minimal.withPackages would pass the wrong python derivation into
these modules.
Stop hardcoding 10.10 as the platform when building. Instead we'll use
$MACOSX_DEPLOYMENT_TARGET so erlang doesn't have to be updated again the
next time that's changed.
This is essentially the same as done in
65f2b0a2a3.
For spidermonkey_38 I set --enable-posix-nspr-emulation, as it would
otherwise complain about a wrong NSPR version and that trick seemed to
be successful in spidermonkey_60 anyway.
The `cargoSha256` hashes across the sourcetree had to be altered after
the last `cargo-vendor` bump. Also ensured that `cc` is available in
`$PATH` to avoid startup errors in the REPL.
Turns out fixing this only in importlib is not sufficient and we
need to backport CPython part of the fix too.
This patch is based on https://hg.python.org/cpython/rev/c16063765d3a
but because the code around is different there are some changes (C-strings
instead of Python objects etc.)
With this patch Tensorflow builds successfully on many-core machine.
This commit adds a Nix-specific module that recursively adds paths that
are on `NIX_PYTHONPATH` to `sys.path`. In order to process possible
`.pth` files `site.addsitedir` is used.
The paths listed in `PYTHONPATH` are added to `sys.path` afterwards, but
they will be added before the entries we add here and thus take
precedence.
The reason for adding support for this environment variable is that we
can set it in a wrapper without breaking support for `PYTHONPATH`.
Updates jdk dependency from 8 to 11. Clojure 1.10.0 added support for
jdk11, and was released with a new develper tool: REBL
(https://github.com/cognitect-labs/REBL-distro). REBL depends on javafx,
currently only supported on Nix by jdk11 (see #63574)
PHP 7.1 is currently on life support, as in only recieving security related patches.
This will only continue until: 2019-12-01
This date are in the middle of the 19.09 lifecycle. So it would be
nice to not have it in the 19.09 stable release. Dropping it now would
also result in less maintanance in updating them.
The death dates can be seen on following links:
- https://endoflife.date/php
- https://php.net/supported-versions.php
- https://en.wikipedia.org/wiki/PHP#Release_history
This is python bug https://bugs.python.org/issue13146. Fixed since
python 3.4. It makes pyc creation atomic, preventing a race condition.
The patch has been rebased on our deterministic build patch.
It wasn't backported to python 2.7 because there was a complaint about
changed semantics. Since files are now created in a temporary directory
and then moved, symlinks will be overridden. See
https://bugs.python.org/issue17222.
That is an edge-case however. Ubuntu and debian have backported the fix
in 2013 already, making it mainstream enough for us to adopt.
`"lua" + lua.luaversion + "-"` resolves to "lua51-" for both Lua
5.1 and LuaJIT packages. With this, LuaJIT packages instead get
`lua.name + "-"`, which currently resolves to "luajit-2.1.0-beta3-".
This makes it easy to distinguish the two in store paths etc.
https://software-lab.de/doc/httpGate.html
httpGate is a central element of the PicoLisp application server
architecture. Its purpose is to perform the following tasks:
* Provide a single application entry port (e.g. 80 or 443).
* Allow PicoLisp applications to run as non-root.
* Start application servers on demand.
* Handle HTTPS/SSL communication.
This is in preparation for adding Erlang/OTP 22 which no longer has a
`configure.in` and fails to build with the current
`generic-builder.nix`, but it should work for all supported, previous
versions of Erlang (R18–R21) as well.
Fixes#62775
Currently, trying to use help results in something like this:
```
: (help 'db)
========================================
w3m: Can't exec
=======================================
```
By including `w3m` as an input, the behaviour changes to:
```
: (help 'db)
========================================
(db 'sym 'cls ['hook] 'any ['sym 'any ..]) -> sym | NIL
Returns a database object of class cls, where the values for the sym arguments
correspond to the any arguments. If a matching object cannot be found, NIL is
returned. sym, cls and hook should specify a tree for cls or one of its
superclasses. See also aux, collect, request, fetch, init and step.
========================================
-> db
```
Summary of main changes:
- Now makes use of luarocks dependency resolution (builds will fail if
rockspec dependencies are unmet)
- Renamed argument `external_deps` -> `exernalDeps` and add
functionality to handle external dependencies that are multiple-output
derivations
- Added an `extraVariables` argument for appending to the contents of
luarocks config `variables` table
- The `rockspecFilename` argument default is now actually used
- The `disabled` argument can now be overriden with a less-restrictive
check, as it now just sets `meta.broken` instead of throwing an error
during eval
- The `doCheck` argument is now actually honored if set to `true`
A recent upgrade of cargo-vendor changed its output slightly, which
broke all cargoSha256 hashes in nixpkgs.
See https://github.com/NixOS/nixpkgs/issues/60668 for more information.
Since then, a few hashes have been fixed in master by hand, but there
were a lot still to do, so I did all of the ones left over with some
scripts I wrote.
The one hash I wasn’t able to update was habitat's, because it’s
currently broken and the build doesn’t get far enough to produce a
hash anyway.
Some SSL libs don't react to $SSL_CERT_FILE.
That actually makes sense to me, as we add this behavior
as nixpkgs-specific, so it seems "safer" to use $NIX_*.
There was a mix of overrideable-in-overlays ```buildPackages.perl528``` & ```buildPackages.perldevel``` and local ```perl528``` & ```perldevel``` which were unaffected by overlays
Now that RI docs are installed to a seperate output, we don't need to worry
about bloating the main output, so it's reasonable for this to be enabled by
default.
This allows getting access to Ruby documentation through ri by doing
nix-shell -p ruby ruby.devdoc
or by installing the ruby.devdoc package.
A setup hook will add a shim to LOAD_PATH to point ri to the devdoc
output instead of out.
Rather than rolling our own. This means that we can use all of the
extra functionality stdenv gives us, like being able to provide a list
of patches rather than just one.
Patching numpy.distutils used to be required for pythonPackages.cython
to build on darwin. It was later accidentally disabled during one of the
refactorings, but that did not break cython. This change reinstantiates
the patch. It still applies, so it should be low maintenance and it can
still be useful.
give priority to perl libraries when they meet the perl derivation in `buildEnv`.
The notable case is `buildEnv` inside `perl.withPackages`.
The `perl' derivation includes obsolete versions of some CPAN packages
which leads to collissions when there are newer versions
of the same libraries are on the right hand side
of `perl.withPackages` (perhaps indirectly).
Fixes#60025
spidermonkey doesn’t use the autotools build, host, target convention.
Instead it considers ‘--host’ to be the autotools’ ‘--build’ and
‘--target’ to be the autotools’ ‘--host’! As a result, we cannot
safely use “configurePlatforms”. Instead, we must manually set these
flags.
/cc @illegalprime
Originally introduced in 8970a9c and 1531b5e, these patches were lost in
efbe87f when the CPython version files were merged, likely due to
CPython 3.7 not needing them anymore. These patches should remain
in-tree until CPython 3.5 and 3.6 support is dropped completely.
Found with the diffoscope ( https://diffoscope.org/ ).
The upstream patch for distutils does not apply cleanly to Python
3.7.3's sources. (The patch applies cleanly to Python 3.7.2's sources,
but nixpkgs commit 0ddae82e6a upgraded
Python to 3.7.3.) Fix the patch to make python37 build on macOS.
`pkgsBuildTarget` allows us to avoid repeated and confusing conditions.
The others merely provide clarity for one the foreign package set's
target platform matters.
This round is without the systemd CVE,
as we don't have binaries for that yet.
BTW, I just ignore darwin binaries these days,
as I'd have to wait for weeks for them.
The only outside-curl uses of `fetchurlBoot` left are `stdenv`
and `apple-source-releases`. The latter one can probably be removed
too, but I can't test it.
Pros:
- Aggregates all behind-the-scenes insanity in a single place.
Cons:
- At the cost of 10 more derivations (but 0 new outpaths).
Perl likes to capture impure data, needlessly.
- Configure time (cf_time): make 1 second past epoch
- Target system (uname): use less uname information
* lua: generate packages from luarocks
* luarocks-nix: update
* removed packages already available in nixpkgs
* adressing reviews
update script can now accept another csv file as input with -c
* Remove obsolete comment
Comments on conflicts:
- llvm: d6f401e1 vs. 469ecc70 - docs for 6 and 7 say the default is
to build all targets, so we should be fine
- some pypi hashes: they were equivalent, just base16 vs. base32
We don't actually perform any network access, but since Racket 7.0,
when certain modules are loaded, they emit an annoying warning.
While compiling the bundled packages, this happens over and over and
pollutes the logs.
Having a correct SSL configuration prevents the warnings.
He prefers to contribute to his own nixpkgs fork triton.
Since he is still marked as maintainer in many packages
this leaves the wrong impression he still maintains those.
The wrapper is not needed because the runpath is already set correctly,
and LD_LIBRARY_PATH was breaking child processes linked against
different libc versions.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
These interpreters are prebuilt by upstream and patched using patchelf.
They are primarily added for testing purposes and development on the
non-prebuilt PyPy interpreters as it can speed up translation
significantly.
Drop `python.majorVersion`. For Python language version, use `python.pythonVersion`.
For implementation version, use `python.sourceVersion`.
Some expressions were broken. Those that were identified were fixed.
fixup major
This changeset allows for cross-compilation of Python packages. Packages
built with buildPythonPackage are not allowed to refer to the build
machine. Executables that have shebangs will refer to the host.
Each time a new major/minor version of CPython was released, a new
expression would be written, typically copied from the previous release.
Often fixes are only made in the current/latest release. By merging the
expressions it's more likely that modifications end up in all versions,
as is likely intended.
This commit introduces one expression for Python 3, and another for 2.7.
These two may also be merged, but it will result in a lot of extra
conditionals making the expression harder to follow.
A common passthru is introduced for CPython and PyPy.
python 2.7: use common passthru
updateScript accepts a list, in which case, it will execute the head with the
tail as arguments. Switching to this style will allow us to get rid of the need
to create extra script doing just that.
Enable autoreconfHook by default: The build tried to execute autoconf, which was
in the wrong build input. Regenerating autotools configure files is always a good
idea since it delivers fixes.
Also move groff to the native since it is only used at build-time
This fixes build errors like
GEN asn1ct_eval_ext.erl
{"init terminating in do_boot",{undef,[{asn1ct_func,start_link,[],[]},{prepare_templates,gen_asn1ct_eval,1,[{file,"prepare_templates.erl"},{line,58}]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
init terminating in do_boot ({undef,[{asn1ct_func,start_link,[],[]},{prepare_templates,gen_asn1ct_eval,1,[{_},{_}]},{init,start_em,1,[]},{init,do_boot,3,[]}]})
that occur on some machines but not others.
All Python packages now have an updateScript. The script calls
`update-python-libraries` and passes it the position of the derivation
expression obtained using `meta.position`. This works fine in case a Nix
expression represents only a single derivation. If there are more in it,
`update-python-libraries` will fail.
Instead of pinning Darwin to older versions, add small patches to
configure.in (7.1) / configure.ac (7.2) to fix the build of the intl
extension on recent PHP versions on Darwin.
fix-paths-php7.patch also required changes -- since we now run autoconf
at build time (through ./buildconf), it needs to patch the input .m4
files instead of ./configure directly.
Do not refer to <nixpkgs> as it will produce the following message:
"evaluation aborted with the following error message: 'Illegal use of <nixpkgs> in Nixpkgs.'"
Python 3.4 will receive it's final patch release in March 2019 and there won't
be any releases anymore after that, so also not during NixOS 2019.03.
Python 3.4 is not used anymore in Nixpkgs. In any case, migrating code from
3.4 to 3.4+ is trivial.
By default all warnings were printed. This occasionally resulted in
a lot of warnings leading to builds being killed.
This commit reduces the amount of warnings printed.
`python.buildEnv` would already wrap executables exporting `PYTHONHOME`.
With this change, it is possible to pass in additional arguments to the
underlying `makeWrapper`.
"But Synthetica", I hear you say, "isn't that a downgrade?".
That's what I originally thought as well! So I emailed the maintainer
for the only other repo that had J on version 808, BSD FreePorts. Since
they also didn't know what was going on here, I emailed Jsoftware
themselves. I got a lovely email back from Mr. Iverson (Jr. I presume?)
himself:

So it has been confirmed from the horse's mouth that this _is_ the
correct version to be on.
I also re-enabled all the tests, since they all pass now, enabled the
build on ARM and Darwin (I don't have access to either kind of machine,
but I don't see why it wouldn't work), and added myself as a maintainer.
PHP tries to discover the mysql default socket path during configure
phase by probing the file system:
cf3b852109/ext/mysqli/config.m4 (L4)
This obviously fails to discover /run/mysqld/mysqld.sock, which is being
used (hardcoded) across all MySQL flavours.
This leads to PHP having no mysql socket path set for the mysql[i]
extensions, and `/tmp/mysql.sock` set for pdo_mysql,
meaning one currently has to manually configure and set it in php.ini.
Luckily, PHP supports setting that path via
`--with-mysql-sock=/run/mysqld/mysqld.sock` during configure phase,
so let's do this as soon as one of the three modules is enabled.
As per the following bug report, sometimes erts/start_scripts will fail
to compile because of a Makefile ordering issue. Apply the upstream
patches to fix this.
https://bugs.erlang.org/browse/ERL-241
This way we don't need to disable flags etc by platform and can still
backport new versions to stable for linux even if there's a bug or
something in the darwin build.
This also updates the bootstrap tool builder to LLVM 5, but not the ones
we actually use for bootstrap. I'll make that change in a subsequent commit
so as to provide traceable provenance of the bootstrap tools.
Both 5.6 and 7.0 is currently on life support, as in only recieving
security related patches.
This will only continue until:
- 2018-12-31 for PHP 5.6
- 2018-12-01 for PHP 7.0
Both these dates are in the middle of the 18.09 lifecycle. So it would
be nice to not have them in the 18.09 stable release. Dropping them
now would also result in less maintanance in updating them.
The death dates can be seen on both these links:
- https://secure.php.net/supported-versions.php
- https://en.wikipedia.org/wiki/PHP#Release_history
MySQL Native Driver was implemented by PHP back in 5.3.0 and has been
default in most distributions for a very long time.
The option was added in 41cd4f2459 and I
don't see any reason why it would default to false.
Overview of mysqlnd by PHP: https://secure.php.net/manual/en/mysqlnd.overview.php
* substitute(): --subst-var was silently coercing to "" if the variable does not exist.
* libffi: simplify using `checkInputs`
* pythonPackges.hypothesis, pythonPackages.pytest: simpify dependency cycle fix
* utillinux: 2.32 -> 2.32.1
https://lkml.org/lkml/2018/7/16/532
* busybox: 1.29.0 -> 1.29.1
* bind: 9.12.1-P2 -> 9.12.2
https://ftp.isc.org/isc/bind9/9.12.2/RELEASE-NOTES-bind-9.12.2.html
* curl: 7.60.0 -> 7.61.0
* gvfs: make tests run, but disable
* ilmbase: disable tests on i686. Spooky!
* mdds: fix tests
* git: disable checks as tests are run in installcheck
* ruby: disable tests
* libcommuni: disable checks as tests are run in installcheck
* librdf: make tests run, but disable
* neon, neon_0_29: make tests run, but disable
* pciutils: 3.6.0 -> 3.6.1
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pciutils/versions.
* mesa: more include fixes
mostly from void-linux (thanks!)
* npth: 1.5 -> 1.6
minor bump
* boost167: Add lockfree next_prior patch
* stdenv: cleanup darwin bootstrapping
Also gets rid of the full python and some of it's dependencies in the
stdenv build closure.
* Revert "pciutils: use standardized equivalent for canonicalize_file_name"
This reverts commit f8db20fb3a.
Patching should no longer be needed with 3.6.1.
* binutils-wrapper: Try to avoid adding unnecessary -L flags
(cherry picked from commit f3758258b8895508475caf83e92bfb236a27ceb9)
Signed-off-by: Domen Kožar <domen@dev.si>
* libffi: don't check on darwin
libffi usages in stdenv broken darwin. We need to disable doCheck for that case.
* "rm $out/share/icons/hicolor/icon-theme.cache" -> hicolor-icon-theme setup-hook
* python.pkgs.pytest: setupHook to prevent creation of .pytest-cache folder, fixes#40273
When `py.test` was run with a folder as argument, it would not only
search for tests in that folder, but also create a .pytest-cache folder.
Not only is this state we don't want, but it was also causing
collisions.
* parity-ui: fix after merge
* python.pkgs.pytest-flake8: disable test, fix build
* Revert "meson: 0.46.1 -> 0.47.0"
With meson 0.47.0 (or 0.47.1, or git)
things are very wrong re:rpath handling
resulting in at best missing libs but
even corrupt binaries :(.
When we run patchelf it masks the problem
by removing obviously busted paths.
Which is probably why this wasn't noticed immediately.
Unfortunately the binary already
has a long series of paths scribbled
in a space intended for a much smaller string;
in my testing it was something like
lengths were 67 with 300+ written to it.
I think we've reported the relevant issues upstream,
but unfortunately it appears our patches
are what introduces the overwrite/corruption
(by no longer being correct in what they assume)
This doesn't look so bad to fix but it's
not something I can spend more time on
at the moment.
--
Interestingly the overwritten string data
(because it is scribbled past the bounds)
remains in the binary and is why we're suddenly
seeing unexpected references in various builds
-- notably this is is the reason we're
seeing the "extra-utils" breakage
that entirely crippled NixOS on master
(and probably on staging before?).
Fixes#43650.
This reverts commit 305ac4dade.
(cherry picked from commit 273d68eff8f7b6cd4ebed3718e5078a0f43cb55d)
Signed-off-by: Domen Kožar <domen@dev.si>
Since years I'm not maintaining anything of the list below other
than some updates when I needed them for some reason. Other people
is doing that maintenance on my behalf so I better take me out but
for very few packages. Finally!
That way 'epmd' can be started by systemd using socket
activation. This is important to have when there is more than one
Erlang system used on the same host.
Support for this exists since 17.0:
b7c95eabf6
Configure flag was added in 17.1:
12cd5e5b39
This makes the command ‘nix-env -qa -f. --arg config '{skipAliases =
true;}'’ work in Nixpkgs.
Misc...
- qtikz: use libsForQt5.callPackage
This ensures we get the right poppler.
- rewrites:
docbook5_xsl -> docbook_xsl_ns
docbook_xml_xslt -> docbook_xsl
diffpdf: fixup
* treewide: http -> https sources
This updates the source urls of all top-level packages from http to
https where possible.
* buildtorrent: fix url and tab -> spaces
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/php/versions.
These checks were done:
- built on NixOS
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/phar.phar passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/phar passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/php passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/phpdbg passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/php-cgi passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/pear passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/peardev passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/pecl passed the binary check.
- /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7/bin/php-fpm passed the binary check.
- 9 of 9 passed binary check by having a zero exit code.
- 0 of 9 passed binary check by having the new version present in output.
- found 7.2.7 with grep in /nix/store/n62w6pi30bkz1i08h1wr1icrabkky794-php-7.2.7
- directory tree listing: https://gist.github.com/6ecb6c21e261466b865908a41564ca3e
- du listing: https://gist.github.com/2ca1dc05af5d5240a6b63fadd59ee0d0
Some applications try to build using `pkgconfig lua5.3 --libs...` as some major
distributions use this name. Add a symlink to the lua.pc pkgconfig file.
Signed-off-by: Roosembert Palacios <roosembert.palacios@epfl.ch>
LLVM building is apparently broken. This is a similar fix to what was
done in spidermonkey_38.
enableReadline flag is also introduced (defaults to true except on darwin).
In particular, this contains Firefox-related and libgcrypt updates.
Other larger rebuilds would apparently need lots of time to catch up
on Hydra, due to nontrivial rebuilds in other branches than staging.
Racket checks the current platform via uname, then disallows
unix domain socket usage based on the result. Previously, it could not
successfully call uname at all, so it fell back to denying UDS.
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/jruby/versions.
These checks were done:
- built on NixOS
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/rake had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/ast had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/jgem had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/jirb had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/jirb_swing had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/gem had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/ri had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/irb had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/testrb had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/rdoc had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/jrubyc had a zero exit code or showed the expected version
- /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/jruby passed the binary check.
- /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/jruby.bash passed the binary check.
- /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/ruby passed the binary check.
- /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/.jruby-wrapped passed the binary check.
- /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0/bin/.jruby.bash-wrapped passed the binary check.
- 5 of 16 passed binary check by having a zero exit code.
- 0 of 16 passed binary check by having the new version present in output.
- found 9.2.0.0 with grep in /nix/store/mxi03kwk4c23xpfjpqv1ggfkyf50wjkn-jruby-9.2.0.0
- directory tree listing: https://gist.github.com/4fecc39e96054dd41278b1d505cdb498
- du listing: https://gist.github.com/6382ad0545e74f9ff62a410b61801232
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/php/versions.
These checks were done:
- built on NixOS
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/phar.phar passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/phar passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/php passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/phpdbg passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/php-cgi passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/pear passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/peardev passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/pecl passed the binary check.
- /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6/bin/php-fpm passed the binary check.
- 9 of 9 passed binary check by having a zero exit code.
- 0 of 9 passed binary check by having the new version present in output.
- found 7.2.6 with grep in /nix/store/25l2hz7njpg9glpmslcadkgqwai5f77s-php-7.2.6
- directory tree listing: https://gist.github.com/409d2cfaa7e805714825281fbaba0d0f
- du listing: https://gist.github.com/7fbd8e3d56524f70b3dfb94c045fccd2
The upstream src URL for the patch appears to no longer exist. Per discussion in
https://github.com/NixOS/nixpkgs/issues/39927, the upstream URL is not stable,
so this commit inlines the patch in the nixpkgs src tree.
The hack of using `crossConfig` to enforce stricter handling of
dependencies is replaced with a dedicated `strictDeps` for that purpose.
(Experience has shown that my punning was a terrible idea that made more
difficult and embarrising to teach teach.)
Now that is is clear, a few packages now use `strictDeps`, to fix
various bugs:
- bintools-wrapper and cc-wrapper
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/spidermonkey/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/47rbdzbgccrrdc63fnsnwklria9clmms-spidermonkey-52.7.4/bin/js52 -h’ got 0 exit code
- ran ‘/nix/store/47rbdzbgccrrdc63fnsnwklria9clmms-spidermonkey-52.7.4/bin/js52 --help’ got 0 exit code
- ran ‘/nix/store/47rbdzbgccrrdc63fnsnwklria9clmms-spidermonkey-52.7.4/bin/js52 -v’ and found version 52.7.4
- ran ‘/nix/store/47rbdzbgccrrdc63fnsnwklria9clmms-spidermonkey-52.7.4/bin/js52 --version’ and found version 52.7.4
- ran ‘/nix/store/47rbdzbgccrrdc63fnsnwklria9clmms-spidermonkey-52.7.4/bin/js52-config --version’ and found version 52.7.4
- found 52.7.4 with grep in /nix/store/47rbdzbgccrrdc63fnsnwklria9clmms-spidermonkey-52.7.4
- directory tree listing: https://gist.github.com/7e5182415a0a1bce8071576312c08a3a
Note that a bunch of non-python packages use this attribute already.
Some of those are clearly unaware of the fact that this attribute does
not exists in stdenv because they define it but don't to add it to
their `bulidInputs` :)
Also note that I use `buildInputs` here and only handle regular
builds because python and haskell builders do it this way and I'm not
sure how to properly handle the cross-compilation case.
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/jruby/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/g4a83h4462412zd3cf95j5ny19bxgha6-jruby-9.1.17.0/bin/jruby -h’ got 0 exit code
- ran ‘/nix/store/g4a83h4462412zd3cf95j5ny19bxgha6-jruby-9.1.17.0/bin/jruby --help’ got 0 exit code
- ran ‘/nix/store/g4a83h4462412zd3cf95j5ny19bxgha6-jruby-9.1.17.0/bin/jruby.bash -h’ got 0 exit code
- ran ‘/nix/store/g4a83h4462412zd3cf95j5ny19bxgha6-jruby-9.1.17.0/bin/jruby.bash --help’ got 0 exit code
- ran ‘/nix/store/g4a83h4462412zd3cf95j5ny19bxgha6-jruby-9.1.17.0/bin/ruby -h’ got 0 exit code
- ran ‘/nix/store/g4a83h4462412zd3cf95j5ny19bxgha6-jruby-9.1.17.0/bin/ruby --help’ got 0 exit code
- found 9.1.17.0 with grep in /nix/store/g4a83h4462412zd3cf95j5ny19bxgha6-jruby-9.1.17.0
- directory tree listing: https://gist.github.com/20468ca63db765e0d42a1c93191f0901
upstream issue:
https://bugs.python.org/issue31940
There are two PR's proposed to fix this,
but both seem to be stalling waiting for review.
I previously used what appears to be the favored
of the two approaches[1] to fix this,
with plan of keeping it musl-only until PR was merged.
However, while writing up a commit message
explaining the problem and why it needed fixing...
I investigated a bit and found it increasingly
hard to justify anything other than ...
simply not using lchmod.
Here's what I found:
* lchmod is non-POSIX, seems BSD-only these days
* Functionality of lchmod isn't supported on Linux
* best scenario on Linux would be an error
* POSIX does provide lchmod-esque functionality
with fchmodat(), which AFAICT is generally preferred.
* Python intentionally overlooks fchmodat()[2]
electing instead to use lchmod() behavior
as a proxy for whether fchmodat() "works".
I'm not sure I follow their reasoning...
* both glibc and musl provide lchmod impls:
* glibc returns ENOSYS "not implemented"
* musl implements lchmod with fchmodat(),
and so returns EOPNOTSUPP "op not supported"
* Python doesn't expect EOPNOTSUPP from lchmod,
since it's not valid on BSD's lchmod.
* "configure" doesn't actually check lchmod usefully,
instead checks for glibc preprocessor defines
to indicate if the function is just a stub[3];
somewhat fittingly, if the magic macros are defined
then the next line of the C source is "choke me",
causing the compiler to trip, fall, and point
a finger at whatever is near where it ends up.
(somewhat amusing, but AFAIK effective way to get an error :P)
I'm leaving out links to threads on mailing lists and such,
but for now I hope I've convinced you
(or to those reading commit history: explained my reasons)
that this is a bit of a mess[4].
And so instead of making a big mess messier,
and with hopes of never thinking about this again,
I propose we simply tell Python "don't use lchmod" on Linux.
[1] https://github.com/python/cpython/pull/4783
[2] 28453feaa8/Lib/os.py (L144)
[3] 28453feaa8/configure (L2198)
[4] Messes happen, no good intention goes unpunished :).
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile
(cherry picked from commit ba52ae5048)
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/j/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/s4j1rrnwdrrqdaiyqci4c0cqy3azlnl2-j-808/bin/jconsole -h’ got 0 exit code
- ran ‘/nix/store/s4j1rrnwdrrqdaiyqci4c0cqy3azlnl2-j-808/bin/jconsole --help’ got 0 exit code
- ran ‘/nix/store/s4j1rrnwdrrqdaiyqci4c0cqy3azlnl2-j-808/bin/jconsole help’ got 0 exit code
- found 808 with grep in /nix/store/s4j1rrnwdrrqdaiyqci4c0cqy3azlnl2-j-808
- directory tree listing: https://gist.github.com/3c6f38056c15de42a7496ff1f576064e
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/supercollider/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/4azhvz3aw8jkcs3vib2aaii15yq5rr8k-supercollider-3.9.3/bin/supernova -h’ got 0 exit code
- ran ‘/nix/store/4azhvz3aw8jkcs3vib2aaii15yq5rr8k-supercollider-3.9.3/bin/supernova --help’ got 0 exit code
- ran ‘/nix/store/4azhvz3aw8jkcs3vib2aaii15yq5rr8k-supercollider-3.9.3/bin/sclang -h’ got 0 exit code
- found 3.9.3 with grep in /nix/store/4azhvz3aw8jkcs3vib2aaii15yq5rr8k-supercollider-3.9.3
- directory tree listing: https://gist.github.com/1dcdb0888d56e74baf1a827e371acad1