summaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
authorAndrew Williams <andy@andywilliams.me>2018-01-05 07:57:19 -0800
committerapache <apache@e5-web1.enlightenment.org>2018-01-05 07:57:19 -0800
commit0e1b2f5ec535e7f4854d0dd859831f0f1d09d788 (patch)
treeb9682eb1d5db5fe1ddbe072e73de9ad3cf31c159 /pages
parent1875029eb0a9502329245d8bba03355a8046e083 (diff)
Wiki page osx-start.md changed with summary [created] by Andrew Williams
Diffstat (limited to 'pages')
-rw-r--r--pages/develop/setup/c/opensuse.md.txt196
-rw-r--r--pages/docs/distros/osx-start.md.txt161
-rw-r--r--pages/docs/distros/osx-start.txt113
3 files changed, 161 insertions, 309 deletions
diff --git a/pages/develop/setup/c/opensuse.md.txt b/pages/develop/setup/c/opensuse.md.txt
deleted file mode 100644
index 5cb4e020c..000000000
--- a/pages/develop/setup/c/opensuse.md.txt
+++ /dev/null
@@ -1,196 +0,0 @@
1---
2~~Title: Installing EFL on openSUSE ~~
3---
4
5# Installing EFL on openSUSE #
6
7[The *Enlightenment Foundation Libraries (EFL)*](/about-efl.md) power millions of systems from mobile phones to set-top boxes, desktops, laptops, game systems and more. You'll need EFL if you want to develop apps for Enlightenment and for any of the devices that use Enlightenment for its visual interface.
8
9This tutorial describes several ways to install EFL on your system. You will only need to use one of these. Select your chosen method using the index on the right.
10
11Many distributions offer EFL as an installable package from their default repositories. In this case you only need to use your distribution's software management system to install. However most versions of EFL in default repositories are out of date and will not compile more recent Enlightenment applications. If this is not an issue for you, read through the ["From Distribution Repositories"](#From_Distribution_Repositories) section below.
12
13Distributions often provide a special repository maintained by users or a method of integrating a bleeding edge version of EFL with your software management system. This means that once installed you can keep EFL current just by running system updates. If your distribution offers this, take a look at the section ["Installing from a Special Repository"](#Installing_from_a_Special_Repository).
14
15The Enlightenment developers provide a pre-packaged source of EFL. Although not bleeding edge it is up to date and considered stable for production environments. You can download, compile and install it yourself by following the instructions in ["Installing from Packaged Source"](#Installing_from_Packaged_Source).
16
17You can also download the source code for the most recent version from the EFL git repositories. This will provide you with the latest code, which is updated on a nightly basis. To get started, read the section ["Installing from Git"](#Installing_from_Git).
18
19Whichever installation method you use, visit ["Compiling EFL Applications"](#Compiling_EFL_Applications) to discover how to compile your Enlightenment applications.
20
21## From Distribution Repositories ##
22
23openSUSE happens to have quite a good support for EFL and you can install all the items you need from openSUSE's official repository:
24
25```bash
26sudo zypper efl
27```
28
29This will give you a working EFL installation.
30
31However, the version in openSUSE's official repositories may lag behind the latest version of EFL and give you problems when trying to compile examples from tutorials in this documentation. If this is the case, it is advised you install a more recent version of EFL following one of the methods below.
32
33## Installing from a Special Repository ##
34
35You can also install the latest EFL using a special repository. Add it to your regular repositories with:
36
37```bash
38sudo zypper ar https://download.opensuse.org/repositories/X11:/Enlightenment:/Nightly/openSUSE_Tumbleweed/x86_64/ Enlightenment_Nightly
39```
40Refresh your repositories:
41
42```bash
43sudo zypper ref
44```
45
46And then install EFL and its development libraries:
47
48```bash
49sudo zypper in efl efl-devel
50```
51Note that the version in the Nightly repositories may lag behind the official Nightly by about 24 hours. This shouldn't be a big deal in most circumstances.
52
53## Installing from Packaged Source ##
54
55There are two versions available form the Enlightenment website. One is a packaged and available from the [EFL's download site](https://download.enlightenment.org/rel/libs/efl/). The other is the nightly bleeding edge version which you can [download using git](#Installing_from_Git). This section deals with installing with the packaged version available from the [EFL's download site](https://download.enlightenment.org/rel/libs/efl/).
56
57### Step 1: Downloading Stable Version ###
58
59[Download the latest version of EFL](https://download.enlightenment.org/rel/libs/efl/) and check it against its SHA256 hash:
60
61```bash
62wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz
63wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz.sha256
64cat efl-X.XX.X.tar.xz.sha256; sha256sum efl-X.XX.X.tar.xz
65```
66
67Note that you will have to change ``X.XX.X`` for the actual version of EFL.
68
69### Step 2: Unpacking ###
70
71Once you have the archive file containing EFL in your hard disk, unpack it with:
72
73```bash
74tar xvf efl-X.XX.X.tar.xz
75```
76
77This will produce a folder called *efl-X.XX.X*.
78
79### Step 3: Installing Dependencies ###
80
81Before you can compile and install EFL, you will have to install some software packages EFL needs:
82
83```bash
84sudo zypper in gcc gcc-c++ doxygen libopenssl-devel systemd-devel libjpeg62-devel glib2-devel gstreamer-devel lua51-luajit-devel freetype2-devel fontconfig-devel fribidi-devel xorg-x11-devel giflib-devel libpng16-compat-devel libtiff-devel libpoppler-devel libspectre-devel libraw-devel librsvg-devel libudev-devel libmount-devel dbus-1-devel libpulse-devel libsndfile-devel libbullet-devel gstreamer-plugins-base-devel check-devel
85```
86
87### Step 4: Building and Installing ###
88
89Once you have installed all the packages EFL needs, ``cd`` into the *efl-X.XX.X* folder and run
90
91```bash
92./configure
93make
94sudo make install
95```
96
97This will configure the files needed for compiling, actually compile the software, and then install it.
98
99### Step 5: Carrying out Post Installation Tasks ###
100
101As you are not installing to */usr* but to */usr/local*, you will have to ensure that some files are visible to *dbus*:
102
103```bash
104sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service
105```
106
107You may also need to refresh your library path to make sure your apps can find the EFL libraries:
108
109```bash
110sudo ldconfig
111```
112
113## Installing from Git ##
114
115You can also get the bleeding edge version of EFL by cloning it from the git repository.
116
117### Step 1: Installing git and Cloning ###
118
119By default, *git* is not installed in openSUSE, so the first step is to install it:
120
121```bash
122sudo zypper install git
123```
124
125Next clone EFL's source code:
126
127```bash
128git clone https://git.enlightenment.org/core/efl.git
129```
130
131This will create a a directory called *efl/*.
132
133### Step 2: Installing Dependencies ###
134
135You will need to install some tools to build the configuration file:
136
137```bash
138sudo zypper in autoconf libtool gettext-tools
139```
140
141As well as the dependencies specific for EFL:
142
143```bash
144sudo zypper in gcc gcc-c++ doxygen libopenssl-devel systemd-devel libjpeg62-devel glib2-devel gstreamer-devel lua51-luajit-devel freetype2-devel fontconfig-devel fribidi-devel xorg-x11-devel giflib-devel libpng16-compat-devel libtiff-devel libpoppler-devel libspectre-devel libraw-devel librsvg-devel libudev-devel libmount-devel dbus-1-devel libpulse-devel libsndfile-devel libbullet-devel gstreamer-plugins-base-devel check-devel
145```
146
147### Step 3: Configuring the Software ###
148
149Now you can ``cd`` into the *efl\* directory and run the *autoreconf* script to create and configure the software ready for compilation:
150
151```bash
152./autogen.sh
153```
154
155Once configured, you can compile the software with:
156
157```bash
158make
159sudo make install
160```
161
162### Step 4: Carrying out Post Installation Tasks ###
163
164As you are not installing to */usr* but to */usr/local*, you will have to ensure that some files are visible to *dbus*:
165
166```bash
167sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service
168```
169
170You may also need to refresh your library path to make sure your apps can find the EFL libraries:
171
172```bash
173sudo ldconfig
174```
175
176## Compiling EFL Applications ###
177
178With EFL installed, you can start compiling the applications you write using Enlightenment technologies:
179
180```bash
181gcc -o your_app your_app.c `pkg-config --cflags --libs eina efl elementary`
182```
183
184Where ``your_app`` is the name of the app you want to build and ``your_app.c`` contains the source code of your application.
185
186If the compilation is successful, this will create an executable application called *your_app* in the directory. You can run this app like any other program.
187
188## Troubleshooting ##
189
190If you get errors when you compile the examples in this guide, you may be using an out of date version of EFL. Update your libraries installing from [EFL's git repository](#Installing_from_Git).
191
192If you are having problems compiling and installing EFL, you can come and seek advice on any of [our IRC channels](https://www.enlightenment.org/contact) or [post a ticket to our Phabricator](https://phab.enlightenment.org).
193
194## Installing on Other Operating Systems ##
195
196If you would like to install EFL on a different operating system visit the [Setting up a C Development Environment page](start.md). \ No newline at end of file
diff --git a/pages/docs/distros/osx-start.md.txt b/pages/docs/distros/osx-start.md.txt
new file mode 100644
index 000000000..7e575bfd5
--- /dev/null
+++ b/pages/docs/distros/osx-start.md.txt
@@ -0,0 +1,161 @@
1---
2~~Title: Installing EFL on macOS~~
3~~NOCACHE~~
4---
5
6# Installing EFL on macOS #
7
8> **NOTE:**
9> The Enlightenment (Desktop Manager) is not supported on macOS and there are no plans to do so in the near future. Please [contact us](https://www.enlightenment.org/contrib/start) if you'd like to help with this.
10
11[The *Enlightenment Foundation Libraries (EFL)*](/about-efl.md) power millions of systems from mobile phones to set-top boxes, desktops, laptops, game systems and more. You will need EFL if you want to develop apps for Enlightenment and for any of the devices that use Enlightenment for its visual interface.
12
13This tutorial describes two ways of installing EFL on your system. You will only need one so use the index on the right to navigate to the most useful method for you.
14
15The Enlightenment Foundation's projects mostly targets Linux platforms therefore not everything work on macOS works the first time. This is due to the specific requirements of macOS (kernel+userland) and the fact that there are very few 'Englightened' macOS users.
16
17This document explains how to install EFL using either the [Homebrew package manager](https://brew.sh/) or by building from source via git.
18
19Whichever installation method you use, read through the section on [Compiling EFL Applications](#Compiling_EFL_Applications) to find out more about building apps.
20
21## Install EFL with Homebrew ##
22
23Homebrew is an unofficial package manager for macOS which you can install a number of programs that aren't available in macOS by default.
24
25To install Homebrew open Terminal in macOS and run:
26
27```bash
28/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
29```
30
31The script will prompt you through the install process. Feel free to visit the [Homebrew website](https://docs.brew.sh/Installation.html) for more information on fine tuning the installation.
32
33Homebrew should run an update prior to installing any new software but double check this by running:
34
35```bash
36brew update
37```
38
39Next install EFL with:
40
41```bash
42brew install efl
43```
44
45The distributed version of EFL is [1.20.6](http://braumeister.org/formula/efl).
46
47## Installing from Git ##
48
49Installing EFL manually is broadly a three step process. Firstly you need to have the macOS *Command Line Tools (CLT)* installed on your system, then install the necessary software dependencies. You can then configure and compile the EFL source code.
50
51### Step 1: Install Command Line Tools ###
52
53If you've already installed [XCode](https://developer.apple.com/xcode/) via the Mac App Store, the command line tools are already embedded in the *Integrated Development Environment (IDE)*. Failing this, install the CLT by opening Terminal then run:
54
55```bash
56xcode-select --install
57```
58
59### Step 2: Installing Dependencies ###
60
61The easiest way to install the necessary software dependencies is to use a package manager like Homebrew. If you haven't already installed it do so now by opening Terminal and running:
62
63```bash
64/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
65```
66
67The script will prompt you through the install process. Feel free to visit the [Homebrew website](https://docs.brew.sh/Installation.html) for more information on fine tuning the installation.
68
69Homebrew should run an update prior to installing any new software but double check this by running:
70
71```bash
72brew update
73```
74
75Next install the dependencies with:
76
77```bash
78brew install autoconf automake libtool autoconf-archive gettext check pkg-config luajit jpeg freetype fribidi fontconfig giflib libtiff glib dbus libsndfile bullet libspectre libraw librsvg poppler gstreamer gst-plugins-good pulseaudio
79brew migrate dbus
80```
81If you're using a fresh install of macOS, create a 'LaunchAgents' folder for your own account if it doesn't exist already:
82
83```bash
84mkdir -p ~/Library/LaunchAgents
85```
86
87Next use ``launchctl`` to automatically start and stop ``dbus``:
88
89```bash
90ln -sfv /usr/local/opt/dbus/*.plist ~/Library/LaunchAgents
91launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
92```
93
94If you want to use ``gettext`` you'll also need ''autopoint'' to your ''$PATH'' your in '~/.profile' file or similar. If the file doesn't exist user ``nano`` to create it, for instance:
95
96```bash
97cd ~/
98nano .profile
99export PATH="$(brew --prefix gettext)/bin:$PATH"
100```
101
102### Step 3: Install and configure SSL ###
103
104Since El Capitan, Apple no longer distributes OpenSSL headers. Fortunately you can install OpenSSL manually via Homebrew:
105
106```bash
107brew install openssl
108brew link openssl --force
109```
110
111To add flags to '~/.bashrc' or similar use:
112
113```bash
114export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS"
115export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
116```
117
118### Step 4: Modify linker flags ###
119
120> **NOTE:**
121> This step is only necessary if you wish to build macOS App Bundles (.app).
122
123You can do this using 'osx-packager', which is a python package for generating App Bundles and/or .dmg files for easy distribution. To download, open Terminal and run:
124
125```bash
126git clone https://git.enlightenment.org/devs/jayji/osx-packager.git
127```
128For osx-packager to work properly, you must provide custom linker flags:
129
130```bash
131export LDFLAGS="-Wl,-headerpad_max_install_names ${LDFLAGS}"
132```
133
134### Step 5: Configuring the Software ###
135
136Now that you've installed all the required packages, you can download EFL itself directly from the git repository. Open Terminal and run:
137
138```bash
139git clone https://git.enlightenment.org/core/efl.git
140```
141
142This will create a a directory called *efl/*. Use ``cd`` to switch to the new directory, then compile EFL:
143
144```bash
145./autogen.sh --disable-cxx-bindings
146make -j $(nproc)
147```
148
149Finally, install EFL with:
150
151```bash
152sudo make -j $(nproc) install
153```
154
155## Troubleshooting ##
156
157If you are having problems compiling with installing EFL, you can also find help on any of [our IRC channels](https://www.enlightenment.org/contact) or [post a ticket to our Phabricator](https://phab.enlightenment.org).
158
159## Installing on Other Operating Systems ##
160
161If you would like to install EFL on a different operating system visit the [Setting up a C Development Environment page](start.md).
diff --git a/pages/docs/distros/osx-start.txt b/pages/docs/distros/osx-start.txt
deleted file mode 100644
index 63c071502..000000000
--- a/pages/docs/distros/osx-start.txt
+++ /dev/null
@@ -1,113 +0,0 @@
1~~Title: EFL on Mac OS X~~
2
3<note warning>
4If you are coming here for Enlightenment (the desktop manager) on Mac OS X... sorry but Enlightenment is not supported on Mac OS X... and it is not planned in a near future (but any help is very welcomed).
5</note>
6
7The Enlightenment Foundation's projects mostly targets Linux platforms, therefore not everything work on Mac OS X works the first time. This is due to:
8 * the specificities of the Operating System (kernel+userland);
9 * the fact there are a very few Enlightened OS X users :-\
10
11This document explains how to install the EFL which are key projects to install anything else made by the Enlightenment Foundation.
12
13
14====== Mac OS X Homebrew Packages (for EFL USERS) ======
15
16Homebrew is a package manager for Mac OS X. See at http://brew.sh how to install Homebrew if it isn't already installed.
17Then, just execute:
18
19<code bash>
20brew update # To make sure you have the latest versions
21brew install efl # To install EFL
22</code>
23
24And that's it! Enjoy your freshly distributed EFL :-).
25The distributed version of EFL is [[http://braumeister.org/formula/efl|1.20.4]].
26
27
28====== Manual Installation (for EFL DEVELOPERS) ======
29
30===== Setting up the environment =====
31
32You need to have the OS X CLT (Command-Line Tools) first, then install the EFL dependancies. The easiest way is by using a package manager. [[http://brew.sh|Homebrew]] is assumed to be the package manager.
33
34<note important>
35The CTL are not bundled with Xcode. Don't assume that they are installed if Xcode is installed.
36</note>
37
38To install the CTL, you should process as it follows:
39 * download the latest version of Xcode on the Mac App Store;
40 * run ''xcode-select --install'' in a terminal to install the CLT.
41
42
43If you want to have the very latest version of EFL, here is the procedure:
44 * install the dependancies;
45 * configure the source;
46 * compile the sources and install them.
47
48===== Dependancies with Homebrew =====
49
50<code bash>
51brew install autoconf automake libtool autoconf-archive gettext check pkg-config luajit jpeg freetype fribidi fontconfig giflib libtiff glib dbus libsndfile bullet libspectre libraw librsvg poppler gstreamer gst-plugins-good pulseaudio
52brew migrate dbus
53mkdir -p ~/Library/LaunchAgents
54ln -sfv /usr/local/opt/dbus/*.plist ~/Library/LaunchAgents
55launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
56</code>
57
58You need to add ''autopoint'' to your ''$PATH'' if you want to use gettext. Write the line below in your ''$HOME/.profile'' or similar file.
59
60<code bash>
61export PATH="$(brew --prefix gettext)/bin:$PATH"
62</code>
63
64===== OpenSSL handling =====
65
66Since Mac OS X El Capitan, Apple does not distribute OpenSSL headers anymore.
67It is necessary to install OpenSLL manually through homebrew:
68
69<code bash>
70brew install openssl
71brew link openssl --force
72</code>
73
74and to add flags to your bashrc (or equivalent):
75
76<code bash>
77export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS"
78export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
79</code>
80
81===== Modifying your linker flags =====
82
83<note>
84This step is **required** if you wish to build Mac OS X App Bundles (i.e. ''.app''). Otherwise, you can safely ignore this section.
85</note>
86
87''osx-packager'' is a python package initially developed at Open Wide to
88generate App Bundles and/or DMG files for easy distribution.
89It is available at [[https://git.enlightenment.org/devs/jayji/osx-packager.git]].
90
91To make it work, you **MUST** provide custom linker flags:
92
93<code bash>
94export LDFLAGS="-Wl,-headerpad_max_install_names ${LDFLAGS}"
95</code>
96
97===== Configuring, Building and Installing EFL =====
98
99Installing dependancies on OS X is painful, but now you did it (congrats'), you can grab the sources from the git repository:
100
101<code bash>
102git clone https://git.enlightenment.org/core/efl.git # Get the sources
103cd efl # Go to repository you cloned
104./autogen.sh --disable-cxx-bindings
105make -j $(nproc) # Compile
106sudo make -j $(nproc) install # Install
107</code>
108
109
110======= Additional Resources =======
111
112 * Enlightenment Developer Days 2016 Slides (EFL & Mac OS X slides): https://phab.enlightenment.org/F36470.
113 * Internal Wiki Page. Contains “legacy” information: https://phab.enlightenment.org/w/osx/. \ No newline at end of file