Commit graph

59100 commits

Author SHA1 Message Date
Austin Seipp 18839e1cc1 icestorm: improve x86 build/runtime perf with pypy
PyPy3 offers tremendous speedups for IceStorm tools written in Python,
including tools used at compile-time to generate the chip databases, and
runtime tools distributed to users, such as icebox_vlog.

For example, on my ThreadRipper 1950X, build times for IceStorm
consistently go from 2m30s -> 1m30s with this change, a 40% improvement,
simply due to improvements in raw CPU efficiency. (This is also worsened
by the fact the build is currently serial, but that can easily be fixed
anyway.)

On top of that, tools distributed to users are also now run using PyPy.
Utilities such as icebox_vlog are useful for post-bitstream testing, for
instance, and also are improved due to improved CPU efficiency as well.
For example, when "decompiling" an ICE40 bitstream for HX8K devices,
containing a synthesized copy of PicoRV32 (from the NextPNR demos), the
runtime of icebox_vlog is cut from 25 seconds to 9 seconds consistently
with this change alone.

Normally, picking a Python interpreter outright for Python-based code is
a "bad idea", but in the case of IceStorm it should be perfectly safe,
and an excellent improvement for users. There are a few reasons for
this:

  - IceStorm uses pure Python 3 and nothing else. There are no
requirements for any 3rd party packages, which might cause annoying
incompatibilities, and PyPy has historically shown very strong core
Python compatibility.

  - IceStorm is NOT a set of Python libraries, it is a set of tools,
some of which, coincidentally, are written in Python. It is (normally)
bad form to fix libraries to certain interpreters versions if the reason
strictly isn't "it doesn't work/isn't compatible". That is not the case
here. These tools may later be used by other programs, such as NextPNR,
but the Python interpreter is ultimately not that important in quesion
for the user. In this sense, there is almost no downside to picking
PyPy explicitly if it offers far better performance.

(Point 2 is not actually strictly true; there are some distributed .py
files that you can import from but they are basically just static
classes that are imported by tools like nextpnr; this is expected.)

Because of this, users should see very little change except better
performance for IceStorm tools on their machines.

Note that PyPy is not supported on aarch64 -- this only applies to
x86_64 machines.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 18:03:35 -06:00
R. RyanTM a8518f976c yarn: 1.12.3 -> 1.13.0
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/yarn/versions
2019-01-12 00:00:57 +02:00
Vladimír Čunát 414e66f222
boehmgc: avoid mass rebuild due to the parent commit 2019-01-11 20:12:56 +01:00
Dmitry Kalinkin ac7f4c0478
boehmgc: fix patch url
Fixes: 587467a18e ('github-gentoo-compromized_can...')
Closes: #53809
2019-01-11 13:20:05 -05:00
Vincent Laporte 10fa10731e coqPackages.category-theory: bound build parallelism 2019-01-11 17:24:45 +00:00
Michael Raskin eb5d51d4cf clasp-common-lisp: update/fix build, 2018-11-28 prerelease (towards 0.9) 2019-01-11 16:29:29 +01:00
Eelco Dolstra ac97ba25ae
Revert "libgit2: 0.26.6 → 0.27.7"
This reverts commit cc50638176 because
it breaks cargo (again, see fca4fbeba9):

  $ cargo build
      Updating crates.io index
  Segmentation fault
2019-01-11 14:58:45 +01:00
Jörg Thalheim f3cb8cedef
Merge pull request #53744 from prusnak/gcc-arm-embedded-8
gcc-arm-embedded: 7-2018-q2-update -> 8-2018-q4-major
2019-01-11 12:26:13 +00:00
Jörg Thalheim 831ffbdc96
Merge pull request #53737 from dpetranek/update-leiningen
leiningen: 2.8.1 -> 2.8.3
2019-01-11 12:06:36 +00:00
Jörg Thalheim efe523725e
Merge pull request #53718 from jlesquembre/clojure
clojure: 1.10.0.403 -> 1.10.0.411
2019-01-11 12:05:09 +00:00
Robert Schütz 3027e4b736 python.pkgs.mt-940: 4.12.2 -> 4.13.0 2019-01-11 12:53:27 +01:00
Jörg Thalheim 8476d03bb7
Merge pull request #53794 from thefloweringash/rubocop-0.62.0
rubocop: 0.59.1 -> 0.62.0
2019-01-11 11:53:06 +00:00
Jörg Thalheim ce9bc1ed81
Merge pull request #53722 from Ma27/fix-python37-on-termbox
termbox: fix build
2019-01-11 11:38:48 +00:00
Robert Schütz e9b34b1bfa
pythonPackages.nipype: 1.1.5 -> 1.1.7 (#53254)
* pythonPackages.nipype: 1.1.5 -> 1.1.7

Fix build by dropping a patch for an issue that is already fixed.
See: https://github.com/nipy/nipype/pull/2701

Also had to disable tests.
See: https://github.com/nipy/nipype/issues/2839

* pythonPackages.xvfbwrapper: disable tests

See: https://github.com/cgoldberg/xvfbwrapper/issues/30
2019-01-11 12:28:55 +01:00
Michael Raskin 0feb54c9ae gst_all_1.gst-editing-services: fix build 2019-01-11 11:46:23 +01:00
Peter Hoeg a9632dd470
Merge pull request #52453 from Anton-Latukha/handbrake-1.2
handbrake: 1.1.2 -> 1.2.0
2019-01-11 14:10:56 +08:00
Andrew Childs 42815ce8de rubocop: 0.59.1 -> 0.62.0 2019-01-11 12:12:03 +09:00
Robin Gloster 8f92eff731
hoppet: fix sandboxed build 2019-01-11 04:10:31 +01:00
Franz Pletz 56bd59253e
openwsman: 2.6.5 -> 2.6.9, fix build with recent curl 2019-01-11 03:54:46 +01:00
worldofpeace 9257887fa7 pythonPackages.xvfbwrapper: disable tests
See: https://github.com/cgoldberg/xvfbwrapper/issues/30
2019-01-10 20:10:51 -05:00
worldofpeace 9619e6a7f6 pythonPackages.nipype: 1.1.5 -> 1.1.7
Fix build by dropping a patch for an issue that is already fixed.
See: https://github.com/nipy/nipype/pull/2701

Also had to disable tests.
See: https://github.com/nipy/nipype/issues/2839
2019-01-10 20:10:51 -05:00
Danylo Hlynskyi 0f69eb3e5b
Merge pull request #53614 from ebzzry/tinyscheme-1.41
tinyscheme: init at 1.41
2019-01-11 02:41:16 +02:00
Tim Cuthbertson 9e96bfb27c piep: 0.8.0 -> 0.9.2 (#53783) 2019-01-11 00:47:25 +01:00
worldofpeace 3bcd4f37c6
Merge pull request #53726 from Ma27/unbreak-thrift
thrift: fix build
2019-01-10 18:02:37 -05:00
Maximilian Bosch 642f778fb6
pythonPackages.pycassa: fix build
Use `thrift` 0.9.3 to build.

See also https://github.com/pycassa/pycassa/issues/245
2019-01-10 23:44:53 +01:00
worldofpeace 1b1ea35f74
Merge pull request #53599 from jbaum98/poetry
pythonPackages.poetry: init at 0.12.10
2019-01-10 17:42:35 -05:00
Maximilian Bosch fc24e4237d python3Packages.pika-pool: fix build
Loosen version constraint to allow current `pika` as well (currently
0.12). See also https://hydra.nixos.org/build/86116480
2019-01-10 17:26:43 -05:00
Maximilian Bosch 338a5c3ca7 pythonPackages.xml2rfc: fix build
Adds the missing dependencies `google-i18n-address`, `pycountry` and
`html5lib` from the `pythonPackages` subtree.

See also https://hydra.nixos.org/build/86535305
2019-01-10 17:25:39 -05:00
Maximilian Bosch b58e41ebad pythonPackages.google-i18n-address: init at 2.3.4 2019-01-10 17:25:39 -05:00
Maximilian Bosch 44a80294f7
Merge pull request #53746 from zaninime/patch-1
nexus: 3.12.1 -> 3.14.0-04
2019-01-10 23:01:26 +01:00
Michael Weiss 22043d4614
pythonPackages.scapy: 2.4.1 -> 2.4.2 2019-01-10 21:14:41 +01:00
markuskowa b70a4b2b98
Merge pull request #53478 from bgamari/bump-ngspice
ngspice: 29 -> 30
2019-01-10 20:17:54 +01:00
Elmar Athmer 539d62be3a hcloud: 1.9.1 -> 1.11.0 2019-01-10 14:02:47 -05:00
Dmitry Kalinkin 9fac2254b2
Merge pull request #53666 from ThomasMader/dlang-update
dmd: 2.083.1 -> 2.084.0, dub: 1.12.1 -> 1.13.0, dtools: 2.083.1 -> 2.084.0, Literate: 2018-12-23 -> 2019-01-08
2019-01-10 13:54:44 -05:00
Robin Gloster 70732eb482
Merge pull request #53765 from mayflower/php-7.3.1
php73: 7.3.0 -> 7.3.1
2019-01-10 18:04:36 +00:00
Profpatsch 9e9fec640e bazel: 0.20.0 -> 0.21.0
0.21 removed the bundled openjdk-distribution. Instead, tries to fetch
the “right” distribution on-the-fly when building.
So we need to provide our own openjdk.

According to
https://github.com/bazelbuild/bazel/issues/6865#issuecomment-447261288
we should set `--host_javabase="@local_jdk//:jdk` if we want to do
that. This uses the jdk that is currently in the environment, which is
openjdk 8 in our case. 0.21 defaulted to a toolchain for JDK9, which
we don’t package in nixpkgs, so we use the JDK8 toolchain.

This commit also replaces the line-number-based sed invocations with
something more stable.
2019-01-10 18:46:25 +01:00
Will Dietz 7e31406886 bazel: greatly reduce time spent substituting, be smart which files
Files inspected: 2756 -> 40
Total size of inspected files: 20M -> 1016K
2019-01-10 18:46:25 +01:00
Herwig Hochleitner 5d4f0de689 mps: 1.116.0 -> 1.117.0 2019-01-10 18:25:41 +01:00
Robert Schütz 7ca9db080b python.pkgs.fido2: run tests 2019-01-10 18:10:21 +01:00
Jake Waksbaum 53b996a62a pythonPackages.poetry: init at 0.12.10 2019-01-10 17:02:45 +00:00
worldofpeace 0756066b1b pythonPackages.pyristent: add pytestrunner, fix build 2019-01-10 17:02:45 +00:00
Jake Waksbaum 33f486f456 pythonPackages.tomlkit: init at 0.5.3 2019-01-10 17:02:45 +00:00
Jake Waksbaum a9ced39e88 pythonPackages.cachy: init at 0.2.0 2019-01-10 17:02:45 +00:00
Jake Waksbaum 9f6a76b95b pythonPackages.cleo: init at 0.7.2 2019-01-10 17:02:45 +00:00
Jake Waksbaum 8aa6c116f2 pythonPackages.clikit: init at 0.2.3 2019-01-10 17:02:45 +00:00
Jake Waksbaum 1b22109904 pythonPackages.pastel: init at 0.1.0 2019-01-10 17:02:45 +00:00
Jake Waksbaum e77c10db63 pythonPackages.pylev: init at 1.3.0 2019-01-10 17:02:45 +00:00
Robert Schütz 3f3fe76fec
Merge pull request #53761 from dotlambda/aiohttp-3.5.2
python3.pkgs.aiohttp: 3.4.4 -> 3.5.2
2019-01-10 18:02:28 +01:00
Robin Gloster 0af5ce1c8b
php73: 7.3.0 -> 7.3.1 2019-01-10 17:43:14 +01:00
Robert Schütz 77ec7d75a9 python.pkgs.py3status: 3.14 -> 3.15 2019-01-10 17:39:23 +01:00