Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
base: bcdca9278724
Choose a base ref
...
head repository: NixOS/nixpkgs
compare: d18e53761338
Choose a head ref
  • 8 commits
  • 18 files changed
  • 2 contributors

Commits on Jan 15, 2021

  1. Revert "Merge pull request #105709 from CajuM/symbiflow"

    This reverts commit 02828f9, reversing
    changes made to f0a7fce.
    thoughtpolice committed Jan 15, 2021
    Copy the full SHA
    ca27105 View commit details
    Browse the repository at this point in the history
  2. maintainers: add mcaju

    Câju Mihai-Drosi authored and thoughtpolice committed Jan 15, 2021
    Copy the full SHA
    5ffd4e1 View commit details
    Browse the repository at this point in the history
  3. ghdl: 0.37 -> unstable-2021.01.14

    This unreleased version of GHDL fixes a bunch of bugs. It also contains
    a few internal API changes for synthesis support -- required by the GHDL
    yosys plugin.
    
    Ideally, we can just remove this when 0.38 comes out.
    
    Signed-off-by: Austin Seipp <aseipp@pobox.com>
    thoughtpolice committed Jan 15, 2021
    Copy the full SHA
    51d1125 View commit details
    Browse the repository at this point in the history
  4. yosys: enable loading "out of band" plugins

    By default, when yosys looks for plugins with the `-m` flag or `plugin`
    command, it always looks in `YOSYS_PREFIX/share/yosys/plugins` for a
    `.so` file, and loads that.
    
    By design, this is intended to be a single, global, mutable location
    such as `/usr/share/yosys/...` on disk, and plugins are supposed to
    install their `.so` files here after yosys is installed, and they all
    coexist together. Obviously, this won't work for us, but users might
    expect these plugins to still work. More importantly, they won't want to
    add special cases to their build systems.
    
    Instead, to allow Nix users to use yosys plugins with the same UX (e.g.
    natively call `plugin bluespec` or `-m ghdl`), we add a patch to yosys
    that allows it to search a new `NIX_YOSYS_PLUGIN_DIRS` search path
    environment variable. In tandem, we add a setup hook that adds to this
    search path if a package has a `$out/share/yosys/plugins` directory.
    
    Thus, it's enough to just include `yosys`, and any package that has a
    yosys plugin in `$out/share/yosys/plugins`, and you can load it with
    `-m` or the `plugin` command.
    
    We could use a style like the haskellPackages set, where the set of
    packages are "encased" in a lambda, and we pass packages that are
    compatible with that version of the compiler:
    
        haskell.packages.ghc8102.ghcWithPackages (p: with p; [ ... ])
    
    but, realistically, there will probably only ever be one version of
    yosys and one set of compatible plugins, so this seems overdone.
    
    Signed-off-by: Austin Seipp <aseipp@pobox.com>
    thoughtpolice committed Jan 15, 2021
    Copy the full SHA
    2660037 View commit details
    Browse the repository at this point in the history
  5. init: experimental yosys-{bluespec, ghdl} plugins

    These plugins can be included in a closure, along with the `yosys`
    derivation, and they will be automatically picked up for use. For
    example, this allows you to include 'yosys-bluespec' in your
    `buildInputs`, and then immediately run:
    
        $ nix-shell -p yosys yosys-bluespec yosys-ghdl
        $ yosys -m bluespec -p 'help read_bluespec'
        $ yosys -m ghdl -p 'help ghdl'
    
    These two plugins are a bit experimental, admittedly, but they are good,
    clean examples of how to write and use the yosys plugin infrastructure,
    and make it easy to test updates, etc.
    
    Signed-off-by: Austin Seipp <aseipp@pobox.com>
    thoughtpolice committed Jan 15, 2021
    Copy the full SHA
    ec1830e View commit details
    Browse the repository at this point in the history
  6. yosys: cherry-pick some minor fixes (cf d81e4d9)

    d81e4d9 contained some minor fixes to the yosys derivation
    that make it a little easier to read and maintain. Incorporate those.
    
    Signed-off-by: Austin Seipp <aseipp@pobox.com>
    thoughtpolice committed Jan 15, 2021
    Copy the full SHA
    365ef90 View commit details
    Browse the repository at this point in the history
  7. yosys: some more small fixes from review feedback

    Fixes up the usage of patches/postInstall. Also removes `stdenv.lib` and
    other minor tweaks.
    
    Based on feedback from Sandro and Mihai.
    
    Signed-off-by: Austin Seipp <aseipp@pobox.com>
    thoughtpolice committed Jan 15, 2021
    Copy the full SHA
    9a951db View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2021

  1. Merge pull request #109461 from thoughtpolice/nixpkgs/yosys-plugins

    yosys: add support for loading plugins, revert symbiflow changes
    thoughtpolice committed Jan 16, 2021
    Copy the full SHA
    d18e537 View commit details
    Browse the repository at this point in the history