* crew: cache builds * Initial Gnome43/Libjpeg_turbo/ICU72 commits squashed * fix lint error * update packages.yaml * Vulkan packages -> 1.3.231 * add packages to packages.yaml * add more to packages.yaml * update libxshmfence * pixman -> 0.42.0 * libpciaccess -> 0.17.0 * update libxau * update libxfont2 * update libxcb * many updates * updates * baobab updates * add libshumate * update gnome_calculator * update dfonf_editor * update evince * add libpanel * update libpeas * update libgweather * update libgudev gnome_maps * update upower and libxfixes * style update * update gnome_session * update gnome_settings_daemon * temporary partial webkit2gtk upload * update packages.yaml * fix ruby file perms * update folks * move webkit2gtk_4 back to 2.38.0 * update icu4c, change webkit2gtk build * add updated webkit2gtk_5 file * update js102 * add x86 builds for webkit2gtk_4 * add mozjs exclusion to icu4c postinstall * add builds for evolution_data_server * update gemacs * update webkit2gtk packages * update emacs * add folks fix * loosen icu4c postinstall check * rebuild libportal with gtk3 * update epiphany * openssh -> 9.1 * add x86 webkit2gtk_4 binaries * add postinstall to webkit2gtk_4 * update svt_av1 * update libavif * linting fix * curl -> 7.86.0 * git -> 2.38.1 * add postinstall to gnome_console * add gcc10 for armv7l * add gcc10 binaries * lint gcc10 * rebase fix * Add WIP webkit2gtk builds * add back postintall to gnome_maps * gstreamer version change * cleanup geocode_glib, and fix gnome_maps depend * s/@_ver.to_s/@_ver/ * add mpv build and gtk4 -> 4.8.2 * bump curl version to 7.86.0 * remove other version binaries from webkit2gtk builds * add i686 build * adjust compatibility for gemacs... for now. * Add code to sommelier to adjust for whether scripts are sourced or run. * make -> 4.4 * bump version
Chromebrew
Package manager for Chrome OS
Chat with us!
Discord is not currently syncing messages with Slack
Overview
Chromebooks with Chrome OS run a Linux kernel. The only missing pieces to use them as full-featured Linux distro were gcc and make with their dependencies. Well, these pieces aren't missing anymore. Say hello to Chromebrew!
Prerequisites
You will need a Chromebook with developer mode enabled. To do so, select your device on the ChromiumOS Wiki and follow the instructions listed there.
Please be aware of the fact that developer mode is insecure if not properly configured. Setting a password as instructed in the VT-2 login screen is recommended. It is also recommended to enable signed boot:
sudo chromeos-setdevpasswd
sudo crossystem dev_boot_signed_only=1
Supported Systems
| Architecture | Supported? |
|---|---|
| x86_64 | Yes |
| i686 | Yes* |
| armv7l | Yes |
| aarch64 | Yes |
* We can only provide limited support for i686 since Google has discontinued support. Although we can no longer support GUI apps, we will try to continue to support CLI programs.
Installation
The beta, dev, and Canary channels are not supported and should not be used with Chromebrew. Failure to take notice of this will cause major issues with your Chromebrew installation. See issue #2890 and the FAQ for more details.
Open the terminal with Ctrl+Alt+T and type shell.
If this command returns ERROR: unknown command: shell, please have a second look at the prerequisites and make sure your Chromebook is in developer mode.
Then download and run the installation script below:
curl -Ls git.io/vddgY | bash
On a rooted Google OnHub, the command needs to be run with the "chronos" user. In order to make su work, a password is needed for the chronos user.
# passwd chronos
Changing password for chronos.
Enter new UNIX password:
Retype new UNIX password:
# su - chronos
Password:
$ curl -Ls git.io/vddgY | bash
Help
Please check out the wiki to find out more information about Chromebrew including helpful tips, resource links and frequently asked questions. Also please check existing issues before submitting a new one.
Usage
crew <command> [-k|--keep] <package1> [<package2> ...]
Where available commands are:
| Command | Description |
|---|---|
| build | build package(s) from source and store the archive and checksum in the current working directory |
| const | display constant(s) |
| deps | display dependencies of package(s) |
| download | download package(s) to CREW_BREW_DIR (/usr/local/tmp/crew by default), but don't install |
| files | display installed files of package(s) |
| help | get information about command usage |
| install | install package(s) along with dependencies after prompting for confirmation |
| list | available, installed, compatible or incompatible packages |
| postinstall | display postinstall messages of package(s) |
| reinstall | remove and install package(s) |
| remove | remove package(s) |
| search | look for package(s) |
| sysinfo | show system infomation in Markdown style |
| update | update crew itself |
| upgrade | update all or specific package(s) |
| whatprovides | regex search for package(s) that contains file(s) |
Available packages are listed in the packages directory.
Chromebrew will wipe its BREW_DIR (/usr/local/tmp/crew by default) after installation unless you pass -k or --keep when running crew install.
crew install --keep <package1> [<package2> ...]
Recently Upgraded Packages
| Name | Description | Date Upgraded | Version |
|---|---|---|---|
| gdb | The GNU Debugger | 2021-09-25 | 11.1 |
| llvm | The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. | 2021-09-24 | 12.0.1 |
| binutils | The GNU Binutils are a collection of binary tools. | 2021-09-24 | 2.37-1 |
| inetutils | The Inetutils package contains programs for basic networking. | 2021-09-24 | 2.2 |
| elfutils | elfutils is a collection of utilities and libraries to read, create and modify ELF binary files | 2021-09-24 | 0.185 |
| neon | neon is an HTTP and WebDAV client library, with a C interface. | 2021-09-24 | 0.32.1 |
| pango | Pango is a library for laying out and rendering of text, with an emphasis on internationalization. | 2021-09-24 | 1.49.1 |
| libadwaita | Library of GNOME-specific UI patterns, replacing libhandy for GTK4 | 2021-09-24 | 1.0.0-alpha.2 |
| gtksourceview_5 | Source code editing widget | 2021-09-24 | 5.2.0 |
| gspell | A flexible API to implement the spell checking in a GTK+ application | 2021-09-24 | 1.9.1-2 |
Latest Packages
| Name | Description | Date Added |
|---|---|---|
| gnu_time | Utility for monitoring a programs use of system resources | 2021-09-24 |
| gnome_text_editor | GNOME Text Editor (2021) | 2021-09-24 |
| vuze | Vuze (formerly Azureus) is an extremely powerful and configurable BitTorrent client. | 2021-09-21 |
| smallbasic | SmallBASIC is a fast and easy to learn BASIC language interpreter | 2021-09-19 |
| logisim | An educational tool for designing and simulating digital logic circuits | 2021-09-16 |
| cros_adapta | Gtk+ compatible themes for styling UI elements from Crostini to match Chrome OS defaults. | 2021-09-10 |
| chafa | Image-to-text converter supporting a wide range of symbols and palettes, transparency, animations, etc. | 2021-09-04 |
| qtlocation | Qt Location and Positioning | 2021-08-30 |
| qtmultimedia | Qt Multimedia | 2021-08-30 |
| qtscript | Qt Script Tools | 2021-08-30 |
License
Copyright 2013-2022 Michal Siwek and all the awesome contributors.
This project including all of its source files is released under the terms of GNU General Public License (version 3 or later).
This project embeds docopt.rb at lib/docopt.rb. We retain its MIT license.
