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

Last change on this file since 1567 was 1513, checked in by dmik, 7 years ago

spec: kbuild: Release version 0.1.9998-10.

  • Property svn:eol-style set to native
File size: 6.6 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: 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\
16complex build tasks and portable versions of various UNIX tools to ensure\
17cross-platform portability.
18
19%define pkg_docdir %{_docdir}/%{name}
20
21BuildRequires: kbuild gettext-devel
22
23#------------------------------------------------------------------------------
24# main package
25#------------------------------------------------------------------------------
26
27Summary: Framework for writing simple makefiles for complex tasks
28Group: 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
44Summary: GNU Make 3.81 implementation based on kBuild's kmk
45Group: System Environment/Libraries
46Provides: make = 3.81
47
48%description make
49A GNU Make executable compiled from the kmk source tree. The kmk tool itself is
50a fork of GNU Make and this build just disables all kmk-specific features. It
51may also contain some minor GNU Make bugfixes not specific to kmk which are
52absent from the upstream version. However, this executable should be fully
53compatible 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.
67echo \
68"KBUILD_SVN_URL := %{__source_url}
69KBUILD_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
95cmd /c "kBuild\envos2.cmd" kmk $KMK_FLAGS
96
97#------------------------------------------------------------------------------
98%install
99#------------------------------------------------------------------------------
100
101%{kmk_env}
102
103%{__rm} -rf "%{buildroot}"
104
105cmd /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
Note: See TracBrowser for help on using the repository browser.