| @@ -1,47 +1,44 @@ | | | @@ -1,47 +1,44 @@ |
1 | $NetBSD: README.MacOSX,v 1.34 2017/09/21 19:42:16 gdt Exp $ | | 1 | $NetBSD: README.MacOSX,v 1.35 2017/09/23 05:53:52 maya Exp $ |
2 | | | 2 | |
3 | This file describes the use of current versions of pkgsrc with | | 3 | This file describes the use of current versions of pkgsrc with |
4 | multiple versions of Darwin and OS X, omitting information about previous pkgsrc | | 4 | multiple versions of Darwin and macOS, omitting information about |
5 | versions. | | 5 | previous pkgsrc versions. |
6 | | | 6 | |
7 | * Darwin vs OS X | | 7 | * Darwin vs macOS |
8 | | | 8 | |
9 | (Apple has renamed Mac OS X to OS X, but the filename | | 9 | macOS consists of Darwin (kernel/userland) plus Mac stuff on top. |
10 | remains.) | | | |
11 | | | | |
12 | OS X consists of Darwin (kernel/userland) plus Mac stuff on top. | | | |
13 | pkgsrc used to target Darwin, but given the tools issued discussed | | 10 | pkgsrc used to target Darwin, but given the tools issued discussed |
14 | below it is not clear that it works on Darwin without OS X. Darwin | | 11 | below it is not clear that it works on Darwin without macOS. Darwin |
15 | from Apple is no longer open source. | | 12 | from Apple is no longer open source. |
16 | | | 13 | |
17 | Users of non-OS X Darwin are invited to submit patches to this file. | | 14 | Users of non-macOS Darwin are invited to submit patches to this file. |
18 | The only known project is: | | 15 | The only known project is: |
19 | http://www.puredarwin.org/ | | 16 | http://www.puredarwin.org/ |
20 | | | 17 | |
21 | Until then, this file remains OS X-centric. | | 18 | Until then, this file remains macOS-centric. |
22 | | | 19 | |
23 | * OS X specific bootstrap arguments | | 20 | * macOS specific bootstrap arguments |
24 | | | 21 | |
25 | Providing the --binary-macpkg flag to the bootstrap script causes it | | 22 | Providing the --binary-macpkg flag to the bootstrap script causes it |
26 | to prepare a bootstrap kit as a native OS X package instead of using | | 23 | to prepare a bootstrap kit as a native macOS package instead of using |
27 | the conventional .tar.bz2 format. This requires the package-maker | | 24 | the conventional .tar.bz2 format. This requires the package-maker |
28 | application to be installed. | | 25 | application to be installed. |
29 | | | 26 | |
30 | * system tools issues | | 27 | * system tools issues |
31 | | | 28 | |
32 | ** native headers vs SDK | | 29 | ** native headers vs SDK |
33 | | | 30 | |
34 | OS X used to include system headers in /usr/include, so that one | | 31 | macOS used to include system headers in /usr/include, so that one |
35 | could treat it like a relatively normal POSIX system. Starting at | | 32 | could treat it like a relatively normal POSIX system. Starting at |
36 | approximately 10.9, headers were no longer available at the standard | | 33 | approximately 10.9, headers were no longer available at the standard |
37 | location, and one has to use an SDK that puts headers someplace else. | | 34 | location, and one has to use an SDK that puts headers someplace else. |
38 | pkgsrc supports this, but there has been some confusion where a 10.9 | | 35 | pkgsrc supports this, but there has been some confusion where a 10.9 |
39 | system produced binaries for 10.10, which only mostly works. The | | 36 | system produced binaries for 10.10, which only mostly works. The |
40 | confusion is believed to be resolved. | | 37 | confusion is believed to be resolved. |
41 | | | 38 | |
42 | ** gcc vs clang | | 39 | ** gcc vs clang |
43 | | | 40 | |
44 | Older versions of OS X (when XCode is installed) provided gcc, and | | 41 | Older versions of OS X (when XCode is installed) provided gcc, and |
45 | pkgsrc defaulted to using gcc. With 10.9, gcc is no longer present. | | 42 | pkgsrc defaulted to using gcc. With 10.9, gcc is no longer present. |
46 | | | 43 | |
47 | ** i386 vs x86_64 ABI issue | | 44 | ** i386 vs x86_64 ABI issue |
| @@ -107,107 +104,108 @@ option. Repeatable data about recovery | | | @@ -107,107 +104,108 @@ option. Repeatable data about recovery |
107 | most are past this issue already and no longer interested in | | 104 | most are past this issue already and no longer interested in |
108 | experimenting.) | | 105 | experimenting.) |
109 | | | 106 | |
110 | ** sed in 10.9 | | 107 | ** sed in 10.9 |
111 | | | 108 | |
112 | The sed that comes with 10.9 appears to be broken; it exits when | | 109 | The sed that comes with 10.9 appears to be broken; it exits when |
113 | called on files with UTF-8 or other apparently-binary content. | | 110 | called on files with UTF-8 or other apparently-binary content. |
114 | Therefore, pkgsrc uses nbsed on 10.9. | | 111 | Therefore, pkgsrc uses nbsed on 10.9. |
115 | | | 112 | |
116 | * Developer tools and prerequisites | | 113 | * Developer tools and prerequisites |
117 | | | 114 | |
118 | ** XCode | | 115 | ** XCode |
119 | | | 116 | |
120 | This section applies to 10.6 through 10.12. | | 117 | This section applies to 10.6 through 10.13. |
121 | | | 118 | |
122 | If you haven't already, you will need to install the OS X | | 119 | If you haven't already, you will need to install the macOS |
123 | Developer Tools package (XCode) to obtain a compiler, etc. The | | 120 | Developer Tools package (XCode) to obtain a compiler, etc. The |
124 | procedure depends on the version of OS X; recent versions use the | | 121 | procedure depends on the version of macOS; recent versions use the |
125 | App Store. | | 122 | App Store. |
126 | | | 123 | |
127 | *** Command-line Tools | | 124 | *** Command-line Tools |
128 | | | 125 | |
129 | XCode 9 (the current version), even when installed on OS X 10.12, does | | 126 | XCode 9 (the current version) does not include an SDK for 10.12. If |
130 | not include an SDK for 10.12. If one installs "Commmand Line Tools", | | 127 | one installs "Commmand Line Tools", then pkgsrc can use the compiler. |
131 | then pkgsrc can use the compiler. | | | |
132 | | | 128 | |
133 | Since Xcode 7 (installed from the Apple Store) the development | | 129 | Since Xcode 7 (installed from the Apple Store) the development |
134 | environment can upgrade itself without interaction from the user, but | | 130 | environment can upgrade itself without interaction from the user, but |
135 | will not automatically update the Command Line Tools. This will | | 131 | will not automatically update the Command Line Tools. This will |
136 | cause system header files like stdlib.h not to be found by pkgsrc. | | 132 | cause system header files like stdlib.h not to be found by pkgsrc. |
137 | The command `xcode-select --install' will install the Command Line | | 133 | The command `xcode-select --install' will install the Command Line |
138 | Tools for Xcode. | | 134 | Tools for Xcode. |
139 | | | 135 | |
140 | In the past at least, Command Line Tools for Xcode could be obtained | | 136 | In the past at least, Command Line Tools for Xcode could be obtained |
141 | from https://developer.apple.com/downloads/ | | 137 | from https://developer.apple.com/downloads/ |
142 | | | 138 | |
143 | ** cvs | | 139 | ** cvs |
144 | | | 140 | |
145 | Note that as of 10.9, cvs is no longer provided by Apple. You can build | | 141 | Note that as of 10.9, cvs is no longer provided by Apple. You can build |
146 | devel/scmcvs. To obtain pkgsrc in order to bootstrap and build cvs, | | 142 | devel/scmcvs. To obtain pkgsrc in order to bootstrap and build cvs, |
147 | it may be useful to `git clone https://github.com/jsonn/pkgsrc.git`. | | 143 | it may be useful to `git clone https://github.com/NetBSD/pkgsrc.git`. |
148 | | | 144 | |
149 | ** X11 | | 145 | ** X11 |
150 | | | 146 | |
151 | X11 used to be built into OS X, but as of 10.8 it is no longer | | 147 | X11 used to be built into macOS, but as of 10.8 it is no longer |
152 | included. You can install XQuartz from | | 148 | included. You can install XQuartz from |
153 | https://www.xquartz.org, or try the newly-added pkgsrc | | 149 | https://www.xquartz.org, or try the newly-added pkgsrc |
154 | version. | | 150 | version. |
155 | | | 151 | |
156 | * OS X Versions | | 152 | * macOS Versions |
157 | | | 153 | |
158 | Because Apple drops support for previous hardware faster than the | | 154 | Because Apple drops support for previous hardware faster than the |
159 | hardware fails, many machines cannot be upgraded to recent versions of | | 155 | hardware fails, many machines cannot be upgraded to recent versions of |
160 | OS X, creating a greater than usual desire to support old systems. | | 156 | macOS, creating a greater than usual desire to support old systems. |
161 | Because of the particular history of deprecation, most systems tend to | | 157 | Because of the particular history of deprecation, most systems tend to |
162 | run relatively recent versions or specific older versions (10.6 and | | 158 | run relatively recent versions or specific older versions (10.6 and |
163 | 10.5). | | 159 | 10.5). |
164 | | | 160 | |
165 | The stance of pkgsrc is generally to avoid breaking older systems | | 161 | The stance of pkgsrc is generally to avoid breaking older systems |
166 | unless keeping support would cause difficulty, and to accept clean | | 162 | unless keeping support would cause difficulty, and to accept clean |
167 | patches when there is no harm to non-deprecated versions. This | | 163 | patches when there is no harm to non-deprecated versions. This |
168 | section is partly to document what versions tend to be used and why, | | 164 | section is partly to document what versions tend to be used and why, |
169 | and partly to enable cleaning up bug reports without fixes for very | | 165 | and partly to enable cleaning up bug reports without fixes for very |
170 | old systems. | | 166 | old systems. |
171 | | | 167 | |
172 | pkgsrc PRs about 10.5 or older that do not contain fixes may be closed | | 168 | pkgsrc PRs about 10.5 or older that do not contain fixes may be closed |
173 | without fixing. | | 169 | without fixing. |
174 | | | 170 | |
175 | OS X 10.11 is considered new and there may be issues. | | 171 | macOS 10.12 - 10.13 are considered new and there may be issues. |
| | | 172 | |
| | | 173 | OS X 10.11 is considered new and there may be issues. |
176 | | | 174 | |
177 | OS X 10.10 is considered current. | | 175 | OS X 10.10 is considered current. |
178 | | | 176 | |
179 | OS X 10.9 (Darwin 13.4.0) is considered current. | | 177 | OS X 10.9 (Darwin 13.4.0) is considered current. |
180 | | | 178 | |
181 | OS X 10.8 is old, and there are no no known reasons to it instead of a | | 179 | OS X 10.8 is old, and there are no no known reasons to it instead of a |
182 | newer version. | | 180 | newer version. |
183 | | | 181 | |
184 | OS X 10.7 is the last version that works on a few Intel Macs, e.g. the | | 182 | OS X 10.7 is the last version that works on a few Intel Macs, e.g. the |
185 | Mac Pro 1.1 and 2.1 and some Mac Minis. | | 183 | Mac Pro 1.1 and 2.1 and some Mac Minis. |
186 | | | 184 | |
187 | OS X 10.6 is the last version that works on Intel Macs lacking amd64 | | 185 | OS X 10.6 is the last version that works on Intel Macs lacking amd64 |
188 | support, e.g. Mac Minis and Macbooks with Core Duo. (There is an | | 186 | support, e.g. Mac Minis and Macbooks with Core Duo. (There is an |
189 | active bulk build for 10.6.) | | 187 | active bulk build for 10.6.) |
190 | | | 188 | |
191 | OS X 10.5 is the last version that works on PowerPC Macs. As of 2015 | | 189 | OS X 10.5 is the last version that works on PowerPC Macs. As of 2015 |
192 | reports of using 10.5 are very rare. | | 190 | reports of using 10.5 are very rare. |
193 | | | 191 | |
194 | OS X 10.4 (Darwin 8.11.0) is the last version that works on PowerPC G3 | | 192 | OS X 10.4 (Darwin 8.11.0) is the last version that works on PowerPC G3 |
195 | and slower G4 Macs. | | 193 | and slower G4 Macs. |
196 | | | 194 | |
197 | * Bulk builds | | 195 | * Bulk builds |
198 | | | 196 | |
199 | Clearly, it is desirable for a bulk build to be useful on as many | | 197 | Clearly, it is desirable for a bulk build to be useful on as many |
200 | computers as possible. The main issues are which ABI and which OS X | | 198 | computers as possible. The main issues are which ABI and which macOS |
201 | version. Targeting older versions makes a build run on more systems, | | 199 | version. Targeting older versions makes a build run on more systems, |
202 | and targeting newer versions makes the build closer to what would be | | 200 | and targeting newer versions makes the build closer to what would be |
203 | obtained from bootstrapping on a newer version and thus avoids some | | 201 | obtained from bootstrapping on a newer version and thus avoids some |
204 | issues. This section has pointers to active bulk builds. | | 202 | issues. This section has pointers to active bulk builds. |
205 | | | 203 | |
206 | ** 10.4, --abi=32 powerpc, gcc | | 204 | ** 10.4, --abi=32 powerpc, gcc |
207 | | | 205 | |
208 | Sevan Janiyan <Sevan@NetBSD.org> provides a bulk build for the -current branch | | 206 | Sevan Janiyan <Sevan@NetBSD.org> provides a bulk build for the -current branch |
209 | (--abi=32, OS X 10.4/PowerPC, gcc 4.0.1 from Xcode 2.5, X11_TYPE=modular): | | 207 | (--abi=32, OS X 10.4/PowerPC, gcc 4.0.1 from Xcode 2.5, X11_TYPE=modular): |
210 | https://www.geeklan.co.uk/?p=1579 | | 208 | https://www.geeklan.co.uk/?p=1579 |
211 | US repo: http://sevan.mit.edu/packages | | 209 | US repo: http://sevan.mit.edu/packages |
212 | Euro mirror: http://pkgsrc.geeklan.co.uk/packages/current/Darwin-8 | | 210 | Euro mirror: http://pkgsrc.geeklan.co.uk/packages/current/Darwin-8 |
213 | See | | 211 | See |