aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rwxr-xr-x[-rw-r--r--]util/activate_msys2.sh0
-rwxr-xr-x[-rw-r--r--]util/activate_wsl.sh0
-rw-r--r--[-rwxr-xr-x]util/bootloader_atmega32u4_1_0_0.hex506
-rwxr-xr-xutil/docker_build.sh49
-rwxr-xr-xutil/freebsd_install.sh18
-rwxr-xr-x[-rw-r--r--]util/generate_internal_docs.sh0
-rwxr-xr-xutil/install_dependencies.sh118
-rwxr-xr-xutil/linux_install.sh176
-rwxr-xr-xutil/macos_install.sh3
-rwxr-xr-x[-rw-r--r--]util/msys2_install.sh9
-rwxr-xr-xutil/new_keymap.sh40
-rwxr-xr-xutil/new_project.sh51
-rwxr-xr-xutil/qmk_install.sh17
-rwxr-xr-x[-rw-r--r--]util/travis_build.sh0
-rwxr-xr-x[-rw-r--r--]util/travis_compiled_push.sh7
-rwxr-xr-x[-rw-r--r--]util/travis_docs.sh0
-rwxr-xr-x[-rw-r--r--]util/travis_push.sh0
-rwxr-xr-x[-rw-r--r--]util/win_shared_install.sh3
-rwxr-xr-x[-rw-r--r--]util/wsl_install.sh7
19 files changed, 568 insertions, 436 deletions
diff --git a/util/activate_msys2.sh b/util/activate_msys2.sh
index 1ddffbaad..1ddffbaad 100644..100755
--- a/util/activate_msys2.sh
+++ b/util/activate_msys2.sh
diff --git a/util/activate_wsl.sh b/util/activate_wsl.sh
index e2312b56d..e2312b56d 100644..100755
--- a/util/activate_wsl.sh
+++ b/util/activate_wsl.sh
diff --git a/util/bootloader_atmega32u4_1_0_0.hex b/util/bootloader_atmega32u4_1_0_0.hex
index 275aeacba..20174989a 100755..100644
--- a/util/bootloader_atmega32u4_1_0_0.hex
+++ b/util/bootloader_atmega32u4_1_0_0.hex
@@ -1,253 +1,253 @@
1:020000020000FC 1:020000020000FC
2:047000000C948D3E21 2:047000000C948D3E21
3:047028000C94B73DD0 3:047028000C94B73DD0
4:10702F0012010002FF010020EB03F42F0000010208 4:10702F0012010002FF010020EB03F42F0000010208
5:10703F00030109021200010100803209040000005F 5:10703F00030109021200010100803209040000005F
6:10704F00000000000C03410054004D0045004C00AF 6:10704F00000000000C03410054004D0045004C00AF
7:10705F001603410054006D00330032005500340018 7:10705F001603410054006D00330032005500340018
8:10706F004400460055000C0331002E0030002E0066 8:10706F004400460055000C0331002E0030002E0066
9:10707F0030000403090416010C0100000C0000018C 9:10707F0030000403090416010C0100000C0000018C
10:02708F006C7F14 10:02708F006C7F14
11:1070920012BD01BDF89A00B5089501E00895F9996D 11:1070920012BD01BDF89A00B5089501E00895F9996D
12:1070A200FECF12BD01BD20BDFA9AF99AF6CFF99929 12:1070A200FECF12BD01BD20BDFA9AF99AF6CFF99929
13:1070B200FECF0C944938F80104910895F8013491F7 13:1070B200FECF0C944938F80104910895F8013491F7
14:1070C20031962491890108950091610000930C0189 14:1070C20031962491890108950091610000930C0189
15:1070D20000E80093610001E00093610005BF02E057 15:1070D20000E80093610001E00093610005BF02E057
16:1070E20005BF0C9486380091D70001600093D70049 16:1070E20005BF0C9486380091D70001600093D70049
17:1070F200A89507EF04BF0091600000610093600053 17:1070F200A89507EF04BF0091600000610093600053
18:1071020000E00093600001E008950E94AA3D0E9401 18:1071020000E00093600001E008950E94AA3D0E9401
19:10711200B53DFDCF0CD00F7708D0006806D00061D6 19:10711200B53DFDCF0CD00F7708D0006806D00061D6
20:1071220004D0016028D0789408950093D80000918B 20:1071220004D0016028D0789408950093D80000918B
21:10713200D8000895FCDF00621ED04CD009B500FFD4 21:10713200D8000895FCDF00621ED04CD009B500FFD4
22:10714200FDCFF5DF0F7D17D00091E0000E7F009399 22:10714200FDCFF5DF0F7D17D00091E0000E7F009399
23:10715200E0000091E000077F0093E0000091E20070 23:10715200E0000091E000077F0093E0000091E20070
24:1071620001600093E2000091E20008600093E200F7 24:1071620001600093E2000091E20008600093E200F7
25:1071720078940C94743B0093D800089500910D010B 25:1071720078940C94743B0093D800089500910D010B
26:10718200002359F40091D90000FF07C0D0DF006846 26:10718200002359F40091D90000FF07C0D0DF006846
27:10719200F2DF01E000930D01CDDFE0E2F2E00081D9 27:10719200F2DF01E000930D01CDDFE0E2F2E00081D9
28:1071A200018100FF0DC0008111811E7F11830083C8 28:1071A200018100FF0DC0008111811E7F11830083C8
29:1071B20001E00093EA0000E00093EA0000931E025F 29:1071B20001E00093EA0000E00093EA0000931E025F
30:1071C20000E00093E9000091E80003FF02C00E9482 30:1071C20000E00093E9000091E80003FF02C00E9482
31:1071D200F23B0895A89539D000E40093600000E0E6 31:1071D200F23B0895A89539D000E40093600000E0E6
32:1071E200009381000093800010E0009385000093DB 32:1071E200009381000093800010E0009385000093DB
33:1071F200840001E006BB00918100036000938100DE 33:1071F200840001E006BB00918100036000938100DE
34:107202000091600007FFFCCF00E80093600010933C 34:107202000091600007FFFCCF00E80093600010933C
35:107212008100A89507EF04BF18D010936000209159 35:107212008100A89507EF04BF18D010936000209159
36:1072220084003091850010938100109380001093A8 36:1072220084003091850010938100109380001093A8
37:1072320085001093840001E006BB2D3D354010F01F 37:1072320085001093840001E006BB2D3D354010F01F
38:1072420002E101C002E009BD089500916000006101 38:1072420002E101C002E009BD089500916000006101
39:107252000093600008950E94AD3E239741D100E063 39:107252000093600008950E94AD3E239741D100E063
40:1072620000930901B5D104811581012B51F437D165 40:1072620000930901B5D104811581012B51F437D165
41:1072720000910701002309F4B9C000E0009307015F 41:1072720000910701002309F4B9C000E0009307015F
42:10728200B5C058D102FFFDCF37D1068335D1009367 42:10728200B5C058D102FFFDCF37D1068335D1009367
43:107292000F0132D1009310012FD1009311012CD193 43:107292000F0132D1009310012FD1009311012CD193
44:1072A2000093120129D10093130102852091130149 44:1072A2000093120129D10093130102852091130149
45:1072B20030911201409111015091100116811A95DD 45:1072B20030911201409111015091100116811A95DD
46:1072C20041F01250A9F01A9599F11A9509F473C078 46:1072C20041F01250A9F01A9599F11A9509F473C078
47:1072D2008BC010910F01113011F411E001C010E0C8 47:1072D2008BC010910F01113011F411E001C010E0C8
48:1072E200138799D00C3F11F414D17FC077D17DC0A0 48:1072E200138799D00C3F11F414D17FC077D17DC0A0
49:1072F20092D010910F01112329F01A9549F01A9595 49:1072F20092D010910F01112329F01A9549F01A9595
50:10730200A9F073C010E013870C3F09F06EC0ECCFF8 50:10730200A9F073C010E013870C3F09F06EC0ECCFF8
51:1073120056D103C04CD109F468C00D911C9144D1DF 51:1073120056D103C04CD109F468C00D911C9144D1DF
52:107322000F3FC1F305E0009309015FC011E0EBCF0D 52:107322000F3FC1F305E0009309015FC011E0EBCF0D
53:10733200D2D029F00250E1F10A9541F056C0FDD0B9 53:10733200D2D029F00250E1F10A9541F056C0FDD0B9
54:107342000E94A33F0FEF00930A014FC0552319F08B 54:107342000E94A33F0FEF00930A014FC0552319F08B
55:107352005A9579F04AC04ED00DEF04BF74D0EAD0EE 55:107352005A9579F04AC04ED00DEF04BF74D0EAD0EE
56:1073620003FFFDCF67D051D04AD008E00093600000 56:1073620003FFFDCF67D051D04AD008E00093600000
57:10737200FFCF40D068D0DED003FFFDCF5BD03FD03F 57:10737200FFCF40D068D0DED003FFFDCF5BD03FD03F
58:1073820044D00FEF1FE004C009811A810150104060 58:1073820044D00FEF1FE004C009811A810150104060
59:1073920009831A8309811A81012BB1F700E800934E 59:1073920009831A8309811A81012BB1F700E800934E
60:1073A200610000910C01009361000C940000FFCF7A 60:1073A200610000910C01009361000C940000FFCF7A
61:1073B20001E003871AC08FD019F00A9539F015C081 61:1073B20001E003871AC08FD019F00A9539F015C081
62:1073C200535098F4BAD002E000870FC0505339F0FE 62:1073C200535098F4BAD002E000870FC0505339F0FE
63:1073D2005A9541F05F52B1F35A95A1F306C002E00B 63:1073D2005A9541F05F52B1F35A95A1F306C002E00B
64:1073E2000883F0CF01E0FCCFA8D079D02396E4E067 64:1073E2000883F0CF01E0FCCFA8D079D02396E4E067
65:1073F2000C94BA3E01E005BF00E005BF089500917C 65:1073F2000C94BA3E01E005BF00E005BF089500917C
66:10740200D8000F770093D800089509B50D7F09BD04 66:10740200D8000F770093D800089509B50D7F09BD04
67:1074120000E009BD08955183408333832283109194 67:1074120000E009BD08955183408333832283109194
68:10742200E8001B7F1093E8001091E8001F7710938B 68:10742200E8001B7F1093E8001091E8001F7710938B
69:10743200E80008955DD053D0F8940091E000016017 69:10743200E80008955DD053D0F8940091E000016017
70:107442000093E000089579D04AC0219749D0009175 70:107442000093E000089579D04AC0219749D0009175
71:107452000601035019F00250B9F00BC03CD021F0E4 71:107452000601035019F00250B9F00BC03CD021F0E4
72:107462000A9559F00A9529F400910A010C3F19F482 72:107462000A9559F00A9529F400910A010C3F19F482
73:1074720050D02196089567D0FCCF0091010100936E 73:1074720050D02196089567D0FCCF0091010100936E
74:10748200F100009100010AC01091100124D019F0FE 74:10748200F100009100010AC01091100124D019F0FE
75:107492000A9549F0EECF135018F400E00093F10082 75:107492000A9549F0EECF135018F400E00093F10082
76:1074A2001ED044D0E6CF105339F01A9539F01F524E 76:1074A2001ED044D0E6CF105339F01A9539F01F524E
77:1074B20041F01A9541F0F4CF08E5F0CF00E006D094 77:1074B20041F01A9541F0F4CF08E5F0CF00E006D094
78:1074C200EDCF02E0FCCF04E001D0E8CF10E020E0F5 78:1074C200EDCF02E0FCCF04E001D0E8CF10E020E0F5
79:1074D20030E00C94113F00910F010023089521C068 79:1074D20030E00C94113F00910F010023089521C068
80:1074E2000BD008D007D00093040106D00093050109 80:1074E2000BD008D007D00093040106D00093050109
81:1074F20021D00BC000D008830091F10008950091C3 81:1074F20021D00BC000D008830091F10008950091C3
82:10750200EB0000620093EB0015D0077F0093E800C8 82:10750200EB0000620093EB0015D0077F0093E800C8
83:107512000895F5DF02E00093080103E000930901FA 83:107512000895F5DF02E00093080103E000930901FA
84:10752200089559D007D000FFFDCF089503D002FF80 84:10752200089559D007D000FFFDCF089503D002FF80
85:10753200FDCF03C00091E8000895FCDF0B7FE6DF7A 85:10753200FDCF03C00091E8000895FCDF0B7FE6DF7A
86:10754200F9DF0F77E3CF0E94AC3E42D038D006C0BD 86:10754200F9DF0F77E3CF0E94AC3E42D038D006C0BD
87:107552002BD00093F1002BD059F43DD0082F092BEA 87:107552002BD00093F1002BD059F43DD0082F092BEA
88:10756200A9F0E8DF02FD12C0E5DF00FFFDCF4424F1 88:10756200A9F0E8DF02FD12C0E5DF00FFFDCF4424F1
89:10757200042D4394003289F300910B0100230D91F5 89:10757200042D4394003289F300910B0100230D91F5
90:107582001C9131F311970E945838E3CFD3DF00FFEB 90:107582001C9131F311970E945838E3CFD3DF00FFEB
91:10759200FDCF21D0CFDF00FFFDCFCCDF02FFFDCF3B 91:10759200FDCF21D0CFDF00FFFDCFCCDF02FFFDCF3B
92:1075A200CCDFE5E00C94B93E11970C945C380D9158 92:1075A200CCDFE5E00C94B93E11970C945C380D9158
93:1075B2001C910F5F1F4F1C930E93019708958281B8 93:1075B2001C910F5F1F4F1C930E93019708958281B8
94:1075C200938100811181801B910B0196DF01089547 94:1075C200938100811181801B910B0196DF01089547
95:1075D200E0E0F1E00895AEDF0E7F98CF0E94A93E71 95:1075D200E0E0F1E00895AEDF0E7F98CF0E94A93E71
96:1075E200F7DF80819181A081B181AF710481158122 96:1075E200F7DF80819181A081B181AF710481158122
97:1075F20000521040048315830AC000910B0100233E 97:1075F20000521040048315830AC000910B0100233E
98:1076020031F4A301920103E911E00E943B3F47D00C 98:1076020031F4A301920103E911E00E943B3F47D00C
99:10761200B8F1662477242C0111C06EDFF301ED5618 99:10761200B8F1662477242C0111C06EDFF301ED5618
100:10762200FE4F008301E0600E00E0701E01960091A3 100:10762200FE4F008301E0600E00E0701E01960091A3
101:10763200F200002311F033D0B8F47FDF30D0E8F24B 101:10763200F200002311F033D0B8F47FDF30D0E8F24B
102:10764200F301B096E238F040C0F674DF02FFFDCFDE 102:10764200F301B096E238F040C0F674DF02FFFDCFDE
103:107652000091F200BDDF24813581201B304024835C 103:107652000091F200BDDF24813581201B304024835C
104:107662003583E5CF49DFAA95AA23E1F700910B0103 104:107662003583E5CF49DFAA95AA23E1F700910B0103
105:10767200013099F62091F1008C010E945038D6CF4A 105:10767200013099F62091F1008C010E945038D6CF4A
106:1076820004811581012B21F055DF02FFFDCF55DF6B 106:1076820004811581012B21F055DF02FFFDCF55DF6B
107:10769200A2DF50DF00FFFDCFE8E00C94B63EE0E051 107:10769200A2DF50DF00FFFDCFE8E00C94B63EE0E051
108:1076A200F1E0028113810817190708952091EB0078 108:1076A200F1E0028113810817190708952091EB0078
109:1076B20021602093EB000093EC000091ED0002703A 109:1076B20021602093EB000093EC000091ED0002703A
110:1076C200012B0093ED000091ED0002600093ED00AC 110:1076C200012B0093ED000091ED0002600093ED00AC
111:1076D2001091EE00012F000F00E0001F0895412FCE 111:1076D2001091EE00012F000F00E0001F0895412FCE
112:1076E2000093E900089500E009D000FD05C000E024 112:1076E2000093E900089500E009D000FD05C000E024
113:1076F200F7DF10E202E0DACF00E00895F1DF009157 113:1076F200F7DF10E202E0DACF00E00895F1DF009157
114:10770200EB0008950F770132A9F5112369F11A955B 114:10770200EB0008950F770132A9F5112369F11A955B
115:1077120059F01A9561F01A9569F01A95F9F01A95CF 115:1077120059F01A9561F01A9569F01A95F9F01A95CF
116:10772200C1F01A95D9F024C00E942C3920C00E94C1 116:10772200C1F01A95D9F024C00E942C3920C00E94C1
117:10773200263A1DC029D00091090123D001E01FD0B3 117:10773200263A1DC029D00091090123D001E01FD0B3
118:1077420020D0009108011BD00E94923A0E94973AE1 118:1077420020D0009108011BD00E94923A0E94973AE1
119:107752000EC01AD00091080114D007C002E00093B5 119:107752000EC01AD00091080114D007C002E00093B5
120:10776200080100E0009309010FD00E94923A03C081 120:10776200080100E0009309010FD00E94923A03C081
121:107772000E94803A02C001E0089500E0089501D01D 121:107772000E94803A02C001E0089500E0089501D01D
122:1077820000E00093F10008950091E800077F009364 122:1077820000E00093F10008950091E800077F009364
123:10779200E800089508950350F9F4112339F01A9579 123:10779200E800089508950350F9F4112339F01A9579
124:1077A20051F01A9581F01A9599F016C004E016D09E 124:1077A20051F01A9581F01A9599F016C004E016D09E
125:1077B20001E810E703C011D003E510E7E7E1F2E0CA 125:1077B20001E810E703C011D003E510E7E7E1F2E0CA
126:1077C20000831183D8CF06E109D00FE510E7F6CF89 126:1077C20000831183D8CF06E109D00FE510E7F6CF89
127:1077D20004D005E710E7F2CFD0CF0CE000931A02F5 127:1077D20004D005E710E7F2CFD0CF0CE000931A02F5
128:1077E200089527D120D100931D02E1D0212F11232A 128:1077E200089527D120D100931D02E1D0212F11232A
129:1077F20029F12A95E9F02250F1F0225099F02A95C8 129:1077F20029F12A95E9F02250F1F0225099F02A95C8
130:1078020049F0225061F02A9581F02A95E1F02A95FB 130:1078020049F0225061F02A9581F02A95E1F02A95FB
131:10781200E9F023C0003809F44FC00C94833B0038D0 131:10781200E9F023C0003809F44FC00C94833B0038D0
132:10782200E1F7C8C00023C9F71EC00023B1F72DC07D 132:10782200E1F7C8C00023C9F71EC00023B1F72DC07D
133:10783200033098F744C1033080F70BC1003868F376 133:10783200033098F744C1033080F70BC1003868F376
134:10784200033858F7C9C0013841F77BC1013051F400 134:10784200033858F7C9C0013841F77BC1013051F400
135:10785200FCD0BFD000FD06C0FCCF0E94833B0023BA 135:10785200FCD0BFD000FD06C0FCCF0E94833B0023BA
136:1078620009F41ED008951091E3001078DCD00F7750 136:1078620009F41ED008951091E3001078DCD00F7750
137:10787200012B0093E300E9D0ACD000FFFDCF0091D3 137:10787200012B0093E300E9D0ACD000FFFDCF0091D3
138:10788200E30000680093E300089591D0123040F4C1 138:10788200E30000680093E300089591D0123040F4C1
139:107892000FD010931E02DAD000911E020C94CB3B43 139:107892000FD010931E02DAD000911E020C94CB3B43
140:1078A2000091EB0001D004C000620093EB00089548 140:1078A2000091EB0001D004C000620093EB00089548
141:1078B2000091E800077FC0C0BA93AA93229700E024 141:1078B2000091E800077FC0C0BA93AA93229700E024
142:1078C2000093190274D0AFD0202F2A9519F02A956F 142:1078C2000093190274D0AFD0202F2A9519F02A956F
143:1078D200E9F022C002E100931A020FE210E7E7E1A9 143:1078D200E9F022C002E100931A020FE210E7E7E1A9
144:1078E200F2E0008311839DD008839DD00983E0DFFD 144:1078E200F2E0008311839DD008839DD00983E0DFFD
145:1078F20000911A0210E02881398102171307A8F4B7 145:1078F20000911A0210E02881398102171307A8F4B7
146:107902000F7181F401E00093190211C002E10093AA 146:107902000F7181F401E00093190211C002E10093AA
147:107912001A0201E410E7E3CF0E94CC3B002319F7DF 147:107912001A0201E410E7E3CF0E94CC3B002319F7DF
148:107922008ED040C01093190202C020931A027ED05A 148:107922008ED040C01093190202C020931A027ED05A
149:10793200A7E1B2E001C08AD000911A02002309F146 149:10793200A7E1B2E001C08AD000911A02002309F146
150:1079420048D004FD1EC045D000FD03C042D004FF54 150:1079420048D004FD1EC045D000FD03C042D004FF54
151:10795200FACF10E0012F1395003281F0ED91FC91E6 151:10795200FACF10E0012F1395003281F0ED91FC91E6
152:107962001197049133D02D913C912F5F3F4F3C935F 152:107962001197049133D02D913C912F5F3F4F3C935F
153:107972002E93FD0103810A95038361F72AD004FF48 153:107972002E93FD0103810A95038361F72AD004FF48
154:10798200DACF00911902013039F423D004FD04C08A 154:10798200DACF00911902013039F423D004FD04C08A
155:1079920020D000FFFDCF5AD01CD004FFFDCF46D02F 155:1079920020D000FFFDCF5AD01CD004FFFDCF46D02F
156:1079A20018D00B7F49D02296A991B99108951091D0 156:1079A20018D00B7F49D02296A991B99108951091D0
157:1079B200F10008957DDF00911E0208D047D009D062 157:1079B200F10008957DDF00911E0208D047D009D062
158:1079C2000F773AD006D002FFFDCFBFC00093F1007F 158:1079C2000F773AD006D002FFFDCFBFC00093F1007F
159:1079D20008950091E800089524D010911D021058D6 159:1079D20008950091E800089524D010911D021058D6
160:1079E20029F01A9589F01A9591F019C061DF00917A 160:1079E20029F01A9589F01A9591F019C061DF00917A
161:1079F2001C02ECDF00E0EADF29D0EBDF02FFFDCF63 161:1079F2001C02ECDF00E0EADF29D0EBDF02FFFDCF63
162:107A020018D0E7DF0F770CC053DF00E0F2CF51D080 162:107A020018D0E7DF0F770CC053DF00E0F2CF51D080
163:107A12000F7710E0F801E55EFD4F0081EACF0FD04D 163:107A12000F7710E0F801E55EFD4F0081EACF0FD04D
164:107A22000BC001D000D00091F1000895D2DF0F7E8B 164:107A22000BC001D000D00091F1000895D2DF0F7E8B
165:107A320003C00091E8000B7F0093E80008950091D5 165:107A320003C00091E8000B7F0093E80008950091D5
166:107A4200EB0032DFC6DF077F089532DFC2DF0E7F31 166:107A4200EB0032DFC6DF077F089532DFC2DF0E7F31
167:107A5200F3CF00911D02002329F00A9509F10A953E 167:107A5200F3CF00911D02002329F00A9509F10A953E
168:107A620031F01EC0E0DF0A9561D0D9F41AC061D0AE 168:107A620031F01EC0E0DF0A9561D0D9F41AC061D0AE
169:107A7200B9F4D9DF0F7711F416D01BD00093E900C7 169:107A7200B9F4D9DF0F7711F416D01BD00093E900C7
170:107A82001091EB0010FF0BC00ED010E01093E90034 170:107A82001091EB0010FF0BC00ED010E01093E90034
171:107A920021E0F801E55EFD4F20834FD003C042D0C4 171:107A920021E0F801E55EFD4F20834FD003C042D0C4
172:107AA20045D0CFDFC9CF1091EB0010621093EB00ED 172:107AA20045D0CFDFC9CF1091EB0010621093EB00ED
173:107AB20008951091E800177F1093E800089500914F 173:107AB20008951091E800177F1093E800089500914F
174:107AC2001D02002311F4AFDF02C0013011F4B7DF51 174:107AC2001D02002311F4AFDF02C0013011F4B7DF51
175:107AD200B3CF023031F52DD019F52091F1002F7777 175:107AD200B3CF023031F52DD019F52091F1002F7777
176:107AE2002093E90023D000FF19C081F01FD000616C 176:107AE2002093E90023D000FF19C081F01FD000616C
177:107AF200DCDE01E010E0422F0E949F3E0093EA008C 177:107AF200DCDE01E010E0422F0E949F3E0093EA008C
178:107B020000E00093EA0012D00860CFDE0BD030E034 178:107B020000E00093EA0012D00860CFDE0BD030E034
179:107B1200F901E55EFD4F008310D0DACF03D0D7CF55 179:107B1200F901E55EFD4F008310D0DACF03D0D7CF55
180:107B2200BFDE089500E00093E90008950091EB00A4 180:107B2200BFDE089500E00093E90008950091EB00A4
181:107B3200089579DF3CDF00230895BADE4ADF0E7F25 181:107B3200089579DF3CDF00230895BADE4ADF0E7F25
182:107B4200089583DF46DF02FFFDCF73DF42DF0F7749 182:107B4200089583DF46DF02FFFDCF73DF42DF0F7749
183:107B520073CF0091D70001600093D7000E948B3849 183:107B520073CF0091D70001600093D7000E948B3849
184:107B620000E000931F0208950C94BF388A93FA93A1 184:107B620000E000931F0208950C94BF388A93FA93A1
185:107B7200EA933A922A921A920A927A936A935A93BF 185:107B7200EA933A922A921A920A927A936A935A93BF
186:107B82004A933A932A931A930A938FB70091DA0091 186:107B82004A933A932A931A930A938FB70091DA0091
187:107B920000FF24C00091D80000FF20C00EEF009328 187:107B920000FF24C00091D80000FF20C00EEF009328
188:107BA200DA000091D90000FF11C001E000930D013D 188:107BA200DA000091D90000FF11C001E000930D013D
189:107BB200ABD0026096D09AD00860A2D00E949B38C7 189:107BB200ABD0026096D09AD00860A2D00E949B38C7
190:107BC2000091E0000E7F0093E00008C000E0009307 190:107BC2000091E0000E7F0093E00008C000E0009307
191:107BD2000D0100931E0298D0046083D07FD002FF73 191:107BD2000D0100931E0298D0046083D07FD002FF73
192:107BE20005C084D002FF02C00BEF75D077D000FF32 192:107BE20005C084D002FF02C00BEF75D077D000FF32
193:107BF2001BC07CD000FF18C001E000930E016AD0C8 193:107BF2001BC07CD000FF18C001E000930E016AD0C8
194:107C020083D000626ED00EEF6FD0006179D06ED05B 194:107C020083D000626ED00EEF6FD0006179D06ED05B
195:107C12000F7D76D00091D80000620093D80009B59C 195:107C12000F7D76D00091D80000620093D80009B59C
196:107C22000D7F09BD00E009BD59D004FF20C05ED020 196:107C22000D7F09BD00E009BD59D004FF20C05ED020
197:107C320004FF1DC009B500FD05C00E94EB3809B55F 197:107C320004FF1DC009B500FD05C00E94EB3809B55F
198:107C420000FFFDCF0091D8000F7D0093D80042D0F5 198:107C420000FFFDCF0091D8000F7D0093D80042D0F5
199:107C520000910E01002359F04CD00FEE45D00F7E5B 199:107C520000910E01002359F04CD00FEE45D00F7E5B
200:107C620052D000643ED042D001604AD042D036D0D9 200:107C620052D000643ED042D001604AD042D036D0D9
201:107C720005FF0FC03BD005FF0CC000E000930E01D2 201:107C720005FF0FC03BD005FF0CC000E000930E01D2
202:107C820035D00F7E3DD00FED2FD00F7D3CD0006858 202:107C820035D00F7E3DD00FED2FD00F7D3CD0006858
203:107C920028D024D003FF0DC029D003FF0AC000E082 203:107C920028D024D003FF0DC029D003FF0AC000E082
204:107CA20000931F0207EF17D00E94743B2DD0116082 204:107CA20000931F0207EF17D00E94743B2DD0116082
205:107CB20018D08FBF09911991299139914991599100 205:107CB20018D08FBF09911991299139914991599100
206:107CC200699179910990199029903990E991F991E6 206:107CC200699179910990199029903990E991F991E6
207:107CD200899118950FEE0093E10008950091E1005B 207:107CD200899118950FEE0093E10008950091E1005B
208:107CE20008951183008308950093E1000091E2005A 208:107CE20008951183008308950093E1000091E2005A
209:107CF20008950091E200006203D00091E200086062 209:107CF20008950091E200006203D00091E200086062
210:107D02000093E2000895FCDFE0E2F2E000811181DD 210:107D02000093E2000895FCDFE0E2F2E000811181DD
211:107D1200089500008895FECF01E60DBF02E00EBF78 211:107D1200089500008895FECF01E60DBF02E00EBF78
212:107D2200C2EED2E00E947438002311F00E94D33ECA 212:107D2200C2EED2E00E947438002311F00E94D33ECA
213:107D32000E9465380E948A3E0C948A3E4A951AF047 213:107D32000E9465380E948A3E0C948A3E4A951AF047
214:107D4200000F111FFBCF0895BA92AA929A928A92BB 214:107D4200000F111FFBCF0895BA92AA929A928A92BB
215:107D52007A926A925A924A92BA93AA939A938A937D 215:107D52007A926A925A924A92BA93AA939A938A937D
216:107D62000895BB84AA84998488847F806E805D8014 216:107D62000895BB84AA84998488847F806E805D8014
217:107D72004C80BB81AA8199818881F0E00FB6F8948A 217:107D72004C80BB81AA8199818881F0E00FB6F8948A
218:107D8200CE0FDF1F0FBE089520E006D0E9F7089559 218:107D8200CE0FDF1F0FBE089520E006D0E9F7089559
219:107D9200259102D0E9F708952D9301501040202F2C 219:107D9200259102D0E9F708952D9301501040202F2C
220:107DA200212B089585E890E7FC0105911491FC01CF 220:107DA200212B089585E890E7FC0105911491FC01CF
221:107DB2003296A591B491FC01349625913491422FCB 221:107DB2003296A591B491FC01349625913491422FCB
222:107DC200432B19F0F901E4DF01C0DEDF069610E76C 222:107DC200432B19F0F901E4DF01C0DEDF069610E76C
223:107DD2008139910748F308952F930CD02F9101D048 223:107DD2008139910748F308952F930CD02F9101D048
224:107DE20008953CD0F12FE02F45E047BFE89536D00B 224:107DE20008953CD0F12FE02F45E047BFE89536D00B
225:107DF20012D0089533D0F12FE02F43E047BFE8952A 225:107DF20012D0089533D0F12FE02F43E047BFE8952A
226:107E02002DD008952BD0F12FE02F43E047BFE89506 226:107E02002DD008952BD0F12FE02F43E047BFE89506
227:107E120025D001D0089522D041E147BFE8951EC088 227:107E120025D001D0089522D041E147BFE8951EC088
228:107E22001DD0F12FE02F41E247BFC895002D16C0AB 228:107E22001DD0F12FE02F41E247BFC895002D16C0AB
229:107E320015D0F12FE02F49E047BFC895002D0EC0A5 229:107E320015D0F12FE02F49E047BFC895002D0EC0A5
230:107E4200F32FE22F012E102E41E047BFE89506C026 230:107E4200F32FE22F012E102E41E047BFE89506C026
231:107E520005D0002E29E027BFE89500C0022E27B7E3 231:107E520005D0002E29E027BFE89500C0022E27B7E3
232:107E620020FDFCCF202D0895022E27B726FDFCCF42 232:107E620020FDFCCF202D0895022E27B726FDFCCF42
233:107E7200202D08950E94A53E22974801C901DA01EA 233:107E7200202D08950E94A53E22974801C901DA01EA
234:107E820010C05BD001E0A00E00E0B01E00E4A0161E 234:107E820010C05BD001E0A00E00E0B01E00E4A0161E
235:107E920000E0B00608F440C0830120E030E00E9418 235:107E920000E0B00608F440C0830120E030E00E9418
236:107EA200F23E0A2F0B2B09F440C0082F0F7710E087 236:107EA200F23E0A2F0B2B09F440C0082F0F7710E087
237:107EB2002C01401A510A320100E4A02E03C00A2FFD 237:107EB2002C01401A510A320100E4A02E03C00A2FFD
238:107EC2000B2BE1F04816590680F0F40101914F01A5 238:107EC2000B2BE1F04816590680F0F40101914F01A5
239:107ED2000983119729F001914F010883119711C06D 239:107ED2000983119729F001914F010883119711C06D
240:107EE200F2013196049108830CC0F20104910983D6 240:107EE200F2013196049108830CC0F20104910983D6
241:107EF2003196E817F907A1F7F401EDCF1BD00883FB 241:107EF2003196E817F907A1F7F401EDCF1BD00883FB
242:107F020019839201088119810E94213F16D0AA94F7 242:107F020019839201088119810E94213F16D0AA94F7
243:107F1200B1F62301AA24BB240DD0312F0F3F3F4FCE 243:107F1200B1F62301AA24BB240DD0312F0F3F3F4FCE
244:107F220009F4AFCF83011DD0B7CF01E02296ECE078 244:107F220009F4AFCF83011DD0B7CF01E02296ECE078
245:107F32000C94B23E82010C945F3802E0400E00E0E5 245:107F32000C94B23E82010C945F3802E0400E00E0E5
246:107F4200501E08959A938A9380E090E08C0109D0A4 246:107F4200501E08959A938A9380E090E08C0109D0A4
247:107F520080589F4F8F3F0FE69007C0F38991999108 247:107F520080589F4F8F3F0FE69007C0F38991999108
248:107F6200089520E030E00C94FB3E00000000000089 248:107F6200089520E030E00C94FB3E00000000000089
249:067F720000000000FC000D 249:067F720000000000FC000D
250:107FE4000C94ED3E0C94113F0C94193F0C94213FDA 250:107FE4000C94ED3E0C94113F0C94193F0C94213FDA
251:0C7FF4000C94F23E0C94033F0C94293FC7 251:0C7FF4000C94F23E0C94033F0C94293FC7
252:040000030000700089 252:040000030000700089
253:00000001FF 253:00000001FF
diff --git a/util/docker_build.sh b/util/docker_build.sh
new file mode 100755
index 000000000..26075cc90
--- /dev/null
+++ b/util/docker_build.sh
@@ -0,0 +1,49 @@
1#!/bin/sh
2# NOTE: This script uses tabs for indentation
3
4USAGE="Usage: $0 [keyboard[:keymap[:target]]]"
5
6# Check preconditions
7for arg; do
8 if [ "$arg" = "--help" ]; then
9 echo "$USAGE"
10 exit 0
11 fi
12done
13if [ $# -gt 1 ]; then
14 echo "$USAGE" >&2
15 exit 1
16elif ! command -v docker >/dev/null 2>&1; then
17 echo "Error: docker not found" >&2
18 echo "See https://docs.docker.com/install/#supported-platforms for installation instructions" >&2
19 exit 2
20fi
21
22# Determine arguments
23if [ $# -eq 0 ]; then
24 printf "keyboard=" && read -r keyboard
25 [ -n "$keyboard" ] && printf "keymap=" && read -r keymap
26 [ -n "$keymap" ] && printf "target=" && read -r target
27else
28 IFS=':' read -r keyboard keymap target x <<-EOF
29 $1
30 EOF
31 if [ -n "$x" ]; then
32 echo "$USAGE" >&2
33 exit 1
34 fi
35fi
36if [ -n "$target" ]; then
37 if [ "$(uname)" = "Linux" ] || docker-machine active >/dev/null 2>&1; then
38 usb_args="--privileged -v /dev/bus/usb:/dev/bus/usb"
39 else
40 echo "Error: target requires docker-machine to work on your platform" >&2
41 echo "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos" >&2
42 exit 3
43 fi
44fi
45dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows
46
47# Run container and build firmware
48docker run --rm $usb_args -v "$dir":/qmk_firmware qmkfm/qmk_firmware \
49 make "$keyboard${keymap:+:$keymap}${target:+:$target}"
diff --git a/util/freebsd_install.sh b/util/freebsd_install.sh
new file mode 100755
index 000000000..25ea80a7f
--- /dev/null
+++ b/util/freebsd_install.sh
@@ -0,0 +1,18 @@
1#!/bin/sh
2pkg update
3pkg install -y \
4 git \
5 wget \
6 gmake \
7 gcc \
8 zip \
9 unzip \
10 avr-binutils \
11 avr-gcc \
12 avr-libc \
13 dfu-programmer \
14 dfu-util \
15 arm-none-eabi-gcc \
16 arm-none-eabi-binutils \
17 arm-none-eabi-newlib \
18 diffutils
diff --git a/util/generate_internal_docs.sh b/util/generate_internal_docs.sh
index bfee797d3..bfee797d3 100644..100755
--- a/util/generate_internal_docs.sh
+++ b/util/generate_internal_docs.sh
diff --git a/util/install_dependencies.sh b/util/install_dependencies.sh
deleted file mode 100755
index 227c86f87..000000000
--- a/util/install_dependencies.sh
+++ /dev/null
@@ -1,118 +0,0 @@
1#!/usr/bin/env bash
2# This script will attempt to setup the Linux dependencies for compiling QMK/TMK
3
4# This could probably go much lower, but since we are including an Arch vagrant,
5# making it the first match makes sense
6
7if [[ -n "$(type -P pacman )" ]]; then
8 # Arch linux and derivatives like Apricity
9 # Future improvements:
10 # Allow user to speed up package installs using powerpill/wget tweaks
11 # Always run the pacman mirror update script if possible when vagrant comes up
12 # This will ensure that users never get stalled on a horribly slow mirror
13 pacman -Syyu --needed --noconfirm
14 pacman -S --needed --noconfirm \
15 base-devel \
16 avr-gcc \
17 avr-binutils \
18 avr-libc \
19 dfu-util \
20 arm-none-eabi-gcc \
21 arm-none-eabi-binutils \
22 arm-none-eabi-newlib \
23 git \
24 diffutils
25
26elif [[ -n "$(type -P apt-get)" ]]; then
27 # Debian and derivatives
28 # This block performs completely non-interactive updates {{
29 export DEBIAN_FRONTEND=noninteractive
30 export DEBCONF_NONINTERACTIVE_SEEN=true
31 echo "grub-pc hold" | dpkg --set-selections
32 apt-get -y update
33 apt-get -y --allow-unauthenticated upgrade \
34 -o Dpkg::Options::="--force-confdef" \
35 -o Dpkg::Options::="--force-confold"
36 # }}
37 apt-get install -y \
38 build-essential \
39 gcc \
40 unzip \
41 wget \
42 zip \
43 gcc-avr \
44 binutils-avr \
45 avr-libc \
46 dfu-programmer \
47 dfu-util \
48 gcc-arm-none-eabi \
49 binutils-arm-none-eabi \
50 libnewlib-arm-none-eabi \
51 git \
52 diffutils
53
54elif [[ -n "$(type -P yum)" ]]; then
55 # Fedora, CentOS or RHEL and derivatives
56 yum -y makecache && yum -y update
57 yum -y install \
58 gcc \
59 glibc-headers \
60 kernel-devel \
61 kernel-headers \
62 make \
63 perl \
64 git \
65 wget \
66 avr-binutils \
67 avr-gcc \
68 avr-libc \
69 dfu-programmer \
70 dfu-util \
71 arm-none-eabi-gcc-cs \
72 arm-none-eabi-newlib \
73 git \
74 diffutils
75 # The listed eabi pacackes do unfortunately not exist for CentOS,
76 # But at least in Fedora they do, so try to install them anyway
77 # TODO: Build them from sources, if the installation fails
78
79elif [[ -n "$(type -P zypper)" ]]; then
80 # openSUSE
81 zypper --non-interactive refresh && zypper --non-interactive update
82 zypper --non-interactive install \
83 git \
84 make \
85 gcc \
86 kernel-devel \
87 patch \
88 wget \
89 dfu-programmer \
90 git \
91 diffutils
92 # TODO: The avr and eabi tools are not available as default packages, so we need
93 # another way to install them
94
95elif [[ -n "$(type -P pkg)" ]]; then
96 # FreeBSD
97 pkg update
98 pkg install -y \
99 git \
100 wget \
101 gmake \
102 gcc \
103 zip \
104 unzip \
105 avr-binutils \
106 avr-gcc \
107 avr-libc \
108 dfu-programmer \
109 dfu-util \
110 arm-none-eabi-gcc \
111 arm-none-eabi-binutils \
112 arm-none-eabi-newlib \
113 diffutils
114elif [[ -n "$(type -P emerge)" ]]; then
115 echo 'Please check that your gcc is built with the multilib use flag enabled.'
116 emerge -vq sys-devel/crossdev
117 USE="-openmp -hardened -sanitize -vtv" crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
118fi
diff --git a/util/linux_install.sh b/util/linux_install.sh
index 0703db8f1..d6e6b86cd 100755
--- a/util/linux_install.sh
+++ b/util/linux_install.sh
@@ -1,40 +1,156 @@
1#!/bin/sh 1#!/bin/sh
2if grep ID /etc/os-release | grep -q rhel; then 2
3 # RPM based OS 3# Note: This file uses tabs to indent. Please don't mix tabs and spaces.
4 sudo dnf install gcc unzip wget zip dfu-util dfu-programmer avr-gcc \ 4
5 avr-libc binutils-avr32-linux-gnu arm-none-eabi-gcc-cs \ 5GENTOO_WARNING="This script will make a USE change in order to ensure that that QMK works on your system. All changes will be sent to the the file /etc/portage/package.use/qmk_firmware -- please review it, and read Portage's output carefully before installing any packages on your system. You will also need to ensure that your kernel is compiled with support for the keyboard chip that you are using (e.g. enable Arduino for the Pro Micro). Further information can be found on the Gentoo wiki."
6 arm-none-eabi-binutils-cs arm-none-eabi-newlib 6
7elif grep ID /etc/os-release | grep -q debian; then 7SLACKWARE_WARNING="You will need the following packages from slackbuilds.org:\n\tarm-binutils\n\tarm-gcc\n\tavr-binutils\n\tavr-gcc\n\tavr-libc\n\tavrdude\n\tdfu-programmer\n\tdfu-util\n\tnewlib\nThese packages will be installed with sudo and sboinstall, so ensure that your user is added to sudoers and that sboinstall is configured."
8
9if grep ID /etc/os-release | grep -qE "fedora"; then
10 sudo dnf install \
11 arm-none-eabi-binutils-cs \
12 arm-none-eabi-gcc-cs \
13 arm-none-eabi-newlib \
14 avr-binutils \
15 avr-gcc \
16 avr-libc \
17 binutils-avr32-linux-gnu \
18 dfu-util \
19 dfu-programmer \
20 diffutils \
21 git \
22 gcc \
23 glibc-headers \
24 kernel-devel \
25 kernel-headers \
26 make \
27 perl \
28 unzip \
29 wget \
30 zip
31
32elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then
33 DEBIAN_FRONTEND=noninteractive
34 DEBCONF_NONINTERACTIVE_SEEN=true
35 export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
8 sudo apt-get update 36 sudo apt-get update
9 sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc \ 37 sudo apt-get install \
10 dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi \ 38 build-essential \
11 libnewlib-arm-none-eabi 39 avr-libc \
12elif grep ID /etc/os-release | grep -q arch; then 40 binutils-arm-none-eabi \
13 sudo pacman -S gcc unzip wget zip avr-gcc avr-binutils avr-libc \ 41 binutils-avr \
14 dfu-util arm-none-eabi-gcc arm-none-eabi-binutils \ 42 dfu-programmer \
15 arm-none-eabi-newlib 43 dfu-util \
44 diffutils \
45 gcc \
46 gcc-arm-none-eabi \
47 gcc-avr \
48 git \
49 libnewlib-arm-none-eabi \
50 unzip \
51 wget \
52 zip
53
54elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
55 # install avr-gcc 8.1 until 8.3 is available. See #3657 for details of the bug.
56 sudo pacman -U https://archive.archlinux.org/packages/a/avr-gcc/avr-gcc-8.1.0-1-x86_64.pkg.tar.xz
57 sudo pacman -S \
58 arm-none-eabi-binutils \
59 arm-none-eabi-gcc \
60 arm-none-eabi-newlib \
61 avr-binutils \
62 avr-libc \
63 avr-gcc \
64 base-devel \
65 dfu-util \
66 diffutils \
67 gcc \
68 git \
69 unzip \
70 wget \
71 zip
16 git clone https://aur.archlinux.org/dfu-programmer.git /tmp/dfu-programmer 72 git clone https://aur.archlinux.org/dfu-programmer.git /tmp/dfu-programmer
17 cd /tmp/dfu-programmer 73 cd /tmp/dfu-programmer || exit 1
18 makepkg -sic 74 makepkg -sic
19 rm -rf /tmp/dfu-programmer/ 75 rm -rf /tmp/dfu-programmer/
76
20elif grep ID /etc/os-release | grep -q gentoo; then 77elif grep ID /etc/os-release | grep -q gentoo; then
21 echo "This script will make a USE change in order to ensure that that QMK works on your system. All changes will be sent to the the file /etc/portage/package.use/qmk_firmware -- please review it, and read Portage's output carefully before installing any packages on your system. You will also need to ensure that your kernel is compiled with support for the keyboard chip that you are using (e.g. enable Arduino for the Pro Micro). Further information can be found on the Gentoo wiki." 78 echo "$GENTOO_WARNING" | fmt
22 echo -n "Proceed (y/N)? " 79 printf "\nProceed (y/N)? "
23 old_stty_cfg=$(stty -g) 80 read -r answer
24 stty raw -echo 81 if echo "$answer" | grep -iq "^y"; then
25 answer=$( while ! head -c 1 | grep -i '[ny]' ;do true ;done ) 82 sudo touch /etc/portage/package.use/qmkfirmware
26 stty $old_stty_cfg 83 # tee is used here since sudo doesn't apply to >>
27 if echo "$answer" | grep -iq "^y" ;then 84 echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware >/dev/null
28 sudo touch /etc/portage/package.use/qmkfirmware 85 sudo emerge -auN \
29 echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware > /dev/null 86 app-arch/unzip \
30 sudo emerge -auN sys-devel/gcc app-arch/unzip app-arch/zip net-misc/wget app-mobilephone/dfu-util sys-devel/crossdev dev-embedded/avrdude 87 app-arch/zip \
31 sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr 88 app-mobilephone/dfu-util \
32 echo Done! 89 dev-embedded/avrdude \
33 else 90 net-misc/wget \
34 echo "Quitting..." 91 sys-devel/gcc \
35fi 92 sys-devel/crossdev
93 sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
94 echo "Done!"
95 else
96 echo "Quitting..."
97 fi
98
99elif grep ID /etc/os-release | grep -q sabayon; then
100 sudo equo install \
101 app-arch/unzip \
102 app-arch/zip \
103 app-mobilephone/dfu-util \
104 dev-embedded/avrdude \
105 net-misc/wget \
106 sys-devel/gcc \
107 sys-devel/crossdev
108 sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
109 echo "Done!"
110
111elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then
112 CROSS_AVR_GCC=cross-avr-gcc8
113 CROSS_ARM_GCC=cross-arm-none-gcc8
114 if grep ID /etc/os-release | grep -q "15.0"; then
115 CROSS_AVR_GCC=cross-avr-gcc7
116 CROSS_ARM_GCC=cross-arm-none-gcc7
117 fi
118 sudo zypper install \
119 avr-libc \
120 $CROSS_AVR_GCC \
121 $CROSS_ARM_GCC \
122 cross-avr-binutils \
123 cross-arm-none-newlib-devel \
124 cross-arm-binutils cross-arm-none-newlib-devel \
125 dfu-tool \
126 dfu-programmer \
127 gcc \
128 unzip \
129 wget \
130 zip
131
132elif grep ID /etc/os-release | grep -q slackware; then
133 printf "$SLACKWARE_WARNING\n"
134 printf "\nProceed (y/N)? "
135 read -r answer
136 if echo "$answer" | grep -iq "^y" ;then
137 sudo sboinstall \
138 avr-binutils \
139 avr-gcc \
140 avr-libc \
141 avrdude \
142 dfu-programmer \
143 dfu-util \
144 arm-binutils \
145 arm-gcc \
146 newlib
147 echo "Done!"
148 else
149 echo "Quitting..."
150 fi
151
36else 152else
37 echo "Sorry, we don't recognize your OS. Help us by contributing support!" 153 echo "Sorry, we don't recognize your OS. Help us by contributing support!"
38 echo 154 echo
39 echo "https://docs.qmk.fm/contributing.html" 155 echo "https://docs.qmk.fm/#/contributing"
40fi 156fi
diff --git a/util/macos_install.sh b/util/macos_install.sh
index 7bfb105ec..d2629a8cb 100755
--- a/util/macos_install.sh
+++ b/util/macos_install.sh
@@ -22,4 +22,5 @@ fi
22brew tap osx-cross/avr 22brew tap osx-cross/avr
23brew tap PX4/homebrew-px4 23brew tap PX4/homebrew-px4
24brew update 24brew update
25brew install avr-gcc@7 gcc-arm-none-eabi dfu-programmer avrdude 25brew install avr-gcc@7 gcc-arm-none-eabi dfu-programmer avrdude dfu-util
26brew link --force avr-gcc@7
diff --git a/util/msys2_install.sh b/util/msys2_install.sh
index d9459580c..fcb488249 100644..100755
--- a/util/msys2_install.sh
+++ b/util/msys2_install.sh
@@ -13,9 +13,12 @@ source "$dir/win_shared_install.sh"
13 13
14function install_avr { 14function install_avr {
15 rm -f -r "$avrtools" 15 rm -f -r "$avrtools"
16 wget "http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe" 16 wget "http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip"
17 7z x avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe 17 echo "Extracting AVR toolchain..."
18 rm avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe 18 unzip -q avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip
19 mv avr8-gnu-toolchain-win32_x86/ avr8-gnu-toolchain
20 rm __MACOSX -R
21 rm avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip
19 pacman --needed -S mingw-w64-x86_64-avrdude 22 pacman --needed -S mingw-w64-x86_64-avrdude
20} 23}
21 24
diff --git a/util/new_keymap.sh b/util/new_keymap.sh
new file mode 100755
index 000000000..73cc9e8cc
--- /dev/null
+++ b/util/new_keymap.sh
@@ -0,0 +1,40 @@
1#!/bin/sh
2# Script to make a new keymap for a keyboard of your choosing
3# This script automates the copying of the default keymap into
4# your own keymap
5
6KB_PATH=$(echo "$1" | tr 'A-Z' 'a-z')
7USERNAME=$(echo "$2" | tr 'A-Z' 'a-z')
8
9if [ -z "$KB_PATH" ]; then
10 printf "Usage: %s <keyboard_path> <username>\n" "$0"
11 printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
12 exit 1
13fi
14
15if [ -z "$USERNAME" ]; then
16 printf "Usage: %s <keyboard_path> <username>\n" "$0"
17 printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
18 exit 1
19fi
20
21cd "$(dirname "$0")/.."
22
23if [ ! -d "keyboards/$KB_PATH" ]; then
24 printf "Error! keyboards/%s does not exist!\n" "$KB_PATH"
25 exit 1
26fi
27
28if [ -d "keyboards/$KB_PATH/keymaps/$USERNAME" ]; then
29 printf "Error! keyboards/%s/keymaps/%s already exists!\n" "$KB_PATH" "$USERNAME"
30 exit 1
31fi
32
33# Recursively copy the chosen keyboard's default keymap
34cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME"
35
36printf "%s keymap directory created in: qmk_firmware/keyboards/%s/keymaps/\n\n" "$USERNAME" "$KB_PATH"
37
38printf "Compile a firmware file with your new keymap by typing: \n"
39printf " make %s:%s\n" "$KB_PATH" "$USERNAME"
40printf "from the qmk_firmware directory\n" \ No newline at end of file
diff --git a/util/new_project.sh b/util/new_project.sh
index a85e83322..d1d1ed82c 100755
--- a/util/new_project.sh
+++ b/util/new_project.sh
@@ -14,7 +14,7 @@ elif [ -z "$KEYBOARD_TYPE" ]; then
14 KEYBOARD_TYPE=avr 14 KEYBOARD_TYPE=avr
15fi 15fi
16 16
17if [ $KEYBOARD_TYPE != "avr" -a $KEYBOARD_TYPE != "ps2avrgb" ]; then 17if [ "$KEYBOARD_TYPE" != "avr" ] && [ "$KEYBOARD_TYPE" != "ps2avrgb" ]; then
18 echo "Invalid keyboard type target" 18 echo "Invalid keyboard type target"
19 exit 1 19 exit 1
20fi 20fi
@@ -24,22 +24,43 @@ if [ -e "keyboards/$1" ]; then
24 exit 1 24 exit 1
25fi 25fi
26 26
27cd "$(dirname "$0")/.." 27cd "$(dirname "$0")/.." || exit
28 28
29KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}') 29KEYBOARD_NAME=$(basename "$1")
30KEYBOARD_NAME=$(basename $1) 30KEYBOARD_NAME_UPPERCASE=$(echo "$KEYBOARD_NAME" | awk '{print toupper($0)}')
31KEYBOARD_NAME_UPPERCASE=$(echo $KEYBOARD_NAME | awk '{print toupper($0)}') 31NEW_KBD=keyboards/${KEYBOARD}
32 32
33 33
34cp -r quantum/template/base keyboards/$KEYBOARD 34cp -r quantum/template/base "$NEW_KBD"
35cp -r quantum/template/$KEYBOARD_TYPE/. keyboards/$KEYBOARD 35cp -r "quantum/template/$KEYBOARD_TYPE/." "$NEW_KBD"
36 36
37mv keyboards/${KEYBOARD}/template.c keyboards/${KEYBOARD}/${KEYBOARD_NAME}.c 37mv "${NEW_KBD}/template.c" "${NEW_KBD}/${KEYBOARD_NAME}.c"
38mv keyboards/${KEYBOARD}/template.h keyboards/${KEYBOARD}/${KEYBOARD_NAME}.h 38mv "${NEW_KBD}/template.h" "${NEW_KBD}/${KEYBOARD_NAME}.h"
39find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \; 39find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \;
40find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \; 40find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \;
41 41
42echo "######################################################" 42GIT=$(whereis git)
43echo "# /keyboards/$KEYBOARD project created. To start" 43if [ "$GIT" != "" ]; then
44echo "# working on things, cd into keyboards/$KEYBOARD" 44 IS_GIT_REPO=$($GIT log >>/dev/null 2>&1; echo $?)
45echo "######################################################" 45 if [ "$IS_GIT_REPO" -eq 0 ]; then
46 ID="'$($GIT config --get user.name)'"
47 echo "Using $ID as user name"
48
49 for i in "$NEW_KBD/config.h" \
50 "$NEW_KBD/$KEYBOARD_NAME.c" \
51 "$NEW_KBD/$KEYBOARD_NAME.h" \
52 "$NEW_KBD/keymaps/default/config.h" \
53 "$NEW_KBD/keymaps/default/keymap.c"
54 do
55 awk -v id="$ID" '{sub(/REPLACE_WITH_YOUR_NAME/,id); print}' < "$i" > "$i.$$"
56 mv "$i.$$" "$i"
57 done
58 fi
59fi
60
61cat <<-EOF
62######################################################
63# $NEW_KBD project created. To start
64# working on things, cd into $NEW_KBD
65######################################################
66EOF
diff --git a/util/qmk_install.sh b/util/qmk_install.sh
index 5a1a38fce..76ecf5fc0 100755
--- a/util/qmk_install.sh
+++ b/util/qmk_install.sh
@@ -3,14 +3,23 @@
3 3
4util_dir=$(dirname "$0") 4util_dir=$(dirname "$0")
5 5
6case $(uname) in 6case $(uname -a) in
7 Darwin) 7 *Darwin*)
8 exec "${util_dir}/macos_install.sh" 8 exec "${util_dir}/macos_install.sh"
9 ;; 9 ;;
10 Linux) 10 *Linux*Microsoft*)
11 exec "${util_dir}/wsl_install.sh"
12 ;;
13 *FreeBSD*)
14 exec "${util_dir}/freebsd_install.sh"
15 ;;
16 *Linux*)
11 exec "${util_dir}/linux_install.sh" 17 exec "${util_dir}/linux_install.sh"
12 ;; 18 ;;
13 MSYS_NT*|MINGW_64*) 19 MSYS_NT*|MINGW64_NT*|MINGW32_NT*)
14 exec "${util_dir}/msys2_install.sh" 20 exec "${util_dir}/msys2_install.sh"
15 ;; 21 ;;
22 *)
23 echo "Environment not supported. Please see https://docs.qmk.fm for details on how to configure the QMK Firmware build tools manually."
24 ;;
16esac 25esac
diff --git a/util/travis_build.sh b/util/travis_build.sh
index d12a87a94..d12a87a94 100644..100755
--- a/util/travis_build.sh
+++ b/util/travis_build.sh
diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh
index a49908c71..66b3beb6c 100644..100755
--- a/util/travis_compiled_push.sh
+++ b/util/travis_compiled_push.sh
@@ -8,6 +8,7 @@ TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
8set -o errexit -o nounset 8set -o errexit -o nounset
9 9
10rev=$(git rev-parse --short HEAD) 10rev=$(git rev-parse --short HEAD)
11echo "Using git hash ${rev}"
11 12
12if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then 13if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then
13 14
@@ -34,7 +35,7 @@ increment_version ()
34 part[2]=$((part[2] + 1)) 35 part[2]=$((part[2] + 1))
35 new="${part[*]}" 36 new="${part[*]}"
36 echo -e "${new// /.}" 37 echo -e "${new// /.}"
37} 38}
38 39
39git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} 40git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}
40 41
@@ -63,7 +64,7 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
63 ssh-add -D 64 ssh-add -D
64 eval `ssh-agent -s` 65 eval `ssh-agent -s`
65 ssh-add id_rsa_qmk.fm 66 ssh-add id_rsa_qmk.fm
66 67
67 # don't delete files in case not all keyboards are built 68 # don't delete files in case not all keyboards are built
68 # rm -f compiled/*.hex 69 # rm -f compiled/*.hex
69 70
@@ -74,7 +75,7 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
74 for file in ../qmk_firmware/keyboards/*/*/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done 75 for file in ../qmk_firmware/keyboards/*/*/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
75 bash _util/generate_keyboard_page.sh 76 bash _util/generate_keyboard_page.sh
76 git add -A 77 git add -A
77 git commit -m "generated from qmk/qmk_firmware@${rev}" 78 git commit -m "generated from qmk/qmk_firmware@${rev}"
78 git push git@github.com:qmk/qmk.fm.git 79 git push git@github.com:qmk/qmk.fm.git
79 80
80fi 81fi
diff --git a/util/travis_docs.sh b/util/travis_docs.sh
index 5cfd63466..5cfd63466 100644..100755
--- a/util/travis_docs.sh
+++ b/util/travis_docs.sh
diff --git a/util/travis_push.sh b/util/travis_push.sh
index 7eea88b14..7eea88b14 100644..100755
--- a/util/travis_push.sh
+++ b/util/travis_push.sh
diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh
index f24ec08e8..c7517881e 100644..100755
--- a/util/win_shared_install.sh
+++ b/util/win_shared_install.sh
@@ -18,11 +18,8 @@ function install_utils {
18 wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip' 18 wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip'
19 unzip teensy_loader_cli_windows.zip 19 unzip teensy_loader_cli_windows.zip
20 20
21 # This URL has changed and I can't find the new location. Commenting out until we figure out the new URL or determine this isn't needed. -skullY
22 echo "Installing Atmel Flip" 21 echo "Installing Atmel Flip"
23 wget 'http://ww1.microchip.com/downloads/en/DeviceDoc/Flip%20Installer%20-%203.4.7.112.exe' 22 wget 'http://ww1.microchip.com/downloads/en/DeviceDoc/Flip%20Installer%20-%203.4.7.112.exe'
24 # This is the JRE-less installer, if we need the larger bundled with JRE installer, use this:
25 #wget 'http://ww1.microchip.com/downloads/en/DeviceDoc/JRE%20-%20Flip%20Installer%20-%203.4.7.112.exe'
26 mv Flip\ Installer\ \-\ 3.4.7.112.exe FlipInstaller.exe 23 mv Flip\ Installer\ \-\ 3.4.7.112.exe FlipInstaller.exe
27 24
28 echo "Downloading the QMK driver installer" 25 echo "Downloading the QMK driver installer"
diff --git a/util/wsl_install.sh b/util/wsl_install.sh
index d11c78ac7..c2c206d2b 100644..100755
--- a/util/wsl_install.sh
+++ b/util/wsl_install.sh
@@ -15,20 +15,15 @@ fi
15while true; do 15while true; do
16 echo 16 echo
17 echo "Do you want to install all toolchain dependencies needed for compiling QMK?" 17 echo "Do you want to install all toolchain dependencies needed for compiling QMK?"
18 echo "This will run install_dependencies.sh, which calls apt-get upgrade."
19 echo "If you don't want that, you can install the dependencies manually." 18 echo "If you don't want that, you can install the dependencies manually."
20 read -p "(Y/N) " res 19 read -p "(Y/N) " res
21 case $res in 20 case $res in
22 [Yy]* ) sudo ./install_dependencies.sh; break;; 21 [Yy]* ) ./linux_install.sh; break;;
23 [Nn]* ) break;; 22 [Nn]* ) break;;
24 * ) echo "Invalid answer";; 23 * ) echo "Invalid answer";;
25 esac 24 esac
26done 25done
27 26
28echo "Installing dependencies needed for the installation (unzip, wget)"
29echo "This will ask for the sudo password"
30sudo apt-get install unzip wget
31
32download_dir=wsl_downloaded 27download_dir=wsl_downloaded
33 28
34source "$dir/win_shared_install.sh" 29source "$dir/win_shared_install.sh"