nixpkgs/pkgs/development/compilers
Austin Seipp 2660037f8c
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>
2021-01-15 10:13:56 -06:00
..
4th 4th: init at 3.62.5 2020-11-08 01:48:09 -03:00
abcl abcl: update source archive hash 2020-11-13 13:56:57 +01:00
acme treewide: remove periods from end of package descriptions 2020-10-17 08:22:31 -07:00
adoptopenjdk-bin adoptopenjdk: 8.0.252 -> 8.0.272, 11.0.7 -> 11.0.9, add 14.0.2, add 15.0.1 2020-11-23 12:19:26 +03:00
adoptopenjdk-icedtea-web adoptopenjdk-icedtea-web: 1.8.3 -> 1.8.4 2020-06-14 04:42:03 +00:00
aldor treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
aliceml aliceml: do not use aliases 2020-05-16 23:12:57 +02:00
apache-flex-sdk treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
arachne-pnr treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
asn1c treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
aspectj aspectj: 1.5.2 -> 1.9.6 2020-08-25 09:58:37 +02:00
ats treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
ats2 ats2: 0.3.13 -> 0.4.1 2020-10-10 22:26:59 -03:00
avian treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
avra treewide: remove the-kenny from maintainers 2020-05-09 10:28:57 +01:00
bigloo bigloo: 4.1a-2 → 4.3h; hop: 2.5.1 → 3.3.0 2020-09-21 23:24:54 -07:00
binaryen binaryen: 95 -> 96 2020-08-29 11:27:35 +02:00
bluespec bluespec: unstable-2020.02.09 -> unstable-2020.11.04 2020-11-25 10:06:35 -06:00
bs-platform treewide: remove periods from end of package descriptions 2020-10-17 08:22:31 -07:00
bupc treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
cakelisp cakelisp: init at 0.1.0 2021-01-04 22:28:11 -05:00
carp treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
cc65 cc65: 2.18 -> 2.19 2020-11-21 17:43:49 +00:00
ccl ccl: 1.11.5 -> 1.12 2020-08-15 15:43:49 -07:00
chez chez-scheme: 9.5.2 -> 9.5.4 2020-10-21 13:05:34 -05:00
chicken chicken: support darwin platform (#103748) 2020-11-15 09:11:56 -05:00
ciao ciao: init at 1.19.0 2020-05-24 12:26:29 +03:00
clasp treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
clean treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
closure closurecompiler: 20200614 -> 20200719 2020-08-29 15:59:24 +02:00
cmdstan treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
cmucl treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
colm treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
compcert compcert: 3.7 → 3.8 2020-12-09 08:28:04 +01:00
computecpp computecpp: 2.2.1 -> 2.3.0 2021-01-07 17:27:46 +00:00
copper treewide: remove periods from end of package descriptions 2020-10-17 08:22:31 -07:00
coreclr coreclr: get clang from llvmPackages 2020-04-13 15:55:16 +02:00
crystal crystal2nix: unstable-2018-07-31 -> 0.1.0 2020-12-28 16:21:23 +08:00
crystal2nix crystal2nix: unstable-2018-07-31 -> 0.1.0 2020-12-28 16:21:23 +08:00
cudatoolkit Fix trailing whitespace 2020-12-30 21:35:22 -05:00
dale treewide: cmake buildInputs to nativeBuildInputs, minor cleanups 2021-01-01 11:52:33 +07:00
dasm dasm: 2.20.14 -> 2.20.14.1 2020-11-11 14:33:55 -08:00
dev86 treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
dmd Re-Revert "Merge #101508: libraw: 0.20.0 -> 0.20.2" 2020-10-26 08:19:17 +01:00
dotnet dotnetCorePackages.sdk_5_0: 5.0.100-rc.1.20452.10 -> 5.0.100 2020-11-11 15:35:23 -08:00
dtc dtc,python.pkgs.libfdt: drop python buildInput 2020-10-25 10:55:52 -04:00
ecl ecl: patches to fix SIGFPEs and for unicode compatibility with maxima 2020-12-14 19:24:19 -03:00
edk2 edk2: 201911 -> 202011 (#105582) 2020-12-01 21:47:18 +01:00
eli treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
elm elmPackages.elm-review: Init at 2.3.3 2020-11-29 16:23:10 +01:00
emscripten emscripten: precompile libraries for wasm2c 2020-08-29 14:14:57 +02:00
eql ecl: 16.1.3 -> 20.4.24, eql-git: fix build 2020-10-23 07:53:09 +09:00
factor-lang treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
fasm fasm: 1.73.24 -> 1.73.25 2020-08-25 20:13:27 +00:00
fasmg fasmg: init at j27m 2020-11-25 11:48:59 +01:00
flasm flasm: init at 1.64 2020-12-21 08:18:30 +07:00
flutter flutter: refactor and reduce derivation size 2021-01-06 17:50:45 -03:00
flux flux: init at 2013-09-20 2019-08-18 23:17:58 -04:00
fpc treewide: remove package names from prefix of descriptions 2020-10-27 09:15:07 -07:00
fsharp treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
fsharp41 fsharp41: Add patch to avoid type inference error. (#103223) 2020-11-10 12:52:13 +00:00
fstar fstar: install completions 2020-04-29 04:20:00 -05:00
gambit gambit: support targets, modules 2020-11-06 12:03:59 -05:00
gavrasm treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
gcc Merge staging-next into staging 2021-01-04 06:25:40 +00:00
gcc-arm-embedded gcc-arm-embedded: don't override phases 2020-12-29 11:36:17 +01:00
gcl treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
gerbil gerbilPackages-unstable.gerbil-libp2p: init at 2018-12-27 2020-11-06 12:04:00 -05:00
gforth treewide: remove the-kenny from maintainers 2020-05-09 10:28:57 +01:00
ghc ghc-9.0.1: set utf-8 locale during the build so that Haddock succeeds 2021-01-02 19:58:19 +01:00
ghcjs-ng ghcjs: mark build broken 2020-11-06 21:38:28 +01:00
ghdl ghdl: 0.37 -> unstable-2021.01.14 2021-01-15 10:13:46 -06:00
gleam gleam: 0.12.0 -> 0.12.1 2020-11-19 22:41:11 -08:00
glslang Merge branch 'master' into staging-next 2021-01-07 13:04:31 +01:00
gnatboot gnat: init at 9.3.0 2020-04-20 14:41:22 +02:00
gnu-cobol treewide: remove the-kenny from maintainers 2020-05-09 10:28:57 +01:00
gnu-smalltalk treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
go go: remove meta.branch 2021-01-11 06:00:38 +10:00
go-jsonnet go-jsonnet: 0.16.0 -> 0.17.0 2020-11-26 05:56:06 +00:00
gprolog treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
graalvm Merge pull request #99631 from glittershark/graalvm-ce 2020-11-03 18:39:11 -05:00
gwt treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
halide halide: enable on aarch64-linux 2020-10-11 05:12:39 +02:00
haxe treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
hhvm treewide: cmake buildInputs to nativeBuildInputs, minor cleanups 2021-01-01 11:52:33 +07:00
hop bigloo: 4.1a-2 → 4.3h; hop: 2.5.1 → 3.3.0 2020-09-21 23:24:54 -07:00
iasl treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
idris2 idris2: 0.2.2 -> 0.3.0 2021-01-14 19:11:36 +01:00
inform6 inform6: init at 6.34-6.12.2 2020-07-30 10:27:25 -04:00
inform7 treewide: remove periods from end of package descriptions 2020-10-17 08:22:31 -07:00
intel-graphics-compiler intel-graphics-compiler: 1.0.4062 -> 1.0.4241 2020-07-03 18:56:15 +00:00
intercal treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
ios-cross-compile
ispc ispc: 1.10.0 -> 1.13.0, cleanup, (co)maintain 2020-04-24 12:08:43 -05:00
jasmin jasmin: use jdk8 2020-09-19 17:41:15 +02:00
javacard-devkit treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
jetbrains-jdk jetbrains.jdk: 11.0.6-b774 -> 11.0.7-b64 (#92837) 2020-07-11 18:46:49 +02:00
jsonnet jsonnet: 0.16.0 -> 0.17.0 2020-11-26 08:26:57 +00:00
julia treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
jwasm jwasm: 2017-11-12 -> 2.13 2020-04-02 16:24:38 +00:00
kotlin kotlin: 1.4.20 -> 1.4.21 2020-12-09 07:57:47 +00:00
ldc treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
llvm Merge staging-next into staging 2021-01-04 00:57:38 +00:00
lobster treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
manticore treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
matter-compiler treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
mcpp mccp: add patch for CVE-2019-14274 2020-09-10 15:50:25 +02:00
mercury mercury: 20.06 -> 20.06.1 2020-11-05 10:39:51 +09:30
meta-environment/meta-build-env treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
mezzo treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
microscheme treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
mint mint: 0.7.1 -> 0.9.0 2020-04-22 17:30:22 +08:00
miranda miranda: remove gcc as buildInput 2020-10-26 20:29:04 +07:00
mit-scheme mit-scheme: 9.2 -> 10.1.10 2020-05-13 16:12:43 -07:00
mkcl treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
mlkit mlkit: 4.5.1 -> 4.5.2 2020-11-26 12:03:31 +00:00
mlton mlton: use $TMPDIR 2020-09-10 17:11:26 +02:00
mono treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
mosml treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
mozart treewide: remove periods from end of package descriptions 2020-10-17 08:22:31 -07:00
mruby mruby: 2.1.1 -> 2.1.2 2020-09-21 04:20:00 +00:00
muon fix eval 2020-11-28 14:50:21 +10:00
nasm nasm: 2.14.02 -> 2.15.05 2020-10-23 22:12:18 +00:00
neko treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
nextpnr Merge pull request #108300 from siraben/parallel-cmake 2021-01-03 13:22:09 -05:00
nim nim: expose testament test runner 2020-12-10 14:49:01 +01:00
nvidia-cg-toolkit treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
obliv-c treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
ocaml ocaml-ng.ocamlPackages_4_12.ocaml: 4.12.0~α2 → 4.12.0~α3 2020-12-26 08:12:49 +01:00
opa opa: build with OCaml 4.03 2020-10-29 06:35:15 +01:00
open-watcom-bin open-watcom-bin: fix EOVERFLOW on stat() calls 2020-05-08 17:29:38 +02:00
opendylan treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
openjdk openjdk: build with empty pre-version (#108994) 2021-01-15 05:12:41 +01:00
openspin treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
oraclejdk oraclejdk8: 8u261 -> 8u271 2021-01-11 23:00:59 +01:00
orc orc: 0.4.29 -> 0.4.32 2020-11-18 15:50:58 +01:00
osl treewide: cmake buildInputs to nativeBuildInputs, minor cleanups 2021-01-01 11:52:33 +07:00
owl-lisp owl-lisp: 0.1.19 -> 0.1.23 2020-11-04 11:13:06 +08:00
paco paco: init at 1.0 2020-09-30 11:05:45 +02:00
pakcs pakcs: 2.2.0 -> 2.2.1 2020-11-16 13:42:13 +03:00
pforth pforth: fix build with patch 2020-09-15 22:55:01 +01:00
picat picat: enable on aarch64-linux 2020-11-21 03:34:56 -06:00
polyml polyml: 5.8 -> 5.8.1 2020-07-25 18:31:43 +10:00
ponyc treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
purescript tree-wide: unify Bash completions outputs (#103421) 2020-11-12 21:22:18 +00:00
qbe qbe: remove stray newline 2020-12-02 17:23:32 +01:00
rasm remove genesis maintainer 2020-11-18 22:37:56 -08:00
reason ocamlPackages.reason: use Dune 2 2021-01-05 18:23:20 +01:00
rgbds rgbds: 0.4.1 -> 0.4.2 2020-12-11 01:36:35 +00:00
rust rust: fix comment about invocation of print-hashes.sh 2021-01-08 14:38:42 +01:00
sagittarius-scheme sagittarius-scheme: 0.9.6 -> 0.9.7 2020-08-29 14:36:16 +00:00
sbcl sbcl: 2.0.0 -> 2.0.8 2020-10-24 12:52:16 +02:00
scala scala_2_12: 2.12.12 → 2.12.13 2021-01-15 10:39:11 -05:00
sdcc treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
seexpr treewide: cmake buildInputs to nativeBuildInputs, minor cleanups 2021-01-01 11:52:33 +07:00
serpent treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
shaderc treewide: remove periods from end of package descriptions 2020-10-17 08:22:31 -07:00
smlnj treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
solc solc: 0.6.8 -> 0.7.4 2020-11-05 20:12:16 -08:00
souffle souffle: 2.0.1 -> 2.0.2 2020-11-12 04:22:54 +00:00
spasm-ng spasm-ng: init at unstable-2020-08-03 2020-10-28 13:39:15 +07:00
spirv-llvm-translator treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
squeak treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
stalin treewide: remove package names from prefix of descriptions 2020-10-27 09:15:07 -07:00
swi-prolog swiProlog: 8.1.26 -> 8.3.9 2020-10-15 17:25:55 +02:00
swift swift: fix build w/glibc-2.32 2020-09-12 23:04:49 +02:00
terra treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
teyjus treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
tinycc tinycc: fixup perms for generated .pc file 2019-10-12 14:45:17 +02:00
tinygo tinygo: 0.13.1 -> 0.16.0 2020-12-12 16:56:08 +01:00
tvm tvm: init at 0.7.0 2020-11-26 21:53:17 -08:00
unison unison-ucm 1.0.M1l-alpha -> 1.0.M1m-alpha 2020-11-26 23:59:32 -05:00
urn treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
urweb urweb: 20190217 -> 20200209 2020-02-12 13:28:40 -06:00
vala vala_0_48: 0.48.7 -> 0.48.9 2020-10-24 01:14:04 +02:00
vlang vlang: Propagate build inputs, add $LDFLAGS (#70466) 2019-10-07 00:02:34 -04:00
vyper vyper: init at 0.2.8 (#104758) 2021-01-11 02:01:47 +01:00
wcc treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
wla-dx treewide: run ./maintainers/scripts/update_redirected_urls.sh 2020-11-27 01:35:54 +01:00
x11basic treewide: remove periods from end of package descriptions 2020-10-17 08:22:31 -07:00
yap treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
yasm treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
yosys yosys: enable loading "out of band" plugins 2021-01-15 10:13:56 -06:00
z88dk z88dk: 2020-01-27 -> 2.0 2021-01-03 23:38:10 +07:00
zasm zasm: Init at 4.2.6 2020-03-24 18:29:53 +01:00
zig zig: 0.6.0 -> 0.7.1 2020-12-24 16:23:17 +02:00
zulu treewide: drop gnome2.pango alias 2020-10-25 23:48:29 +01:00
zz zz: 2020-03-02 -> 0.1 2020-05-28 04:20:00 -05:00