-
Notifications
You must be signed in to change notification settings - Fork 46
/
README
327 lines (261 loc) · 11.9 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
iOS Ports
=========
iOS Ports is a Collection of F/OSS libraries which have been ported to
the iPhoneOS/iOS platform. The conditions of the license of each package
included in iOS Ports are believed to allow for use of each package on
an iOS device, however a developer should review the license of each
package before including it within an application and to verify that the
application meets the requirements of the conditions.
Contents
--------
1. Disclaimer
2. Software Requirements
3. Directory Map
4. Packages
5. Quick Start for Xcode 4.2
6. Maintainers
7. Community
8. iOS Ports Users
9. Source Code
Disclaimer
----------
This software is provided by the copyright holders and contributors "as
is" and any express or implied warranties, including, but not limited to,
the implied warranties of merchantability and fitness for a particular
purpose are disclaimed. In no event shall Bindle Binaries be liable for
any direct, indirect, incidental, special, exemplary, or consequential
damages (including, but not limited to, procurement of substitute goods or
services; loss of use, data, or profits; or business interruption) however
caused and on any theory of liability, whether in contract, strict
liability, or tort (including negligence or otherwise) arising in any way
out of the use of this software, even if advised of the possibility of
such damage.
Software Requirements
---------------------
* Git 1.7
* Mac OS X 10.8
* Xcode 4.5
* Xcode Command Line Tools
* iOS SDK 6.0
* Internet Access (for downloading packages)
Directory Map
-------------
.gitignore - Global list of files to ignore
LICENSE - Software license of source code created for the
iOSPorts package.
Makefile - used to perform various global tasks
README - This file.
build-aux/ - directory containing support scripts and utilities
iOSPorts.xcworkspace - Xcode workspace
include/ - Ports will install required header files to this
directory
ports/ - contains all ports
ports/database/ - Database Clients and Tools
ports/devel/ - Development Tools and Libraries
ports/iOSports/ - internal source code for iOSPorts support tools
ports/security/ - Security Related Tools and Libraries
examples/ - contains example code for iOS ports packages
Packages
--------
Cyrus SASL
----------
Location: ports/security/cyrus-sasl/
Includes: OpenSSL
Dependencies: sasl2 (Cyrus SASL)
Add: ports/security/cyrus-sasl/Cyrus SASL.xcodeproj
Link With: libsasl2.a (Cyrus SASL)
libssl.a (openssl)
libcrypto.a (openssl)
Description: A port of Cyrus SASL to the iPhone platform (iOS). An open
source implementations of Simple Authentication and Security
Layer methods.
iOSPorts
--------
Location: ports/iOSPorts/
Includes: N/A
Dependencies: iOSPorts (iOSPorts)
Add: ports/iOSPorts/iOSPorts.xcodeproj
Link With: libiOSPorts.a (iOSPorts)
Description: A standalone package for adding iOS Port packages' copyright
information to an iOS package. Using this library to
display the copyright information should fulfill a packages
distribution requirement according to the Modified BSD
license and similar licenses. Including this project in an
iOS application will not make other iOS Ports packages
available within an application.
OpenLDAP
--------
Location: ports/database/openldap/
Includes: Cyrus SASL
OpenSSL
Dependencies: ldap (openldap)
Add: ports/database/openldap/openldap.xcodeproj
Link With: libldap.a (openldap)
liblber.a (openldap)
libsasl2.a (Cyrus SASL)
libssl.a (openssl)
libcrypto.a (openssl)
Desciption: A port of OpenLDAP client library to the iOS platform.
OpenSSL
-------
Location: ports/security/openssl/
Includes: N/A
Dependencies: ssl (openssl)
Add: ports/security/openssl/openssl.xcodeproj
Link With: libssl.a (openssl)
libcrypto.a (openssl)
Description: A port of OpenSSL's SSL/TLS and Crypto toolkit to the iPhone
platform (iOS).
PCRE
----
Location: ports/devel/pcre/
Includes: N/A
Dependencies: pcre (pcre)
Add: ports/devel/pcre/pcre.xcodeproj
Link With: libpcre.a (pcre)
Description: A port of PCRE (Perl Compatible Regular Expressions) to the
iOS platform (iPhone).
scrypt
------
Location: ports/security/scrypt/
Includes: OpenSSL
Dependencies: scrypt (scrypt)
Add: ports/security/scrypt/scrypt.xcodeproj
Link With: libssl.a (openssl)
libcrypto.a (openssl)
libscryptenc.a (scrypt)
libscrypto.a (scrypt)
libutil.a (scrypt)
Description: The scrypt key derivation function was originally developed
for use in the Tarsnap online backup system and is designed
to be far more secure against hardware brute-force attacks
than alternative functions such as PBKDF2 or bcrypt.
Quick Start for Xcode 4
-----------------------
This tutorial assumes that you are familiar with the following guides
available on Apple's Dev Center:
- Xcode 4 User Guide: Introduction
- Xcode 4 User Guide: Orientation to Xcode
For the sake of clarity, this tutorial uses the following information. Be
sure to substitute information appropiate for your project and setup:
Project Name: Zebra
App Name: Zebra.app
Project File: Zebra.xcodeproj
Project Location: /Users/zookeeper/Documents/Zebra/
iOS Ports Location: /Users/zookeeper/Documents/iOSPorts/
iOS Ports Includes: /Users/zookeeper/Documents/iOSPorts/include
Relative Include Path: ../iOSPorts/include
In order to use packages from iOS Ports the following items need
to be completed:
- Download iOS Projects (see "Source Code" section of this README).
- Note the package information for the packages to be used (see "Packages"
section of this README).
- Add iOS Ports Xcode project files to Zebra.xcodeproj.
- Update the "Build Phases" in Zebra.xcodeproj
- Update the "Build Settings" in Zebra.xcodeproj.
Add iOS Ports Xcode project files
---------------------------------
1. Open Zebra.xcodeproj in Xcode.
2. On the menubar, select "File" -> "Add Files to 'Zebra'..."
A new dialog should appear.
4. In the dialog, locate the first Xcode project from the "Add" field
of the desired iOS Ports package. For example, if adding OpenLDAP to
your project, you would locate "openldap.xcodeproj".
5. Click the "Add" button. The xcode project "openldap.xcodeproj" should
appear in the "Project Navigator".
6. Repeat for the remaining Xcode projects listed in the "Add" field
of the desired iOS Ports package.
Update Build Phases
-------------------
Open the Project Editor
1. Display the "Project Navigator" in the "Navigator Area" of Xcode's
main window (see "Xcode 4 User Guide").
2. Click on the project icon in the project navigator (the project name
is visible next to the project icon). The project's build settings
should appear in the "Edit Area" of Xcode's window.
3. In "TARGETS" section, select the target which will use the iOS Ports
packages.
Update "Target Dependencies"
1. Select the "Build Phases" tab from the project editor.
2. Expand the "Target Dependencies" section.
3. Click the "+" button under "Target Dependencies". A list of targets
should appear.
4. Locate the first target from the "Dependencies" field of the desired
iOS Ports package. The target should have an icon of a stone building.
Using OpenLDAP as an example, you would select "ldap".
5. Click the "Add" button.
6. Repeat for the remaining targets listed in the "Dependencies" field
of the desired iOS Ports package.
Update "Link Binary With Libraries"
1. Select the "Build Phases" tab from the project editor.
2. Expand the "Link Binary With Libraries" section.
3. Click the "+" button under "Link Binary With Libraries". A list of
libraries should appear.
4. Locate the first library from the "Link With" field of the desired
iOS Ports package. The target should have an icon of a stone building.
Using OpenLDAP as an example, you would select "libldap.a".
5. Click the "Add" button.
6. Repeat for the remaining libraries listed in the "Link With" field of
the desired iOS Ports package.
Update Build Settings
---------------------
Update Search Paths
1. Select the "Build Settings" tab from the project editor.
2. Search for the setting titled "Always Search User Paths". Change the
value to "Yes". If the editor is displaying setting names instead of
setting titles, search for "ALWAYS_SEARCH_USER_PATHS". If the editor
if displaying setting definitions instead of setting values, change
the definition to "YES".
2. Search for the setting titled "User Header Search Paths". Add the
relative include path to the iOS Ports include directory. In this
example, the relative include path is "../iOSPorts/include" since
both Zebra and iOS Ports are in the same parent directory. If the
editor is displaying setting names instead of setting titles, search
for "USER_HEADER_SEARCH_PATHS".
The project Zebra should now be ready to compile the required static
libraries and link to them. The source for the iOS Ports packages will
be downloaded the first time the packages are compiled.
When using two or more iOS Ports packages, it is not necessary to follow
these instructions for packages which are already included by other
packages. For example, including OpenLDAP automatically includes OpenSSL
and Cyrus SASL.
Maintainers
-----------
David M. Syzdek
Bindle Binaries
Community
---------
Mailing List:
https://lists.bindlebinaries.com/mailman/listinfo/ios-ports
Wiki:
https://github.com/bindle/iOSPorts/wiki
Issue Tracking:
https://github.com/bindle/iOSPorts/issues
iOS Ports Users
---------------
The following organizations are known to use iOS Ports. To have your
project or organzation added to the list, please contact David M.
Syzdek <[email protected]>.
Bindle Binaries
http://www.bindlebinaries.com/
SAP
http://www.sap.com/
Source Code
-----------
The source code for this project is maintained using git (http://git-scm.com).
The following contains information to checkout the source code from the git
repository.
Git URLs:
git://github.com/bindle/iOSPorts.git
git://git.scm.bindlebinaries.com/pub/scm/com.bindlebinaries/iOSPorts.git
http://http.scm.bindlebinaries.com/pub/scm/com.bindlebinaries/iOSPorts.git
ssh://ssh.scm.bindlebinaries.com/pub/scm/com.bindlebinaries/iOSPorts.git
Downloading Source:
$ git clone git://github.com/bindle/iOSPorts.git
Git Branches:
master - Current release of packages.
next - changes staged for next release
pu - proposed updates for next release
xx/yy+ - branch for testing new changes before merging to 'pu' branch