# Help registering a package with external/unregistered dependencies

**URL:** https://discourse.julialang.org/t/help-registering-a-package-with-external-unregistered-dependencies/37745
**Category:** Package Announcements
**Created:** [April 17, 2020, 9:11am UTC](https://discourse.julialang.org/t/help-registering-a-package-with-external-unregistered-dependencies/37745 "2020-04-17T09:11:16Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Iulian.Cioarca](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/iulian.cioarca/32/30166_2.png) [@Iulian.Cioarca](https://discourse.julialang.org/u/Iulian.Cioarca)
#### Post date: [April 17, 2020, 9:11am UTC](https://discourse.julialang.org/t/help-registering-a-package-with-external-unregistered-dependencies/37745/1 "2020-04-17T09:11:16Z")

</div>

I wanted to register [GitHub - iuliancioarca/GenericInstruments.jl: Bundles similar functionalities of instruments under a single generic object: power supplies, arbitrary waveform generators, etc.](https://github.com/iuliancioarca/GenericInstruments.jl) and I encountered a few problems:

1. My package relies on the unregistered [GitHub - BBN-Q/Instruments.jl: Instrument control in Julia](https://github.com/BBN-Q/Instruments.jl). I managed to fix this somehow by explicitly installing it with: `Pkg.add(PackageSpec(url="https://github.com/BBN-Q/Instruments.jl.git"))` (although I’m sure this is not the way to go since there is no way to enforce version compatibility).
2. The `Instruments.jl` package needs NIVISA libraries installed, which, as far as I know, can only be installed via the NI installer. On a local session, the user can, of course, install these libraries before installing `Instruments.jl` and everything works fine, but on Travis or Appveyor I cannot do this, so my build fails with the following error:  
Error: Error building `Instruments`:

```julia
ERROR: LoadError: None of the selected providers can install dependency visa.
Use BinDeps.debug(package_name) to see available providers

```

I could use my own fork of the repo, bypassing the BinDeps altogether and finding a way to expose the path to those those libraries, but it’s a hacky solution and I also don’t think it would be fair for the developers of `Instruments.jl`.

Any suggestion is welcome.

---

<div class="post-metadata">

### Author: ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)
#### Post date: [April 17, 2020, 9:39am UTC](https://discourse.julialang.org/t/help-registering-a-package-with-external-unregistered-dependencies/37745/2 "2020-04-17T09:39:23Z")

</div>

Have you thought about the option not to register?  
Building something on an unregistered and only install-able with external resources (and afaics only on Windows) is not recommended.  
You could consult the BBN-Q group, if they are willing to use BinaryProvider and repack the library.

---

<div class="post-metadata">

### Author: ![j-fu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/j-fu/32/11373_2.png) [@j-fu](https://discourse.julialang.org/u/j-fu)
#### Post date: [April 17, 2020, 5:14pm UTC](https://discourse.julialang.org/t/help-registering-a-package-with-external-unregistered-dependencies/37745/3 "2020-04-17T17:14:18Z")

</div>

Use your own registry. LocalRegistry.jl makes maintenance reasonably easy, and users easily can add it using `] registry add` . I think you even can register that Instruments package there.
