Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

FreeBSD build #1425

Closed
arkpar opened this issue Jun 24, 2016 · 10 comments
Closed

FreeBSD build #1425

arkpar opened this issue Jun 24, 2016 · 10 comments
Labels
F8-enhancement 🎊 An additional feature request. M4-core ⛓ Core client code / Rust. P9-somedaymaybe 🌞 Issue might be worth doing eventually. Q7-involved 💪 Can be fixed by a team of developers and probably takes some time. Z3-stale 🍃 Issue is in principle valid, but it is not relevant anymore or can not reproduced.
Milestone

Comments

@arkpar
Copy link
Collaborator

arkpar commented Jun 24, 2016

No description provided.

@arkpar arkpar added P9-somedaymaybe 🌞 Issue might be worth doing eventually. F2-build labels Jun 24, 2016
@gavofyork gavofyork added F8-enhancement 🎊 An additional feature request. and removed F2-build labels Jun 25, 2016
@gavofyork gavofyork added the Q7-involved 💪 Can be fixed by a team of developers and probably takes some time. label Aug 10, 2016
@gavofyork gavofyork added the M4-core ⛓ Core client code / Rust. label Sep 20, 2016
@tymat
Copy link

tymat commented Oct 15, 2016

Looks like updating the nix crate fixes the compilation error related to that issue.

One other remaining compile issue is with the version of ring crate which was recently fixed here briansmith/ring#313

@DominiLux
Copy link

DominiLux commented Nov 24, 2016

I'm going to volunteer some of my time this week to this challenge. I love a good port plus I'm determined to get the latest version of parity running on BSD from the master branch. I'll document my steps and prepare a pure bash script to automate the system configurations. I'm going to do it from a fresh install and the use the ports tree to compile whatever is needed. Implementation should be simple enough. But before I do that I need to spend about 3 or 4 days studying dependencies and possibly creating a custom rust github as I don’t think that's available on BSD yet. I'll let you gentleman know my progress. I will begin research today. First I get to do may favourite thing... Find random computer parts and throw them together on a desk scattered about in a nicely unorganized fashion to serve as the development system. I'll post pictures of it :)

@paukstis
Copy link

Hi, I'm following the process with a patch, master and v1.4 branches in this repo

@DominiLux
Copy link

I'm going to do a fork of this, make some minor changes and do a lot of testing. Also I need to check to see what the different is between the repo of nanomsg that the patch uses as opposed to using the version from ethcore to ensure their are no security concerns within the code as i'm not sure of the maintainer of that code. If there is only some slight (Of no security concern) differences then I may write a script to just directly modify the version that ethcore uses). As of right now this repository that the patch file downloads from really needs to be audited so I advise others to only use this for experimentation purposes and not with live account keys. Once everything is audited and I automate the process perhaps we can have this fully published to ethcore/parity with a set of UNIX build instructions via an included UNIX_install.bash script file. Inevitably that decision is not up to me tho but I'm willing to put in the work once I complete a necessary security audit of the repos that the .patch file references. Additional changes I would like to make are to compile directly from the official ports tree as opposed to downloading binaries. This should resolve any issues with installing it on pre exhisting Free BSD installs because it takes a while to properly configure a BSD Machine and once it is configured compiling from the ports tree is the way to go. Most BSD Administrators prefer compiling from source for this very reason. I do like the jailed suggestion a lot tho. The script I will Pull may have the option of setting up the jail as part of the install. Let me know your thoughts on this and anything else I can do to help. I have had my hands tied with another major project lately but if everything checks out in reference to the security of this it will be just what I need to complete this script. Oh and thank you for your work on this. In the bash script i'll make sure that your name is listed as a contributing author because the algorithm to follow to write the code is just as important as the code itself. Once everything is confirmed to work on FreeBSD a port to IOS is easy because apple forked FreeBSD and use it's code base for IOS (Altho they have a lot of proprietary code, most ports to FreeBSD are easily moved over to Apple devices). That would be kind of neat to have parity working across Windows, Linux, FreeBSD, and IOS. In fact it may be the first node within Cryptonomics to have ever achieved it (I'm not sure on that tho Bitcoin may have one that spans across all of the above).

@5chdn 5chdn added the Z3-stale 🍃 Issue is in principle valid, but it is not relevant anymore or can not reproduced. label Sep 4, 2017
@5chdn 5chdn closed this as completed Sep 4, 2017
@5chdn
Copy link
Contributor

5chdn commented Sep 11, 2017

@tymat I don't have access to a FreeBSD machine, what's missing so far?

@paukstis
Copy link

paukstis commented Dec 3, 2017

Parity 1.6.10 builds on FreeBSD with libusb (and hardware wallets) disabled, I'm following it here, unfortunately FreeBSD is not in libusb's supported OS list, would it make sense to have a build time option to disable usblib ?

@5chdn
Copy link
Contributor

5chdn commented Dec 6, 2017

Just looked at the toml files. Libusb is pulled in by ./hw/Cargo.toml, hardware-wallet is required by ./ethcore/Cargo.toml:hardware-wallet = { path = "../hw" } and ./rpc/Cargo.toml:hardware-wallet = { path = "../hw" }.

So there is currently no way to disable it at build-time without some refactoring. Maybe @folsen has some creative idea?

@5chdn 5chdn added this to the 1.9 milestone Jan 5, 2018
@vladyslav2
Copy link

@5chdn any updates on this issue?

@5chdn
Copy link
Contributor

5chdn commented Apr 23, 2018

would it make sense to have a build time option to disable usblib ?

@niklasad1 what's your opinion on that?

@niklasad1
Copy link
Collaborator

niklasad1 commented Apr 23, 2018

Hrm, I think it would be possible by using conditional compilation to make libusb a Linux, OSX, Windows and Android only. Something like:

#[cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))]
extern crate hardware_wallet;

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F8-enhancement 🎊 An additional feature request. M4-core ⛓ Core client code / Rust. P9-somedaymaybe 🌞 Issue might be worth doing eventually. Q7-involved 💪 Can be fixed by a team of developers and probably takes some time. Z3-stale 🍃 Issue is in principle valid, but it is not relevant anymore or can not reproduced.
Projects
None yet
Development

No branches or pull requests

8 participants