Commit Graph

161 Commits

Author SHA1 Message Date
Konstantin Đorđević 0c1256e60a Read user input properly in linux_install.sh for Gentoo (#4395)
* Change spaces to tabs on two lines

The rest of the file uses tabs

* Read user input in a non-terrible, non-hacky way

* Remove unnecessary tee call

* read -p is not POSIX

* Add missing $ to echo GENTOO_WARNING

* Replace non-POSIX echo -n with printf

* Use cd ... || exit 1 in case git clone fails

* Add missing sudo

Thanks @snortwolf

* Undo replacing tee with >>
2018-12-26 08:01:26 -08:00
Yan-Fa Li ee1be3e5b5 Improve diagnostics for build hashes 2018-12-25 17:09:48 -08:00
Peter K. Cawley 3bef186ea6 adjust install_avr function to use unzip for broader compatibility (#4596)
On a laptop with god knows what mandatory security software (Cylance?), running up-to-date Windows 10 with msys2 mingw-64, attempting to install the AVR toolkit results in the following error:

```
1 [main] 7z (13316) C:\msys32\usr\lib\p7zip\7z.exe: *** fatal error - cygheap base mismatch detected - 0x612A5410/0x2375410.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
```

This appears to be related in some way, based on my research, to ASLR functionality in security software. Since I'm unable to override whatever is enforcing ASLR on my system, after trying several other approaches (removing other copies of msys-2.0.dll, which is what this is apparently actually referencing, rebasing that file in Windows to address 0x61000000, a few other things) I simply edited the installation shell script to use `unzip` instead of 7zip; `unzip`'s binary does not provoke a mismatch error and the installation proceeds as it should.

I'm not aware of the reason why some parts of the install script use `unzip` (e.g. `install_arm`) and others use 7zip, but it seems that for broader compatibility and sparing users on locked down machines the 120 minutes or so of futzing this took me to fix, it might be better to just use `unzip` in all cases.

Note: There is another function that uses 7zip, `extract_flip`. The line is `7z -oflip x FlipInstaller.exe`. I'm not sure what this is doing, or whether it's possible to do it with `unzip`, but it produces the same error. I haven't attempted to fix that in this PR, but it might be good to fix it for the same reason.
2018-12-10 16:15:15 -08:00
Konstantin Đorđević 13ad650136 Add a better Docker build script + update Dockerfile (#4222)
* Add a Docker build script

* Add usage and error messages

* Add -r to reads

Thanks mechmerlin

* Add keyboard:keymap form, improve script

* Add target argument, change usage forms in script

* Add check for more than 3 args in keyboard:keymap:target form

* Change Docker base image to debian, use community repo

This matches what qmk_compiler uses (https://github.com/qmk/qmk_compiler/blob/master/Dockerfile#L1).

I've removed the maintainer as we now have a community build on Docker Hub (https://hub.docker.com/r/qmkfm/qmk_firmware). This Dockerfile will also be maintained by the community.

* Change build command format to keyboard:keymap

* Call make directly in container run command

* Simplify script, remove 3-arg form

* Add COPY to Dockerfile so images are usable in and of themselves

Also change WORKDIR from /qmk to /qmk_firmware

* Add USB pass-through for Linux and docker-machine hosts

* Read directly into variables instead of array

* Alphabetically sort dependencies in Dockerfile

* Set executable bit on util/docker_build.sh

* Update Docker docs

* Add warning about Docker on Windows

* Expand comment in docs

* Check docker-machine exit code instead of string

* Only match --help with whole arguments

* Make script POSIX-compliant

* Convert script indentation to tabs
2018-12-08 09:42:46 -08:00
Drashna Jaelre 82c02d9b8d Update MSYS to use the 5.4.0 toolchain (#4106) 2018-11-27 13:45:01 -08:00
André Silva f0db40ff11 fix diffutils arch package name (#4470) 2018-11-24 08:48:42 -08:00
QMK Bot 599b21b9f4 convert to unix line-endings [skip ci] 2018-11-12 20:51:24 +00:00
Junya Ogura 2b3473455c Change hex file permission to 644 from 755 2018-11-12 12:30:51 -08:00
Michael Kaylan b1e74aee43 Make sure that avr-gcc@7 gets linked into the path on MacOS. 2018-11-12 12:16:43 -08:00
Daniel Shields 2509039abf Add missing arm gcc compiler for openSUSE 15.0 and Tumbleweed. 2018-11-12 12:16:10 -08:00
Paco b49fd46eaa Add support for slackware distribution (linux_install.sh) (#4369)
* Add support for slackware distribution (linux_install.sh)

The required packages are not provided by the official repository. The packages
need to be installed from slackbuilds.org either manually or with the help of
third party tools like sbotools.

* Modify linux_install.sh according to code review

Modifies the Slackware section of the linux_install.sh script based on the
suggestions from the code review.

* Modify utils/linux_install.sh according to suggestions
2018-11-12 11:58:07 -08:00
Yan-Fa Li 6274980e61 Improve new_project script (#4373)
* Improve new_project script

 - use git user.name if available to replace the boilerplate name in
   files we generate
 - fix shellshock warnings

* Test for git repo

Suggestion by @skullydazed

* Fix shellshock warning

* Incorporate feedback from reviewers

 - thanks @vomindoraan
 - use a heredoc instead of echo for console
 - factor out common paths
2018-11-11 19:54:10 -08:00
BK bdc72740cb Add distro support for sabayon (#4320)
* Add distro support for sabayon

Sabayon is a gentoo based distro with a different package manager. Does
not need any use flags or masking for the required packages.

* Add missing backslash

* Put echo string in quotes, remove extra newline

* Order gentoo/sabayon packages alphabetically.
2018-11-03 10:38:37 -07:00
Fredric Silberberg 5779ffb59a Set the executable bit for sh scripts under util. 2018-11-02 13:42:05 -04:00
Daniel Shields 1fa6c1d818 Make linux_install.sh work with openSUSE Leap 15.0 (#4218) 2018-10-29 13:48:24 -07:00
R4WBIT cd87a8a323 fixed broken linebreak in fedora part, and indentation in arch-part 2018-10-29 07:17:22 -07:00
MechMerlin bef554d18b Bug: Users had to be in the /util directory to run the script (#4228) 2018-10-24 08:57:08 -07:00
Colin T.A. Gray 418a886ae4 adds 'dfu-util' to macos_install.sh 2018-10-22 13:32:47 -07:00
skullY 11c4c71131 Fixup the WSL install 2018-10-22 13:24:43 -07:00
skullY 79d495f51d Add opensuse packages provided by @isolatedvirus 2018-10-22 13:24:43 -07:00
skullY ca56c2145f Fold install_dependencies.sh into linux_install.sh and freebsd_install.sh 2018-10-22 13:24:43 -07:00
Chris Johnston 2d671a7e1a Enable support for Linux Mint 18 with linux_install.sh (#4042)
Enable support for ubuntu-derived linux-es in installer

Checks /etc/os-release for mention of ubuntu and debian.

Linux Mint uses ID_LIKE=ubuntu, not ID_LIKE=debian (as seen in
Ubuntu 16.04, unsure about others)
2018-10-02 22:16:49 -07:00
Jack Henahan 2b23072c34 Pin avr-gcc in shell.nix pending release of 8.3.0 (#3922)
* Pin avr-gcc in shell.nix pending release of 8.3.0

There's apparently a critical bug in 8.2.0, which is now the nixpkgs default. This change overrides that default in favor of the known good version. Once 8.3.0 is the default, the override can be dropped.

* Arch/Manjaro fix
2018-09-25 15:16:35 -07:00
MechMerlin 170de1273c Add an easy way to create new keymaps for your favorite keyboard (#3868)
* initial commit of keymap creation script

* create default keymap

* pass shellcheck

* provide a better usage message

* change printf string to more accurately reflect the path

* make it more easily understood

* found another typo

* add documentation regarding the new_keymap script

* enforce lowercase for userinputs
2018-09-13 11:22:05 -07:00
Miguel Garcia Rodriguez e9a67f8fde Fix installation for linux finding ID:fedora in os_release 2018-09-10 20:52:34 -07:00
Thomas Vandaele 265eca0f7c Add manjaro asn arch-based distro 2018-09-10 17:55:46 -07:00
Drashna Jaelre c909c4ea50 Fix Typos in echo 2018-08-11 13:18:36 -07:00
Drashna Jaelre bd4ba8d180 Add WSL support to script 2018-08-11 13:18:36 -07:00
Drashna Jaelre bcdd7735c8 Add error message if config not detected 2018-08-11 13:18:36 -07:00
Drashna Jaelre 99cb107b71 Add 32 bit MINGW support .... 2018-08-11 13:18:36 -07:00
Drashna Jaelre 9c8f8bd3bc Fix minor typo in qmk_install.sh for MSYS/MINGW64 detection 2018-08-11 13:18:36 -07:00
Jack Humbert ac46378ac6
Update ISP flashing guide with pre-compiled binary (#3217)
* update flashing guide with pre-compiled binary

* Add files via upload

* Update isp_flashing_guide.md

* update file and instructions

* update instructions
2018-08-02 23:07:33 -04:00
Taylor Gonzalez bb4af7deee Fix qmk_install.sh to properly target MSYS (#3455)
* qmk_install fix for windows users.

* Updated wildcard to caputre both MSYS and MINGW64 in qmk_install

* added OR to windows qmk_install
2018-08-02 14:43:51 -07:00
zjpxshade 7f0a205232 Added gentoo to installer (#3272)
* Added gentoo installer

* Remove comments

* Remove comments

* Updating the layout

* Revert "Remove comments"

This reverts commit e348afa41a470d4b8f1865d92b85acd32ab14074.

* Revert "Updating the layout"

This reverts commit 181822d195f722f4981825ded7dd85fa268c3c56.

* Undo erroneous revert
2018-07-15 14:14:47 -04:00
Evan Travers 0d5a8b048a Instruct macos users to use avr-gcc@7 (#3337)
If you run `brew install avr-gcc`, you get a version that has
compatibility issues with LUFA. I updated the getting started guide for
osx, the qmk_install setup script, and added a section to the FAQ for
folks like me who accidentally updated avr-gcc past 7.
2018-07-07 17:37:37 -07:00
MechMerlin 5346cb2d20 Support both AVR and ps2avrGB targets for new_project script (#2811)
* Stopping point at creating targets for new_project script

* Add second argument for target

* Add the ps2avrgb target

* consider the case where the firmware type target is not valid

* fix template files to be more generic

* Code cleanup

* Change variable name to be more descriptive

* make avr the default

* forgot to put the template files in

* Take out useless comments

* add usage info
2018-05-10 00:36:40 -04:00
Mikkel Jeppesen 00596d55e3 Added propper support for Lets split vitamins (#2559)
* Added support for the upcomming Lets_split vitamins included

* Updated readme

* Corrected header of readme

* Enabled RGB

* Broke everything

* broke some more shit

* Revert "broke some more shit"

This reverts commit 6ad68e6269cc0d04c16564ce9598dfd3db1e23c1.

* Revert "Broke everything"

This reverts commit feeee4e40db15a726f2292b6a9406ef45c1e54a7.

* Fixed USB detection, and RGB on slave

* started modifying readme, to use msys2

* Added support for the upcomming Lets_split vitamins included

* Updated readme

* Corrected header of readme

* Enabled RGB

* Broke everything

* broke some more shit

* Revert "broke some more shit"

This reverts commit 6ad68e6269cc0d04c16564ce9598dfd3db1e23c1.

* Revert "Broke everything"

This reverts commit feeee4e40db15a726f2292b6a9406ef45c1e54a7.

* Fixed USB detection, and RGB on slave

* started modifying readme, to use msys2

* Updated readme to reflect use of msys2 Added avrdude to msys path

* added avrdude option to msys installer

* Removed extra installation of avrdude

* Renamed to vitamins_included and implemented drashnas changes

* Fixed include guard

* Fixed some includes, and added avrdude target to docs.

* Fixed default keyboard
2018-05-09 09:14:30 -07:00
Florens Pauwels ddb1c83695 Added archlinux support to linux_install.sh 2018-05-02 11:44:22 -04:00
Kenneth Aloysius d3c6da7aff Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704)
* Add M6-A keymap

* Update XD60 keymap

* Update XD60 keymap readme

* Update JJ40 and Let's Split keymaps

* Add readme for M6-A

* Fix typo, update JJ40 README

* Update jj40 readme

* Cleanup jj40 keymap

* Revert Let's Split QWERTY layer to default before #2010

* Update numpad layers

* Fix: Let's Split keymap getting stuck mods due to having keycodes assigned on the Raise layer

* Keep ASCII art consistent with keymap
2018-04-19 09:28:55 -07:00
U-LANDSRAAD\drashna c31f7ff91b Hopefully fix Travis Auto-Incrementation
This reverts the changes in #2491, so that Travis will hopefully return to automatic incrementing.
But this includes the layout and userspace excepts, as well.
2018-03-29 18:18:50 -04:00
Jack Humbert ae7284edb8 rename api docs to internals 2018-03-26 11:43:37 -07:00
skullY c4f9b8f297 make new_project.sh work correctly on osx too 2018-03-25 13:20:30 -04:00
U-LANDSRAAD\drashna e72cad44fa Add Layouts to exclusion 2018-03-25 13:19:14 -04:00
U-LANDSRAAD\drashna f67950df27 Ignore users folder for Travis tagging 2018-03-25 13:19:14 -04:00
skullY 70cf46d4f1 fix the moxygen invocation 2018-03-23 22:42:08 -07:00
skullydazed 7c9d5ace14 Generate API docs from source code comments (#2491)
* Generate api docs from source code

* Add a bunch of doxygen comments

* more doxygen comments

* Add the in-progress api docs

* script to generate docs from travis

* Add doc generation to the travis job

* make travis_docs.sh commit the work it does

* make sure the docs script exits cleanly
2018-03-22 02:50:38 -04:00
Shayne Holmes b6db61b922 Fix logic in macos install
Also fix mixed spaces/tabs
2018-03-16 20:08:21 -07:00
Jon Nall 0b82d08e8d Fixed exit status check for brew 2018-03-09 20:10:44 -08:00
skullydazed 08e48eb6f5
Add a newbie guide for people completely new to QMK (#2480) 2018-03-06 14:37:48 -08:00
Danny 524053e3c0 Remap msys2 usb, fix USB port detection (#2301)
* Add AVRDUDE to MSYS2 setup

* Remap detected USB port in MSYS2 to COM port
2018-02-28 16:40:43 -05:00