README.md
author Dirk Zimmermann <dirk@pep-project.org>
Wed, 01 Aug 2018 09:16:45 +0200
changeset 5659 7981aa5dc7a8
parent 5641 3b81d1c4ff0f
child 5802 3835ef0ecb59
child 6602 49a710f3dc33
permissions -rw-r--r--
IOS-1197 more repos to gitlab
     1 # How to build
     2 
     3 ## Prerequisites
     4 
     5 ### Package managers
     6 
     7 MacPorts for installing all dependencies:
     8 
     9 Install [MacPorts](https://www.macports.org/) for your
    10 [version of OS X/macOS](https://www.macports.org/install.php).
    11 
    12 ### Dependencies of prerequisites
    13 
    14 For building the engine, you need a working python2 environment
    15 and all dependencies:
    16 
    17 ```
    18 sudo port install python27
    19 sudo port install asn1c
    20 sudo port install py27-lxml
    21 
    22 sudo port install python_select
    23 sudo port select python python27
    24 
    25 sudo port install autoconf
    26 sudo port install libtool
    27 sudo port install automake
    28 ```
    29 
    30 ### Other dependecies
    31 
    32 #### pEpEngine: [yml2](https://fdik.org/yml/toolchain)
    33 
    34 Clone into your home directory:
    35 
    36 ```
    37 pushd ~
    38 hg clone https://pep.foundation/dev/repos/yml2/
    39 popd
    40 ```
    41 
    42 ## Setup instructions
    43 
    44 ```
    45 mkdir ~/src
    46 cd ~/src
    47 
    48 git clone https://pep-security.lu/gitlab/misc/ldns/
    49 git clone https://github.com/fdik/libetpan.git
    50 git clone https://pep-security.lu/gitlab/iOS/OpenSSL-for-iPhone.git
    51 git clone https://pep-security.lu/gitlab/iOS/SwipeCellKit.git/
    52 git clone https://pep-security.lu/gitlab/iOS/AppAuth-iOS.git
    53 
    54 hg clone https://pep.foundation/dev/repos/pantomime-iOS/
    55 hg clone https://pep.foundation/dev/repos/netpgp-et
    56 hg clone https://pep.foundation/dev/repos/pEpEngine
    57 hg clone https://pep.foundation/dev/repos/pEpObjCAdapter
    58 hg clone https://pep.foundation/dev/repos/MessageModel/
    59 hg clone https://pep.foundation/dev/repos/libAccountSettings/
    60 
    61 hg clone https://pep-security.ch/dev/repos/pEp_for_iOS/
    62 ```
    63 
    64 ### Build Project
    65 
    66 Open pEpForiOS.xcworkspace and build schema "pEp".
    67 
    68 ### Unit Tests
    69 
    70 The non-existing file referenced in the unit test project, ./pEpForiOSTests/TestUtil/SecretTestData.swift, must be
    71 created, with a class named SecretTestData, derived from TestDataBase. Override populateAccounts().
    72 
    73 The tests will not compile without a syntactically correct SecretTestData.swift that inherits from TestDataBase.
    74 
    75 ### UI Tests
    76 
    77 There is a file referenced in the UI test project, UITestData. You need to create it
    78 (./pEpForiOSUITests/SecretUITestData.swift), and implement it according to the protocol UITestDataProtocol.
    79 
    80 The UI tests will not compile without it.
    81 
    82 ### secret.xcconfig (needed for OAuth2 config secrects and others)
    83 
    84 Create secret.xcconfig @ pEpForiOS/secret.xcconfig, with those contents:
    85 
    86 ```
    87 OAUTH2_GMAIL_CLIENT_ID = some_content
    88 OAUTH2_GMAIL_REDIRECT_URL_SCHEME = some_content
    89 
    90 OAUTH2_YAHOO_CLIENT_ID = some_content
    91 OAUTH2_YAHOO_CLIENT_SECRET = some_content
    92 
    93 ```