source: spec/trunk/SPECS/kbuild.spec@ 1330

Last change on this file since 1330 was 1206, checked in by dmik, 8 years ago

spec: kbuild: Release version 0.1.9998-9.

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