Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packages for IBEX #506

Open
lebarsfa opened this issue Mar 27, 2021 · 6 comments
Open

Packages for IBEX #506

lebarsfa opened this issue Mar 27, 2021 · 6 comments

Comments

@lebarsfa
Copy link
Contributor

lebarsfa commented Mar 27, 2021

Hello,

This is just to let you know that I am trying to push on https://chocolatey.org/packages/ibex/2.8.9 a package for Chocolatey, which is a popular package manager for Windows (choco command, not be confused with choco-solver…).
Since it is not yet accepted, the quick start procedure described on https://chocolatey.org/packages/ibex/2.8.9#description does not work yet unless you manually download the package in a folder and run choco source add -n=current-directory -s ., but I think this would greatly simplify the installation for new users. The idea is since Ibex is currently a dependency of Codac (ex Tubex), Codac could be installed similarly later (in practice it is already possible if we then download manually in the same folder https://www.ensta-bretagne.fr/packages/choco/codac.0.1.3.nupkg and https://www.ensta-bretagne.fr/packages/choco/eigen.3.3.4.nupkg and run choco install codac).

In the same idea for Ubuntu (currently only for amd64 16.04, 18.04, 20.04) :

echo "deb [trusted=yes] https://www.ensta-bretagne.fr/packages/`lsb_release --id -s | tr [:upper:] [:lower:]`/`lsb_release -cs` ./" | sudo tee -a /etc/apt/sources.list.d/ensta-bretagne.list
sudo apt-get update
sudo apt-get -y install libcodac-dev build-essential cmake
wget https://www.ensta-bretagne.fr/lebars/Share/test_codac.zip
unzip -q test_codac.zip
cd test_codac
cmake .
make
./my_project

libcodac-dev installs libibex-dev as dependency. It is probably not yet ready to be submitted as is to official repositories but it is a first step. See https://github.com/lebarsfa/ibex-lib/actions for the packages generation details.

What are your thoughts about that?

BTW, I guess issues #71 and #253 could be closed, especially with the addition of CMake support, IBEX (at least version 2.8.9) builds correctly with multiple versions of recent Visual Studio and MinGW both in 32 and 64 bit, see e.g. https://github.com/lebarsfa/codac/actions/runs/693650891 and https://github.com/lebarsfa/codac/actions/runs/693650892.

@gchabert
Copy link
Contributor

gchabert commented Apr 2, 2021

Hi Fabrice,
It sounds great! Many thanks for reporting your work. It just perfeclty complete the work made by Cyril to basically do the same under Linux (Debian package).
I have a question: can Chocolatey generate installers (you know, with the usual graphical interface) ? Sorry if it is a stupid question, I'm not a Windows user.

I was not aware that Ibex could compile under MinGW 64, thanks! I have to test that and update the documentation.

And you are right, I'm closing these old issues.

@lebarsfa
Copy link
Contributor Author

lebarsfa commented Apr 4, 2021

Hello,

In the meantime, it seems the Chocolatey moderators would like that one of the "software authors" be among the "package maintainers" and anyway it would be logical, is it possible that you or maybe Cyril create an account on https://community.chocolatey.org/account/Register so that I can add you to the list of "package maintainers"?

For the GUI installers, it is definitely not a stupid question! I don't know if Chocolatey helps, there is a Chocolatey GUI but it is not exactly what you probably meant. I have not much played with them but I think InnoSetup is a typical installer type often used for open-source projects, but among the different solutions (e.g. WiX, Windows Installer and other variants) I don't really know which one would be the easiest, especially if we want a way to install automatically dependencies such as a compiler or IDE for first-time users.

About the Debian packages made by Cyril, do you have more info about that, are they already available somewhere?

@SimonRohou
Copy link
Member

Hi Fabrice, very good!

This will be very helpful for our developments.

@gchabert , @cyrilbouvier > any news about it?
Can you register in Choco in order to make IBEX available on this platform?

@cyrilbouvier
Copy link
Contributor

Details about the debian package progress are discussed in #486. I will update it soon with new info.

@lebarsfa
Copy link
Contributor Author

lebarsfa commented May 30, 2021

Thank you, I searched in Issues and PRs but missed the Discussions tab!

In the meantime, IBEX package has just been approved on Chocolatey, people can now just install Chocolatey and follow https://community.chocolatey.org/packages/ibex#description to quickly test IBEX on Windows, and then get package updates easily with choco update -y all command just as we are used to do on Ubuntu with sudo apt -y upgrade.

The procedure can be summarized as :

  • Right-click on Start button and in the menu click on Windows PowerShell (Admin).
  • In PowerShell, paste Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) and press ENTER.
  • Then, paste choco install -y ibex cmake make qtcreator and press ENTER.
  • Launch Qt Creator from Windows Start menu and choose Open Project, open test_ibex\CMakelists.txt (get the folder from https://www.ensta-bretagne.fr/lebars/Share/test_ibex.zip), ensure Desktop is selected and click Configure Project, wait 10 s then click on the big bottom green Run button, finally check that "My first interval:[0, 1]" appears.

From #486, I see that it seems more difficult to get a package accepted on the default repos of Ubuntu. I plan to propose soon a PR with what I describe somehow in the beginning of this issue : generation using GitHub actions (see also what I say in #511) of the Chocolatey package and simple Ubuntu packages that could be hosted easily on almost any website e.g. https://www.ensta-bretagne.fr/packages as an example :

echo "deb [trusted=yes] https://www.ensta-bretagne.fr/packages/`lsb_release --id -s | tr [:upper:] [:lower:]`/`lsb_release -cs` ./" | sudo tee -a /etc/apt/sources.list.d/ensta-bretagne.list
sudo apt-get update
sudo apt-get -y install libibex-dev build-essential cmake
wget https://www.ensta-bretagne.fr/lebars/Share/test_ibex.zip
unzip -q test_ibex.zip
cd test_ibex
cmake .
make
./my_project

Then, a sudo apt -y upgrade should work as expected if a new version of IBEX is published on https://www.ensta-bretagne.fr/packages.

@paulk-asert
Copy link

@lebarsfa Any chance you could do an ibex Chocolatey update with the ibex-java plugin also included?
The instructions for including that plugin are here:
http://www.ibex-lib.org/doc/java-install.html (though not updated for 64bit)
Using the Choco Solver (https://choco-solver.org/) with Ibex is what I'd like to make easy for Windows users.
I am happy to help with testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants