21668f9858071e28bf794c30fa387c547d2dad6b
[framework/web/webkit-efl.git] / packaging / webkit2-efl.spec
1 Name: webkit2-efl
2 Summary: Webkit2 EFL
3 Version: 123997_0.11.111
4 Release: 1
5 Group: Applications/Internet
6 License: LGPLv2.1 or BSD
7 Source0: %{name}-%{version}.tar.gz
8
9 Requires(post): /sbin/ldconfig
10 Requires(post): xkeyboard-config
11 Requires(postun): /sbin/ldconfig
12
13 BuildRequires: cmake, edje-bin, embryo-bin, python, bison, flex, gperf, libjpeg-turbo-devel, perl, gettext, ruby
14 BuildRequires: pkgconfig(cairo)
15 BuildRequires: pkgconfig(capi-network-connection)
16 BuildRequires: pkgconfig(capi-telephony-network-info)
17 BuildRequires: pkgconfig(dlog)
18 BuildRequires: pkgconfig(ecore)
19 BuildRequires: pkgconfig(ecore-evas)
20 BuildRequires: pkgconfig(ecore-file)
21 BuildRequires: pkgconfig(edbus)
22 BuildRequires: pkgconfig(edje)
23 BuildRequires: pkgconfig(efl-assist)
24 BuildRequires: pkgconfig(eina)
25 BuildRequires: pkgconfig(elementary)
26 BuildRequires: pkgconfig(evas)
27 BuildRequires: pkgconfig(feedback)
28 BuildRequires: pkgconfig(fontconfig)
29 BuildRequires: pkgconfig(freetype2)
30 BuildRequires: pkgconfig(glib-2.0)
31 BuildRequires: pkgconfig(gstreamer-0.10)
32 BuildRequires: pkgconfig(gstreamer-plugins-base-0.10)
33 BuildRequires: pkgconfig(harfbuzz)
34 BuildRequires: pkgconfig(icu-i18n)
35 BuildRequires: pkgconfig(libmedia-utils)
36 BuildRequires: pkgconfig(libsoup-2.4)
37 BuildRequires: pkgconfig(openssl)
38 BuildRequires: pkgconfig(libxml-2.0)
39 BuildRequires: pkgconfig(libxslt)
40 BuildRequires: pkgconfig(location)
41 BuildRequires: pkgconfig(mmutil-imgp)
42 BuildRequires: pkgconfig(mmutil-jpeg)
43 BuildRequires: pkgconfig(mm-session)
44 BuildRequires: pkgconfig(mm-sound)
45 BuildRequires: pkgconfig(sqlite3)
46 BuildRequires: pkgconfig(utilX)
47 BuildRequires: pkgconfig(vconf)
48 BuildRequires: pkgconfig(xt)
49 BuildRequires: pkgconfig(capi-appfw-application)
50 BuildRequires: pkgconfig(leveldb)
51 BuildRequires: pkgconfig(capi-location-manager)
52 BuildRequires: pkgconfig(capi-system-sensor)
53 BuildRequires: pkgconfig(capi-system-device)
54 BuildRequires: pkgconfig(ui-gadget-1)
55 BuildRequires: pkgconfig(xext)
56 BuildRequires: pkgconfig(libavcodec)
57 BuildRequires: pkgconfig(gles20)
58 BuildRequires: pkgconfig(tts)
59 BuildRequires: pkgconfig(capi-system-power)
60 BuildRequires: pkgconfig(capi-system-info)
61 BuildRequires: pkgconfig(libsmack)
62 BuildRequires: libcap, libcap-devel
63
64
65 %description
66 Browser Engine based on Webkit2 EFL (Shared Library)
67
68 %package devel
69 Summary: Webkit2 EFL
70 Group: Development/Libraries
71 Requires: %{name} = %{version}-%{release}
72 %description devel
73 Browser Engine dev library based on Webkit EFL (developement files)
74
75 %prep
76 %setup -q
77
78 %build
79
80 # Temporary workaround
81 %ifarch %{arm}
82 export CFLAGS="$(echo $CFLAGS | sed 's/-mfpu=[a-zA-Z0-9-]*/-mfpu=neon/g')"
83 export CXXFLAGS="$(echo $CXXFLAGS | sed 's/-mfpu=[a-zA-Z0-9-]*/-mfpu=neon/g')"
84 export FFLAGS="$(echo $FFLAGS | sed 's/-mfpu=[a-zA-Z0-9-]*/-mfpu=neon/g')"
85 %else
86 export CFLAGS="$(echo $CFLAGS | sed 's/-Wl,--as-needed//g')"
87 export CXXFLAGS="$(echo $CXXFLAGS | sed 's/-Wl,--as-needed//g')"
88 %endif
89
90 %if 0%{?nodebug}
91 CFLAGS=$(echo $CFLAGS " " | sed 's/ -g / /g')
92 CXXFLAGS=$(echo $CXXFLAGS " " | sed 's/ -g / /g')
93 %endif
94
95 %ifarch %{arm}
96 %define EFL_TARGET arm
97 %else
98 %if 0%{?simulator}
99 %define EFL_TARGET emulator
100 %else
101 %define EFL_TARGET i386
102 %endif
103 %endif
104
105 export SOURCE_DIR="$PWD"
106 export WEBKIT_BUILD_DIR=%{WEBKIT_BUILD_DIR}
107 if [ -z "$WEBKIT_BUILD_DIR" -o "{WEBKIT_BUILD_DIR}" == "${WEBKIT_BUILD_DIR#%}" ]
108 then
109     export WEBKIT_BUILD_DIR="BuildWK2-%{EFL_TARGET}"
110 fi
111 export TIZEN_WEBKIT_EXTRA_OPTIONS=%{TIZEN_WEBKIT_EXTRA_OPTIONS}
112 if [ "{TIZEN_WEBKIT_EXTRA_OPTIONS}" == "${TIZEN_WEBKIT_EXTRA_OPTIONS#%}" ]
113 then
114     export TIZEN_WEBKIT_EXTRA_OPTIONS=
115 fi
116
117 mkdir -p $WEBKIT_BUILD_DIR
118 cd $WEBKIT_BUILD_DIR
119
120 export MAKE_OPTION=%{MAKE_OPTION}
121 if [ "{MAKE_OPTION}" == "${MAKE_OPTION#%}" ]
122 then
123     cmake $SOURCE_DIR -DPORT=Efl -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DENABLE_WEBKIT=Off -DENABLE_WEBKIT2=On -DENABLE_ALLINONE=On -DEFL_TARGET=%{EFL_TARGET} -DDefaultTheme_RESOURCE_NAME=webkit.edj $TIZEN_WEBKIT_EXTRA_OPTIONS
124     make %{?jobs:-j%jobs}
125 else
126     make %{MAKE_OPTION} %{?jobs:-j%jobs}
127 fi
128
129 %install
130 rm -rf %{buildroot}
131 mkdir -p %{buildroot}/usr/share/license
132 cp LICENSE %{buildroot}/usr/share/license/%{name}
133
134 export WEBKIT_BUILD_DIR=%{WEBKIT_BUILD_DIR}
135 if [ -z "$WEBKIT_BUILD_DIR" -o "{WEBKIT_BUILD_DIR}" == "${WEBKIT_BUILD_DIR#%}" ]
136 then
137     export WEBKIT_BUILD_DIR="BuildWK2-%{EFL_TARGET}"
138 fi
139
140 cd $WEBKIT_BUILD_DIR
141 %make_install
142 mkdir -p %{buildroot}/usr/share/edje
143
144 %post
145 #!/bin/sh
146 #change file permissions
147 # 1. libraries
148 chmod 644 %{_libdir}/libewebkit2.so
149 # 2. Resources
150 chmod 644 /usr/share/edje/webkit.edj
151 # 3. executables
152 setfattr -n security.capability -v 0sAQAAAgAAAAAAAAAAAAAAAAIAAAA= %{_bindir}/WebProcess
153 setfattr -n security.capability -v 0sAQAAAgAAAAAAAAAAAAAAAAIAAAA= %{_bindir}/PluginProcess
154
155 %postun
156
157 %files
158 %manifest %{name}.manifest
159 %defattr(-,root,root,-)
160 %{_libdir}/*.so*
161 %{_bindir}/*
162 /usr/share/*
163 /usr/share/license/%{name}
164
165 %files devel
166 %defattr(-,root,root,-)
167 %{_includedir}/*
168 %{_libdir}/pkgconfig/*