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