9f47acbd604e4c51021733c8f2856f51b84fc3cc
[platform/core/csapi/system-settings.git] / packaging / csapi-systemsettings.spec
1 %define dllpath %{_libdir}/mono/tizen
2 %define dllname Tizen.System.SystemSettings.dll
3
4 Name:       csapi-systemsettings
5 Summary:    Tizen System API for C#
6 Version:    1.0.0
7 Release:    1
8 Group:      Development/Libraries
9 License:    Apache-2.0
10 URL:        https://www.tizen.org
11 Source0:    %{name}-%{version}.tar.gz
12 Source1:    %{name}.manifest
13 Source2:    %{name}.pc.in
14
15 # TODO: replace mono-compiler, mono-devel to mcs, mono-shlib-cop
16 BuildRequires: mono-compiler
17 BuildRequires: mono-devel
18 # TODO: replace mono-core to gacutil.
19 #       mono-core should provide the symbol 'gacutil'
20 Requires(post): mono-core
21 Requires(postun): mono-core
22
23 # P/Invoke Dependencies
24 BuildRequires: pkgconfig(capi-system-system-settings)
25
26 # P/Invoke Runtime Dependencies
27 # TODO: It should be removed after fix tizen-rpm-config
28 Requires: pkgconfig(capi-system-system-settings)
29 # DLL Dependencies
30 BuildRequires : pkgconfig(csapi-tizen)
31
32 %description
33 Tizen System Device API for C#
34
35 %package devel
36 Summary:    Development package for %{name}
37 Group:      Development/Libraries
38 Requires:   %{name} = %{version}-%{release}
39
40 %description devel
41 Development package for %{name}
42
43 %prep
44 %setup -q
45
46 cp %{SOURCE1} .
47
48 %build
49 # build dll
50 mcs -target:library -out:%{dllname} -keyfile:Tizen.System.SystemSettings/Tizen.System.SystemSettings.snk -pkg:csapi-tizen \
51   Tizen.System.SystemSettings/Properties/AssemblyInfo.cs \
52   Tizen.System.SystemSettings/SystemSettings.cs \
53   Tizen.System.SystemSettings/SystemSettingsEnums.cs \
54   Tizen.System.SystemSettings/SystemSettingsEventArgs.cs \
55   Tizen.System.SystemSettings/SystemSettingsExceptionFactory.cs \
56   Tizen.System.SystemSettings/Interop/Interop.Settings.cs
57
58 # check p/invoke
59 if [ -x %{dllname} ]; then
60   RET=`mono-shlib-cop %{dllname}`; \
61   CNT=`echo $RET | grep -E "^error:" | wc -l`; \
62   if [ $CNT -gt 0 ]; then exit 1; fi
63 fi
64
65 %install
66 # copy dll
67 mkdir -p %{buildroot}%{dllpath}
68 install -p -m 644 %{dllname} %{buildroot}%{dllpath}
69
70 # generate pkgconfig
71 mkdir -p %{buildroot}%{_libdir}/pkgconfig
72 sed -e "s#@version@#%{version}#g" \
73     -e "s#@dllpath@#%{dllpath}#g" \
74     -e "s#@dllname@#%{dllname}#g" \
75     %{SOURCE2} > %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
76
77 %post
78 gacutil -i %{dllpath}/%{dllname}
79
80 %files
81 %{dllpath}/%{dllname}
82
83 %files devel
84 %{_libdir}/pkgconfig/%{name}.pc