]> git.pld-linux.org Git - packages/kBuild.git/blobdiff - kBuild.spec
x32 build fixes
[packages/kBuild.git] / kBuild.spec
index f6b76cf170790ef082c7cada755d89de0ff2fb4f..3ffb42a3a7b0ca7b148f770574f56937edc4b153 100644 (file)
@@ -1,41 +1,53 @@
 #
 # Conditional build:
 %bcond_with    bootstrap               # build boostrap
+%bcond_without verbose         # disable verbose build
 
-%define                svnrev 2537
+%define                ver     0.1.9998
+%define                svnrev  2700
 Summary:       A cross-platform build environment
 Name:          kBuild
-Version:       0.1.999
-Release:       1
+Version:       %{ver}.%{svnrev}
+Release:       3
 Group:         Development/Tools
 # Most tools are from NetBSD, some are from FreeBSD, and make and sed are from GNU
 License:       BSD and GPL v2+
-URL:           http://svn.netlabs.org/kbuild
-#Source0:        ftp://ftp.netlabs.org/pub/kbuild/%{name}-%{version}%{?patchlevel:-%{patchlevel}}-src.tar.gz
-# svn co -e2537 http://svn.netlabs.org/repos/kbuild/trunk@2537 kBuild
-# tar czf kBuild-r2537.tar.gz --exclude .svn kBuild
-Source0:       %{name}-r%{svnrev}.tar.gz
-# Source0-md5: 4890acabce44bb9c94f1211eca1c135c
+Source0:       %{name}-r%{svnrev}.tar.bz2
+# Source0-md5: 7c394fbe248f903d0bc1aabd235dc0a9
+Source1:       get-source.sh
 Patch0:                %{name}-0.1.3-escape.patch
 Patch1:                %{name}-0.1.5-dprintf.patch
 Patch2:                %{name}-0.1.5-pthread.patch
+Patch3:                re_string_fetch_byte_case-not-pure-attribute.patch
+Patch4:                x32.patch
+URL:           http://svn.netlabs.org/kbuild
 BuildRequires: acl-devel
-%{!?with_bootstrap:BuildRequires:      kBuild}
-BuildRequires: autoconf
-BuildRequires: automake
 BuildRequires: byacc
-BuildRequires: cvs
 BuildRequires: flex
-BuildRequires: gettext-devel
+%if %{with bootstrap}
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gettext-autopoint
+BuildRequires: libtool
+BuildRequires: texinfo
+%else
+BuildRequires: kBuild
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%ifarch %{x8664} x32
+%define                kbuild_arch     amd64
+%else
+%define                kbuild_arch     x86
+%endif
+
 %description
 This is a GNU make fork with a set of scripts to simplify complex
 tasks and portable versions of various UNIX tools to ensure
 cross-platform portability.
 
 The goals of the kBuild framework:
- - Similar behavior across all supported platforms
+- Similar behavior across all supported platforms
 - Flexibility, don't create unnecessary restrictions preventing ad-hoc
   solutions
 - Makefiles can be simple to write and maintain
@@ -46,54 +58,67 @@ The goals of the kBuild framework:
 - Non-recursive makefile method by using sub-makefiles
 
 %prep
-%setup -q -n %{name}
+%setup -qc
+mv %{name} .tmp; mv .tmp/* .
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-
-# Remove prebuilt stuff
-%{__rm} -r kBuild/bin/*
+%patch3 -p1
+%patch4 -p1
 
 cat > SvnInfo.kmk << EOF
 KBUILD_SVN_REV := %{svnrev}
 KBUILD_SVN_URL := http://svn.netlabs.org/repos/kbuild/trunk
 EOF
 
+%{__sed} -i -e 's@_LDFLAGS\.%{kbuild_arch}*.*=@& %{rpmldflags}@g' Config.kmk
+
+%ifarch x32
+# probably should add full x32 configuration
+# but can't find place to submit code upstream, so this will do for now.
+# but then again, forcing -m64 is bad and pointless
+sed -i -e 's/-m64//' kBuild/tools/GCC64.kmk kBuild/tools/GXX64.kmk tests/Config.kmk Config.kmk
+%endif
+
 %build
-%define bootstrap_mflags %{?_smp_mflags} \\\
-               CC="%{__cc}" \\\
-               TOOL_GCC3_CC="%{__cc}" \\\
-               CFLAGS="%{rpmcflags}"                   \\\
-               KBUILD_VERBOSE=2                                \\\
-               KBUILD_VERSION_PATCH=999
-
-%define mflags %{bootstrap_mflags}      \\\
-               NIX_INSTALL_DIR=%{_prefix}        \\\
-               BUILD_TYPE=release                        \\\
-               MY_INST_MODE=0644                          \\\
+%define bootstrap_mflags %{?_smp_mflags} %{?with_verbose:KBUILD_VERBOSE=2} \\\
+               CC="%{__cc}" TOOL_GCC3_CC="%{__cc}" CFLAGS="%{rpmcflags}"
+
+%define mflags %{bootstrap_mflags} \\\
+               NIX_INSTALL_DIR=%{_prefix} \\\
+               BUILD_TYPE=release \\\
+               MY_INST_MODE=0644 \\\
                MY_INST_BIN_MODE=0755
 
 ver=$(awk '/^KBUILD_VERSION =/{print $3}' Config.kmk)
-test "$ver" = %{version}
+test "$ver" = %{ver}
 
+%if %{with bootstrap}
 cd src/kmk
 %{__libtoolize}
 %{__aclocal} -I config
 %{__autoconf}
 %{__autoheader}
 %{__automake}
-cd -
+cd ../sed
+%{__libtoolize}
+%{__aclocal} -I config
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+cd ../..
 
-%if %{with bootstrap}
 kBuild/env.sh --full \
        %{__make} -f bootstrap.gmk %{bootstrap_mflags}
+
+kBuild/env.sh kmk clean
 %endif
 
-kBuild/env.sh kmk %{mflags} rebuild
+kBuild/env.sh kmk %{mflags} all \
+       PATH_INS=$RPM_BUILD_ROOT
 
 %install
 rm -rf $RPM_BUILD_ROOT
-export KBUILD_VERBOSE=2
 kBuild/env.sh kmk %{mflags} install \
        PATH_INS=$RPM_BUILD_ROOT
 
This page took 0.027942 seconds and 4 git commands to generate.