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.1
6. Quick Start for Xcode 3.2
7. Maintainers
8. Community
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.2.3
Mac OS X 10.7.1
Xcode 4.1
iOS SDK 4.3
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
Depends Upon: security/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
Depends Upon: n/a
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
Depends Upon: security/cyrus-sasl
Desciption: A port of OpenLDAP client library to the iOS platform.
OpenSSL
Location: ports/security/openssl
Depends Upon: n/a
Description: A port of OpenSSL's SSL/TLS and Crypto toolkit to the iPhone
platform (iOS).
PCRE
Location: ports/devel/pcre
Depends Upon: n/a
Description: A port of PCRE (Perl Compatible Regular Expressions) to the
iOS platform (iPhone).
Quick Start for Xcode 4.1
=========================
Needs to be written.
Quick Start for Xcode 3.2
=========================
Disclaimer:
I wrote this in five minutes. More documentation will be following over
the next month or two. If you would like to assist with documentation
and tutorials, please contact David M. Syzdek <[email protected]>.
Assumptions:
- You understand basic use and navigation of the Xcode interface.
- You understand basic concepts behind static libraries and header files.
- You are using the software listed in the "Required Software" section.
- iOSPorts has been downloaded to /Users/syzdek/development/com.bindlebinaries/iOSPorts
(Change the above path to the location you downloaded iOSPorts)
1) Open your project in Xcode.
2) Open the project settings. From the menubar:
Project -> Edit Project Settings
3) Open the "Build" tab. Search for "Header Search Paths", Add the following:
/Users/syzdek/development/com.bindlebinaries/iOSPorts/include
This step instructs Xcode where to look for include headers when using
libraries from iOSPorts.
4) Add the required iOSPorts Xcode project files to your project by using
the wizard found on the menubar:
Project -> Add To Project...
5) Open the target settings for your application (double click on the
target).
6) Open the "General" tab. Add iOSPorts dependencies by clicking the '+'
button below the "Direct Dependencies" panel and then selecting the
libraries from the drop down window.
7) Link the libraries to your target. From the "Groups & Files" panel in
Xcode's main window, drag the libraries from the iOSPorts Xcode projects
to the "Link Binary with Libraries" group within your target.
Your application should now be linked against the iOSPorts libraries you
setup.
Please note that since the iOS SDK does not allow creating shared libraries
for the iOS platform, you must also link all required dependent libraries.
For instance, to use libldap.a and liblber.a from OpenLDAP, you must also
link libsasl2.a from Cyrus SASL, libssl.a from OpenSSL, and libcrypto.a from
OpenSSL. The dependencies are listed in the packages list above.
An example application using iOS Ports is available from:
https://github.com/bindle/iOSPortsExample
Maintainers
===========
David M. Syzdek
Bindle Binaries
[email protected]
Community
=========
Mailing List:
[email protected]
https://lists.bindlebinaries.com/mailman/listinfo/ios-ports
Wiki:
https://github.com/bindle/iOSPorts/wiki
Issue Tracking:
https://github.com/bindle/iOSPorts/issues
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