]> git.pld-linux.org Git - packages/kBuild.git/blame - kBuild.spec
- updated to r3598
[packages/kBuild.git] / kBuild.spec
CommitLineData
03adcd7a
ER
1#
2# Conditional build:
a4934156 3%bcond_with bootstrap # build boostrap
e6257564 4%bcond_without verbose # disable verbose build
03adcd7a 5
67809d62 6%define ver 0.1.9998
98c384d2 7%define svnrev 3598
7395c18c 8Summary: A cross-platform build environment
a4934156 9Summary(pl.UTF-8): Wieloplatformowe środowisko budowania
7395c18c 10Name: kBuild
67809d62 11Version: %{ver}.%{svnrev}
2bc0bd04 12Release: 1
7395c18c
ER
13Group: Development/Tools
14# Most tools are from NetBSD, some are from FreeBSD, and make and sed are from GNU
15License: BSD and GPL v2+
937b464e 16Source0: %{name}-r%{svnrev}.tar.bz2
98c384d2 17# Source0-md5: 902991c327b2cc93cc6da642e70a08e2
937b464e 18Source1: get-source.sh
7395c18c 19Patch0: %{name}-0.1.3-escape.patch
2bc0bd04
JP
20Patch1: %{name}-0.1.5-pthread.patch
21Patch2: x32.patch
22Patch3: %{name}-bison.patch
98c384d2 23Patch4: quote-defs.patch
6e59f9ac 24URL: http://svn.netlabs.org/kbuild
7395c18c 25BuildRequires: acl-devel
a4934156 26BuildRequires: bison
7395c18c 27BuildRequires: flex
52eeae26 28%if %{with bootstrap}
a4934156
JB
29BuildRequires: autoconf >= 2.59
30BuildRequires: automake >= 1:1.9
31BuildRequires: gettext-tools >= 0.14
32BuildRequires: texinfo >= 4.0
52eeae26
ER
33%else
34BuildRequires: kBuild
35%endif
7395c18c
ER
36BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
1a03cdc2 38%ifarch %{x8664} x32
937b464e
ER
39%define kbuild_arch amd64
40%else
41%define kbuild_arch x86
42%endif
43
7395c18c
ER
44%description
45This is a GNU make fork with a set of scripts to simplify complex
46tasks and portable versions of various UNIX tools to ensure
47cross-platform portability.
48
d10babce 49The goals of the kBuild framework:
77f5dc2f 50- Similar behavior across all supported platforms
d10babce
ER
51- Flexibility, don't create unnecessary restrictions preventing ad-hoc
52 solutions
53- Makefiles can be simple to write and maintain
54- One configuration file for a subtree automatically included
55- Target configuration templates as the primary mechanism for makefile
56 simplification
57- Tools and SDKs for helping out the templates with flexibility
58- Non-recursive makefile method by using sub-makefiles
7395c18c 59
a4934156
JB
60%description -l pl.UTF-8
61Ten pakiet to odgałęzienie GNU make'a wraz z zestawem skryptów
62upraszczających złożone zadania oraz przenośnych wersji różnych
63narzędzi uniksowych w celu zapewnienia przenośności na wiele platform.
64
65Cele środowiska kBuild to:
66- podobne zachowanie na wszystkich obsługiwanych platformach
67- elastyczność, unikanie niepotrzebnych ograniczeń blokujących
68 rozwiązania doraźne
69- proste do napisania i utrzymania pliki Makefile
70- automatyczne dołączanie jednego pliku konfiguracyjnego na poddrzewo
71- szablony konfiguracji docelowej jako główny mechanizm upraszczający
72 pliki Makefile
73- narzędzia i SDK wspomagające szablony elastycznością
74- nierekurencyjny system wykorzystujący podpliki Makefile
75
7395c18c 76%prep
d4a5e87a
ER
77%setup -qc
78mv %{name} .tmp; mv .tmp/* .
7395c18c
ER
79%patch0 -p1
80%patch1 -p1
81%patch2 -p1
3ae532bd 82%patch3 -p1
98c384d2 83%patch4 -p1
7395c18c 84
253d6e7b
ER
85cat > SvnInfo.kmk << EOF
86KBUILD_SVN_REV := %{svnrev}
87KBUILD_SVN_URL := http://svn.netlabs.org/repos/kbuild/trunk
88EOF
89
937b464e
ER
90%{__sed} -i -e 's@_LDFLAGS\.%{kbuild_arch}*.*=@& %{rpmldflags}@g' Config.kmk
91
1a03cdc2
ER
92%ifarch x32
93# probably should add full x32 configuration
94# but can't find place to submit code upstream, so this will do for now.
95# but then again, forcing -m64 is bad and pointless
96sed -i -e 's/-m64//' kBuild/tools/GCC64.kmk kBuild/tools/GXX64.kmk tests/Config.kmk Config.kmk
97%endif
98
7395c18c 99%build
e6257564
ER
100%define bootstrap_mflags %{?_smp_mflags} %{?with_verbose:KBUILD_VERBOSE=2} \\\
101 CC="%{__cc}" TOOL_GCC3_CC="%{__cc}" CFLAGS="%{rpmcflags}"
102
103%define mflags %{bootstrap_mflags} \\\
104 NIX_INSTALL_DIR=%{_prefix} \\\
105 BUILD_TYPE=release \\\
106 MY_INST_MODE=0644 \\\
7395c18c
ER
107 MY_INST_BIN_MODE=0755
108
03adcd7a 109ver=$(awk '/^KBUILD_VERSION =/{print $3}' Config.kmk)
67809d62 110test "$ver" = %{ver}
03adcd7a 111
e6257564 112%if %{with bootstrap}
7395c18c 113cd src/kmk
7395c18c
ER
114%{__aclocal} -I config
115%{__autoconf}
116%{__autoheader}
117%{__automake}
937b464e 118cd ../sed
a4934156 119%{__gettextize}
937b464e
ER
120%{__aclocal} -I config
121%{__autoconf}
122%{__autoheader}
123%{__automake}
124cd ../..
7395c18c
ER
125
126kBuild/env.sh --full \
a4934156
JB
127 %{__make} -f bootstrap.gmk %{bootstrap_mflags} \
128 AUTORECONF=:
e6257564
ER
129
130kBuild/env.sh kmk clean
03adcd7a 131%endif
7395c18c 132
e6257564
ER
133kBuild/env.sh kmk %{mflags} all \
134 PATH_INS=$RPM_BUILD_ROOT
7395c18c
ER
135
136%install
137rm -rf $RPM_BUILD_ROOT
7395c18c
ER
138kBuild/env.sh kmk %{mflags} install \
139 PATH_INS=$RPM_BUILD_ROOT
140
141# These are included later in files section
142%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
143
144%clean
145rm -rf $RPM_BUILD_ROOT
146
147%files
148%defattr(644,root,root,755)
776fed43 149%doc ChangeLog
7395c18c 150%doc kBuild/doc/COPYING-FDL-1.3 kBuild/doc/QuickReference*
98c384d2 151%attr(755,root,root) %{_bindir}/bld_signames
7395c18c
ER
152%attr(755,root,root) %{_bindir}/kDepIDB
153%attr(755,root,root) %{_bindir}/kDepObj
154%attr(755,root,root) %{_bindir}/kDepPre
155%attr(755,root,root) %{_bindir}/kObjCache
156%attr(755,root,root) %{_bindir}/kmk
157%attr(755,root,root) %{_bindir}/kmk_append
158%attr(755,root,root) %{_bindir}/kmk_ash
159%attr(755,root,root) %{_bindir}/kmk_cat
160%attr(755,root,root) %{_bindir}/kmk_chmod
161%attr(755,root,root) %{_bindir}/kmk_cmp
162%attr(755,root,root) %{_bindir}/kmk_cp
163%attr(755,root,root) %{_bindir}/kmk_echo
164%attr(755,root,root) %{_bindir}/kmk_expr
165%attr(755,root,root) %{_bindir}/kmk_gmake
166%attr(755,root,root) %{_bindir}/kmk_install
167%attr(755,root,root) %{_bindir}/kmk_ln
168%attr(755,root,root) %{_bindir}/kmk_md5sum
169%attr(755,root,root) %{_bindir}/kmk_mkdir
170%attr(755,root,root) %{_bindir}/kmk_mv
171%attr(755,root,root) %{_bindir}/kmk_printf
172%attr(755,root,root) %{_bindir}/kmk_redirect
173%attr(755,root,root) %{_bindir}/kmk_rm
174%attr(755,root,root) %{_bindir}/kmk_rmdir
175%attr(755,root,root) %{_bindir}/kmk_sed
176%attr(755,root,root) %{_bindir}/kmk_sleep
177%attr(755,root,root) %{_bindir}/kmk_test
178%attr(755,root,root) %{_bindir}/kmk_time
43f7230e 179%attr(755,root,root) %{_bindir}/kmk_touch
7395c18c
ER
180%dir %{_datadir}/%{name}
181%{_datadir}/%{name}/*.kmk
182%dir %{_datadir}/%{name}/msgstyles
183%{_datadir}/%{name}/msgstyles/*.kmk
184%dir %{_datadir}/%{name}/sdks
185%{_datadir}/%{name}/sdks/*.kmk
186%dir %{_datadir}/%{name}/templates
187%{_datadir}/%{name}/templates/*.kmk
188%dir %{_datadir}/%{name}/tools
189%{_datadir}/%{name}/tools/*.kmk
190%dir %{_datadir}/%{name}/units
191%{_datadir}/%{name}/units/*.kmk
This page took 0.136987 seconds and 4 git commands to generate.