├── .gitignore ├── LICENSE.txt ├── README.md ├── build.bat ├── build.sh ├── cobbler ├── codebuilds.gpg ├── docs ├── .gitignore ├── CNAME ├── Gemfile ├── _config.yml ├── _includes │ ├── head.html │ ├── page-footer.html │ └── page-header.html ├── _layouts │ ├── bare.html │ ├── default.html │ ├── page.html │ └── post.html ├── css │ ├── cayman.scss │ ├── font-awesome.min.css │ └── normalize.css ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── images │ ├── code.png │ ├── debian-logo.png │ ├── gpg-logo.png │ ├── nav-bg.gif │ └── rpm-logo.png ├── index.html ├── installers │ ├── android.sh │ ├── apt.sh │ ├── chromebook.sh │ └── yum.sh ├── jekyll-cayman-theme.gemspec └── scss │ └── .scss-lint.yml ├── intercept.py ├── merger_rsa.enc ├── overlays ├── build │ ├── gulpfile.vscode.js │ └── npm │ │ └── postinstall.js ├── product.json └── resources │ └── linux │ ├── debian │ └── postinst.template │ └── rpm │ └── dependencies.json ├── pipelines ├── build-all.yml ├── build-for-arch.yml └── dock.sh ├── setup_nvm.sh └── tmpdir.js /.gitignore: -------------------------------------------------------------------------------- 1 | .cache 2 | kitchen/.builds 3 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2015 - present Microsoft Corporation 4 | 5 | All rights reserved. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # codebuilds should now be considered obsolete 2 | 3 | Unfortunately due to a few reasons (some good! Official support! :-)), I am no longer able to actively maintain this repository. 4 | 5 | 1). Life events have left me with very little time to maintain these builds. 6 | 7 | 2). As Microsoft now produces native ARM builds of Visual Studio Code, they should be a much better idea for most users for an installation that is fully vendor supported. A popular Libre option is VSCodium, which has support for many more configurations than this repository supports. 8 | 9 | 3). The support window has also now closed for the series of 32-bit ARM Chromebooks that were supported by these builds and fell through the cracks of native Linux App support on Chrome OS. While these are still feasible devices, they should likely not be used with Chrome OS as their operating system due to the end of vendor support updates. If installing Linux on these devices, the official Microsoft builds would still be a better option than the builds here, for the reasons mentioned above. 10 | 11 | As a result please DO NOT create new installations based on these scripts, and consider switching to one of the above (better) options for a better supported upgrade path. 12 | -------------------------------------------------------------------------------- /build.bat: -------------------------------------------------------------------------------- 1 | docker pull headmelted/archie 2 | docker run -it --security-opt apparmor:unconfined --cap-add SYS_ADMIN -v %cd%/archie:/archie headmelted/archie /bin/bash -c "cd /kitchen && export ARCHIE_GIT_ENDPOINT=""https://github.com/Microsoft/vscode.git\""; steps/cook.sh armhf get patch build package"; 3 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e; 3 | 4 | echo "Installing NVM and NodeJS"; 5 | . ./setup_nvm.sh; 6 | 7 | echo "Retrieving latest Visual Studio Code sources into [code]"; 8 | git clone "https://github.com/Microsoft/vscode.git" code; 9 | 10 | echo "Setting current owner as owner of code folder"; 11 | chown ${USER:=$(/usr/bin/id -run)}:$USER -R code; 12 | 13 | echo "Synchronizing overlays folder"; 14 | rsync -avh ./overlays/ ./code/; 15 | 16 | echo "Entering code directory"; 17 | cd code; 18 | 19 | extra_links="-I$compiler_root_directory/usr/include/libsecret-1 -I$compiler_root_directory/usr/include/glib-2.0 -I$compiler_root_directory/usr/lib/${ARCHIE_HEADERS_GNU_TRIPLET}/glib-2.0/include"; 20 | export CC="$CC $extra_links" 21 | export CXX="$CXX $extra_links" 22 | 23 | CHILD_CONCURRENCY=1 yarn; 24 | 25 | if [[ "$ARCHIE_ELECTRON_ARCH" == *"arm"* ]]; then 26 | sed -i -z 's/,\n[^\n]*arm[^\n]*//' node_modules/vscode-sqlite3/binding.gyp 27 | sed -i "s/Release\/sqlite'/Release\/sqlite.node'/" node_modules/vscode-sqlite3/lib/sqlite3.js 28 | yarn add -D electron-rebuild 29 | npx electron-rebuild -f -w vscode-sqlite3 30 | fi 31 | 32 | #echo "Running hygiene"; 33 | #npm run gulp -- hygiene; 34 | 35 | #echo "Running monaco-compile-check"; 36 | #npm run monaco-compile-check; 37 | 38 | #echo "Executing strict-null-check"; 39 | #npm run strict-null-check; 40 | 41 | #echo "Installing built-in extensions"; 42 | #node build/lib/builtInExtensions.js; 43 | 44 | echo "Executing compile"; 45 | yarn --verbose compile; 46 | 47 | echo "Executing download-builtin-extensions"; 48 | yarn --verbose download-builtin-extensions; 49 | 50 | echo "Compiling VS Code for $ARCHIE_ELECTRON_ARCH"; 51 | yarn run gulp -- vscode-linux-$ARCHIE_ELECTRON_ARCH --unsafe-perm; 52 | 53 | echo "Starting vscode-linux-$ARCHIE_ELECTRON_ARCH-build-deb"; 54 | yarn run gulp vscode-linux-$ARCHIE_ELECTRON_ARCH-build-deb; 55 | 56 | # 09/12/2019 rpm currently not working, will fix asap 57 | #echo "Starting vscode-linux-$ARCHIE_ELECTRON_ARCH-build-rpm"; 58 | #yarn run gulp vscode-linux-$ARCHIE_ELECTRON_ARCH-build-rpm; 59 | 60 | echo "Leaving code directory"; 61 | cd ..; 62 | 63 | echo "Creating output directory"; 64 | mkdir output; 65 | 66 | echo "Moving deb packages for release"; 67 | mv ./code/.build/linux/deb/$ARCHIE_ARCH/deb/*.deb /root/output; 68 | 69 | #echo "Moving rpm packages for release"; 70 | #mv ./code/.build/linux/rpm/$ARCHIE_RPM_ARCH/rpmbuild/RPMS/$ARCHIE_RPM_ARCH/*.rpm /root/output; 71 | 72 | echo "Extracting deb archive"; 73 | dpkg -x /root/output/*.deb output/extracted; 74 | 75 | cd output/extracted; 76 | 77 | echo "Binary components of output --------------------------------------------------" 78 | find . -type f -exec file {} ";" | grep ELF 79 | echo "------------------------------------------------------------------------------" 80 | -------------------------------------------------------------------------------- /cobbler: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/headmelted/codebuilds/210327f25e3d1fa240be0599120fb1a7c3fd04cb/cobbler -------------------------------------------------------------------------------- /codebuilds.gpg: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | Version: GnuPG v1.4.11 (GNU/Linux) 3 | 4 | mQINBFftcr8BEAChmo+bdE6JdSznjgqvpJ7ZytAmNZQ4z852Qo7auZ3NSjWvp+V8 5 | HV7BE+BF2MgKsa/jVq7oxDZEeTOXES57EnfvHd+zg9pV294saRCXTheZq6EUxfUC 6 | HM9OSe2J2SnXfNH423uhiD+UzCQw5I67bVc95lbDeGJN608YnCkxDYJb2fQyjiVK 7 | A0SiUs9ud+MLyj5/T4+KfrokUx0Hg2jJBvg9XOuvt1FU+tnZkEkn1YfDZbhTCnGQ 8 | qy/bQGgfZcgbRqKzgMyKR/u4Siuh7rDjqsmAwEyjva2RxPZVh2CXNI99TZnjCzrE 9 | gmhtz2IkKDY7JdMp5FCwjWNQIIdZCc2Bdg8t2b9NjaK91KgN669LTU7H8NiZP70j 10 | PgHvmkTJCTvi5IlOSuKmBGh8eZHrQ5Nxum7L3MAhww5KSmML42akPdtz/C6jnxEz 11 | Na1xcwjXFL/0DlhudQ2dhNUY7QLerXX1s4tc9cTjavGvXP2DdnCOd8z7cfa3qngE 12 | j1Sr71ht3M5vLxXUMKmLqpwtlO1K62StePbIetoBvmqgvLoDEllRChMHEjKmqZFW 13 | LvJgQn8B4pegeIxOzfqmTM2KKuhUITK98QPeOqgcHeFoc2v1HZhfYDBWLmDgs/68 14 | GlC+DxzukBVrxen8+khRekFfrcb/tHIBlhMPMDFGtYDugKUPgSeoGzV5eQARAQAB 15 | tHBodHRwczovL3BhY2thZ2VjbG91ZC5pby9oZWFkbWVsdGVkL2NvZGUtb3NzICho 16 | dHRwczovL3BhY2thZ2VjbG91ZC5pby9kb2NzI2dwZ19zaWduaW5nKSA8c3VwcG9y 17 | dEBwYWNrYWdlY2xvdWQuaW8+iQI4BBMBAgAiBQJX7XK/AhsvBgsJCAcDAgYVCAIJ 18 | CgsEFgIDAQIeAQIXgAAKCRCNmUCuWbRpecUZD/4uLbfne1LJtqOht2+97ZuoxoRV 19 | n4BBsDAfg1N5O0WMxdBEcPSk/Ig0alm2TPmkqKW5zADtQiK68gp/OG1unjGBtMFo 20 | nhDfPZWmiQ9fhgSNmWUyPwWHLuJMQMXOYPrmqXAJvgNOxSWSohbZQKE8dnbMLlhp 21 | +itrvdAfmRSuG36Gb1h1wUYaCrF9DFtenoJeo7k6MiUOIYEF9Bg1Fx8s9pF58oZV 22 | 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 63 | =9hjA 64 | -----END PGP PUBLIC KEY BLOCK----- 65 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .bundle 3 | .sass-cache 4 | Gemfile.lock 5 | .DS_Store -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | code.headmelted.com -------------------------------------------------------------------------------- /docs/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'jekyll' 4 | #gem 'jekyll-paginate' 5 | gem 'kramdown' 6 | -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | # Setup 2 | title: Visual Studio Code for Chromebooks and Raspberry Pi 3 | tagline: Builds of Visual Studio Code for Chromebooks and Raspberry Pi 4 | baseurl: "" 5 | #paginate: 1 6 | 7 | # About/contact 8 | author: 9 | name: Jay Rodgers (@headmelted) 10 | url: https://twitter.com/headmelted 11 | 12 | # Gems 13 | gems: 14 | - jekyll 15 | 16 | #Others 17 | markdown: kramdown 18 | 19 | collections: 20 | - packages -------------------------------------------------------------------------------- /docs/_includes/head.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |The primary focus of this site is to provide builds of the open-source edition of VS Code for less common platforms (those that might not otherwise receive them). You can find details below of the architectures, operating systems and packaging formats these builds support.
15 |If your Chromebook supports the Linux Apps feature, the best way to install the application is to download the corresponding deb package for your architecture from the Releases page.
43 | 44 |The instructions below require you to put your device into Developer Mode. There are important security implications to doing this, so please consider the ramifications carefully before deciding to do so. Please click here for more details.
46 |. <( wget -O - https://code.headmelted.com/installers/chromebook.sh )53 | 54 |
Packages are currently available in DEB and RPM format.
63 | 64 |You can use the scripts here to install the packages and add their repository to your system.
65 | 66 |Open a new terminal. If you need super-user rights (you probably do), then you can enter sudo -s and press return 67 | to enter a super-user session. Run the installer for your current distribution:
68 | 69 |. <( wget -O - https://code.headmelted.com/installers/apt.sh )73 | 74 |
. <( wget -O - https://code.headmelted.com/installers/yum.sh )78 | 79 |
Press the return key. Once the installer has completed, you should have a "Code - OSS" entry in your desktop program list.
80 | 81 |If for any reason the script above will not work on your system, or you do not want to add the package source 84 | for updates, you can get the latest version of the package for your system below.
85 | 86 |For either APT or YUM installation, you'll want the public GPG key to verify the package, which you can download here.
89 | 90 |The latest packages are now available directly from the PackageCloud releases page.
93 | 94 |Your use of the software releases discussed here is subject to the terms of the CODEBUILDS license and to the Microsoft vscode license.
175 |182 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 183 |
184 |