All Projects → JuliaPackaging → Binarybuilder.jl

JuliaPackaging / Binarybuilder.jl

Licence: other
Binary Dependency Builder for Julia

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Binarybuilder.jl

Matterpoll
Create polls and surveys directly within Mattermost
Stars: ✭ 189 (+0%)
Mutual labels:  hacktoberfest
Java Operator Sdk
Java SDK for building Kubernetes Operators
Stars: ✭ 186 (-1.59%)
Mutual labels:  hacktoberfest
Nebula
Nebula is a minimalistic and easy to use administration tool for Laravel applications, made with Laravel, Alpine.js, and Tailwind CSS.
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest
Laravel Datatables Html
Laravel DataTables HTML Builder Plugin
Stars: ✭ 188 (-0.53%)
Mutual labels:  hacktoberfest
Treestyletab
Tree Style Tab, Show tabs like a tree.
Stars: ✭ 2,438 (+1189.95%)
Mutual labels:  hacktoberfest
Debroglie
DeBroglie is a C# library implementing the Wave Function Collapse algorithm with support for additional non-local constraints, and other useful features.
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest
Labean
HTTP/HTTPS port knocker for GNU/Linux written in Go
Stars: ✭ 188 (-0.53%)
Mutual labels:  hacktoberfest
Bible.rs
A Bible server written in Rust using Actix Web and Diesel
Stars: ✭ 191 (+1.06%)
Mutual labels:  hacktoberfest
Codeclimate
Code Climate CLI
Stars: ✭ 2,273 (+1102.65%)
Mutual labels:  hacktoberfest
Conditionwatcher
Android tool which helps to synchronise application behaviours with test thread in automation tests.
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest
Css Declaration Sorter
Sort CSS declarations fast and automatically in a certain order.
Stars: ✭ 188 (-0.53%)
Mutual labels:  hacktoberfest
Dark
(grafana) Dashboards As Resources in Kubernetes
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest
Pswindocumentation
PowerShell Module that creates Word/Excel/SQL documentation from Active Directory (AD), AWS, Office 365 and others. It's a work in progress!
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest
Community
Central repository for issues and recipes
Stars: ✭ 189 (+0%)
Mutual labels:  hacktoberfest
Hacktoberfest
Make your first PR! ~ A beginner-friendly repository made specifically for open source beginners. Add your profile, a blog or any program under any language (it can be anything from a hello-world program to a complex data structure algorithm) or update the existing one. Just make sure to add the file under the correct directory. Happy hacking!
Stars: ✭ 191 (+1.06%)
Mutual labels:  hacktoberfest
Comit Rs
Reference implementation of COMIT, an open protocol facilitating trustless cross-blockchain applications.
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest
Getjs
A tool to fastly get all javascript sources/files
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest
Mtgjson
MTGJSON build scripts for Magic: the Gathering
Stars: ✭ 191 (+1.06%)
Mutual labels:  hacktoberfest
React Tiny Fab
🤖A tiny Floating Action Button for React
Stars: ✭ 191 (+1.06%)
Mutual labels:  hacktoberfest
Media Manager
A simple file browser and up-loader for Laravel written in Vue.JS
Stars: ✭ 190 (+0.53%)
Mutual labels:  hacktoberfest

BinaryBuilder

Build Status codecov.io

"Yea, though I walk through the valley of the shadow of death, I will fear no evil"

Quickstart

  1. Install BinaryBuilder
using Pkg; Pkg.add("BinaryBuilder")
  1. Run the wizard.
using BinaryBuilder
BinaryBuilder.run_wizard()
  1. The wizard will take you through a process of building your software package. Note that the wizard may need to download a new compiler shard for each platform targeted, and there are quite a few of these, so a fast internet connection can be helpful. The output of this stage is a build_tarballs.jl file, which is most commonly deployed as a pull request to the community buildtree Yggdrasil. For experienced users, it is often more convenient to directly copy/modify an existing build_tarballs.jl file within Yggdrasil, then simply open a pull request where CI will test building the binary artifacts for all platforms again.

  2. The output of a build is a JLL package (typically hosted within the JuliaBinaryWrappers GitHub organization) which can be added to packages just like any other Julia package. The JLL package will export bindings for all products defined within the build recipe.

For more information, see the documentation for this package, viewable either directly in markdown within the docs/src folder within this repository, or online.

Philosophy

Building binary packages is a pain. BinaryBuilder follows a philosophy that is similar to that of building Julia itself; when you want something done right, you do it yourself. To that end, BinaryBuilder is designed from the ground up to facilitate the building of packages within an easily reproducible and reliable Linux environment, ensuring that the built libraries and executables are deployable to every platform that Julia itself will run on. Packages are cross-compiled using a sequence of shell commands, packaged up inside tarballs, and hosted online for all to enjoy. Package installation is merely downloading, verifying package integrity and extracting that tarball on the user's computer. No more compiling on user's machines. No more struggling with system package managers. No more needing sudo access to install that little mathematical optimization library.

All packages are cross compiled. If a package does not support cross compilation, we patch the package or, in extreme cases, rebundle prebuilt executables.

The cross-compilation environment that we use is a homegrown Linux environment with many different compilers built for it, including various versions of gcc, clang, gfortran, rustc and go. You can read more about this in the RootFS.md file within the Yggdrasil repository.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].