| 1 | Name: kbuild
|
|---|
| 2 | Vendor: netlabs.org
|
|---|
| 3 | License: BSD and GPLv2+
|
|---|
| 4 | Url: https://github.com/bitwiseworks/kbuild-os2
|
|---|
| 5 |
|
|---|
| 6 | # Epoch is needed after dropping os2_release to keep proper updates.
|
|---|
| 7 | Epoch: 1
|
|---|
| 8 |
|
|---|
| 9 | Version: 0.1.9998
|
|---|
| 10 | Release: 10%{?dist}
|
|---|
| 11 |
|
|---|
| 12 | %scm_source github https://github.com/bitwiseworks/kbuild-os2 618f0f0d11b983d7370226cf885d87afb4d906fa
|
|---|
| 13 | #scm_source git file://D:/Coding/kbuild/master 618f0f0d11b983d7370226cf885d87afb4d906fa
|
|---|
| 14 |
|
|---|
| 15 | %define descr_brief kBuild is a GNU Make fork with a set of scripts to simplify\
|
|---|
| 16 | complex build tasks and portable versions of various UNIX tools to ensure\
|
|---|
| 17 | cross-platform portability.
|
|---|
| 18 |
|
|---|
| 19 | %define pkg_docdir %{_docdir}/%{name}
|
|---|
| 20 |
|
|---|
| 21 | BuildRequires: kbuild gettext-devel
|
|---|
| 22 |
|
|---|
| 23 | #------------------------------------------------------------------------------
|
|---|
| 24 | # main package
|
|---|
| 25 | #------------------------------------------------------------------------------
|
|---|
| 26 |
|
|---|
| 27 | Summary: Framework for writing simple makefiles for complex tasks
|
|---|
| 28 | Group: System Environment/Libraries
|
|---|
| 29 |
|
|---|
| 30 | %description
|
|---|
| 31 | %{descr_brief}
|
|---|
| 32 |
|
|---|
| 33 | %files
|
|---|
| 34 | %defattr(-,root,root,-)
|
|---|
| 35 | %docdir %{pkg_docdir}/
|
|---|
| 36 | %{_bindir}/*
|
|---|
| 37 | %exclude %{_bindir}/make.exe
|
|---|
| 38 | %{_datadir}/*
|
|---|
| 39 |
|
|---|
| 40 | #------------------------------------------------------------------------------
|
|---|
| 41 | %package make
|
|---|
| 42 | #------------------------------------------------------------------------------
|
|---|
| 43 |
|
|---|
| 44 | Summary: GNU Make 3.81 implementation based on kBuild's kmk
|
|---|
| 45 | Group: System Environment/Libraries
|
|---|
| 46 | Provides: make = 3.81
|
|---|
| 47 |
|
|---|
| 48 | %description make
|
|---|
| 49 | A GNU Make executable compiled from the kmk source tree. The kmk tool itself is
|
|---|
| 50 | a fork of GNU Make and this build just disables all kmk-specific features. It
|
|---|
| 51 | may also contain some minor GNU Make bugfixes not specific to kmk which are
|
|---|
| 52 | absent from the upstream version. However, this executable should be fully
|
|---|
| 53 | compatible with the vanilla GNU Make function-wise.
|
|---|
| 54 |
|
|---|
| 55 | %files make
|
|---|
| 56 | %defattr(-,root,root,-)
|
|---|
| 57 | %{_bindir}/make.exe
|
|---|
| 58 |
|
|---|
| 59 | #------------------------------------------------------------------------------
|
|---|
| 60 | %prep
|
|---|
| 61 | #------------------------------------------------------------------------------
|
|---|
| 62 |
|
|---|
| 63 | %scm_setup
|
|---|
| 64 |
|
|---|
| 65 | # Makefiles expect SVN info, generate it. Note that we shorten the commit hash
|
|---|
| 66 | # to 7 digits and add 0x before to make it a valid C integer number.
|
|---|
| 67 | echo \
|
|---|
| 68 | "KBUILD_SVN_URL := %{__source_url}
|
|---|
| 69 | KBUILD_SVN_REV := 0x%{lua: print(string.sub(rpm.expand('%{__source_rev}'), 1, 7))}
|
|---|
| 70 | " > SvnInfo.kmk
|
|---|
| 71 |
|
|---|
| 72 | #------------------------------------------------------------------------------
|
|---|
| 73 | %build
|
|---|
| 74 | #------------------------------------------------------------------------------
|
|---|
| 75 |
|
|---|
| 76 | # Note: we must remove the leading slash from path overrides, otherwise
|
|---|
| 77 | # kmk complains about that (kind of a strange bug-o-feature)
|
|---|
| 78 | %define kmk_env \
|
|---|
| 79 | MY_INST_BIN=%{_bindir} \
|
|---|
| 80 | MY_INST_DATA=%{_datadir}/kbuild \
|
|---|
| 81 | MY_INST_DOC=%{pkg_docdir} \
|
|---|
| 82 | KMK_FLAGS="\
|
|---|
| 83 | BUILD_TYPE=release \
|
|---|
| 84 | LDFLAGS=-lintl \
|
|---|
| 85 | NIX_INSTALL_DIR=%{_prefix} \
|
|---|
| 86 | MY_INST_BIN=${MY_INST_BIN#/}/ \
|
|---|
| 87 | MY_INST_DATA=${MY_INST_DATA#/}/ \
|
|---|
| 88 | MY_INST_DOC=${MY_INST_DOC#/}/ \
|
|---|
| 89 | MY_INST_MODE=0644 \
|
|---|
| 90 | MY_INST_BIN_MODE=0755" \
|
|---|
| 91 | BUILD_PLATFORM= \
|
|---|
| 92 |
|
|---|
| 93 | %{kmk_env}
|
|---|
| 94 |
|
|---|
| 95 | cmd /c "kBuild\envos2.cmd" kmk $KMK_FLAGS
|
|---|
| 96 |
|
|---|
| 97 | #------------------------------------------------------------------------------
|
|---|
| 98 | %install
|
|---|
| 99 | #------------------------------------------------------------------------------
|
|---|
| 100 |
|
|---|
| 101 | %{kmk_env}
|
|---|
| 102 |
|
|---|
| 103 | %{__rm} -rf "%{buildroot}"
|
|---|
| 104 |
|
|---|
| 105 | cmd /c "kBuild\envos2.cmd" kmk $KMK_FLAGS PATH_INS="%{buildroot}" install
|
|---|
| 106 |
|
|---|
| 107 | # Additional docs (not installed by install)
|
|---|
| 108 | %{__cp} -dp COPYING ChangeLog kBuild/doc/COPYING-FDL-1.3 "%{buildroot}%{pkg_docdir}/"
|
|---|
| 109 |
|
|---|
| 110 | # To make GNU Make we simply copy kmk_gmake.exe, this should be enough
|
|---|
| 111 | %{__cp} -dp "%{buildroot}%{_bindir}/kmk_gmake.exe" "%{buildroot}%{_bindir}/make.exe"
|
|---|
| 112 |
|
|---|
| 113 | #------------------------------------------------------------------------------
|
|---|
| 114 | %clean
|
|---|
| 115 | #------------------------------------------------------------------------------
|
|---|
| 116 |
|
|---|
| 117 | %{__rm} -rf "%{buildroot}"
|
|---|
| 118 |
|
|---|
| 119 | #------------------------------------------------------------------------------
|
|---|
| 120 | %changelog
|
|---|
| 121 | * Tue Nov 6 2018 Dmitriy Kuminov <coding@dmik.org> 0.1.9998-10
|
|---|
| 122 | - Update sources to SVN r3236 from vendor.
|
|---|
| 123 |
|
|---|
| 124 | * Wed Jul 26 2017 Dmitriy Kuminov <coding@dmik.org> 0.1.9998-9
|
|---|
| 125 | - Use a forked GitHub repository where all previous patches have been applied.
|
|---|
| 126 | - Drop changing the default DLL install dir from /lib to /bin (in an RPM
|
|---|
| 127 | Unix-like environment which is our primary target this is not needed).
|
|---|
| 128 | - Update sources to SVN r3051 from vendor.
|
|---|
| 129 | - Disable annoying wlink warning 1121 for GCC3OMF/GXX3OMF tools.
|
|---|
| 130 | - Install qt-Q_OBJECT.sed needed by qt3 and qt4 units.
|
|---|
| 131 | - Support SDL RPM install in LIBSDL sdk.
|
|---|
| 132 | - Use abbveviated commit hash instead of SVN revision in kmk version strings.
|
|---|
| 133 | - Add missing spaces after -i and -d in RC invocation for GCC3OMF/GXX3OMF tools.
|
|---|
| 134 | - Add current directory to RC include path for GCC3OMF/GXX3OMF/OPENWATCOM tools.
|
|---|
| 135 | - Fix failure to create an import library for a DLL in GXX3OMF tool.
|
|---|
| 136 |
|
|---|
| 137 | * Thu Dec 17 2015 Dmitriy Kuminov <coding@dmik.org> 0.1.9998-8
|
|---|
| 138 | - New SVN release 2803 of version 0.1.9998.
|
|---|
| 139 | - Fix slashes in .rsp files for OpenWatcom (#125).
|
|---|
| 140 | - Add major version suffix to Qt libs (#126).
|
|---|
| 141 | - Fix unsetting env vars in kmk_redirect (#127).
|
|---|
| 142 |
|
|---|
| 143 | * Wed Aug 05 2015 Dmitriy Kuminov <coding@dmik.org> 0.1.9998.7-1
|
|---|
| 144 | - New SVN release 2786 of version 0.1.9998.
|
|---|
| 145 | - Drop patches 2, 3 and 4 (applied upstream in r2774:2776).
|
|---|
| 146 | - Disable patch 7 claimed to be not necessary (see ticket #109).
|
|---|
| 147 | - Build with GCC 4 against LIBC 0.6.6 (patch 8, #124).
|
|---|
| 148 |
|
|---|
| 149 | * Thu Jul 11 2013 Dmitriy Kuminov <coding@dmik.org> 0.1.9998.6-1
|
|---|
| 150 | - New SVN release 2687 of version 0.1.9998.
|
|---|
| 151 | - Add kbuild-make package containing vanilla GNU Make executable.
|
|---|
| 152 |
|
|---|
| 153 | * Mon Nov 5 2012 Dmitriy Kuminov <coding/dmik.org> 0.1.9998.5-1
|
|---|
| 154 | - New patch:
|
|---|
| 155 | - Add switching between RC/WRC in GCC3OMF/GXX3OMF tools based on
|
|---|
| 156 | EMXOMFLD_RC_* environment variables [Patch6].
|
|---|
| 157 |
|
|---|
| 158 | * Mon Oct 16 2012 Dmitriy Kuminov <coding/dmik.org> 0.1.9998.4-1
|
|---|
| 159 | - New SVN release 2663 of version 0.1.9998.
|
|---|
| 160 |
|
|---|
| 161 | * Mon Oct 15 2012 Dmitriy Kuminov <coding/dmik.org> 0.1.9998.3-1
|
|---|
| 162 | - New SVN release 2662 of version 0.1.9998.
|
|---|
| 163 | - New patches:
|
|---|
| 164 | - Automatically create import library for DLL in GCC3OMF/GXX3OMF
|
|---|
| 165 | tools (may be disasbled with KMK_NOIMPLIB in LDFLAGS) [005.patch].
|
|---|
| 166 |
|
|---|
| 167 | * Fri Feb 10 2012 Dmitriy Kuminov <coding/dmik.org> 0.1.9998.2-1
|
|---|
| 168 | - New SVN release 2557 of version 0.1.9998.
|
|---|
| 169 | - New patches:
|
|---|
| 170 | - Install DLLs to "bin/" by default [001.patch].
|
|---|
| 171 | - Make ld and ar in GCC3OMF/GXX3OMF tools output obey KBUILD_VERBOSE
|
|---|
| 172 | setting and be quiet by default [002.patch].
|
|---|
| 173 | - Support DLLs as sources for LIBRARIES targets for making import
|
|---|
| 174 | libraries with GCC3OMF/GXX3OMF tools [003.patch].
|
|---|
| 175 | - Add RC support to GCC3OMF/GXX3OMF tools [004.patch].
|
|---|
| 176 |
|
|---|
| 177 | * Wed Oct 5 2011 Dmitriy Kuminov <coding/dmik.org> 0.1.9998.1-1
|
|---|
| 178 | - New SVN release 2546 of version 0.1.9998.
|
|---|
| 179 |
|
|---|