247 lines
10 KiB
RPMSpec
247 lines
10 KiB
RPMSpec
%global debug_package %{nil}
|
|
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
|
|
|
|
Name: mingw-filesystem
|
|
Version: 110
|
|
Release: 2
|
|
Summary: MinGW cross compiler base filesystem and environment
|
|
License: GPLv2+
|
|
URL: http://fedoraproject.org/wiki/MinGW
|
|
BuildArch: noarch
|
|
Source0: COPYING
|
|
Source1: macros.mingw
|
|
Source2: macros.mingw32
|
|
Source3: macros.mingw64
|
|
Source4: mingw32.sh
|
|
Source5: mingw64.sh
|
|
Source6: mingw-find-debuginfo.sh
|
|
Source7: mingw-find-requires.sh
|
|
Source8: mingw-find-provides.sh
|
|
Source9: mingw-scripts.sh
|
|
Source10: mingw-rpmlint.config
|
|
Source11: toolchain-mingw32.cmake
|
|
Source12: toolchain-mingw64.cmake
|
|
Source13: mingw-find-lang.sh
|
|
Source14: mingw32.attr
|
|
Source15: mingw64.attr
|
|
Source16: standard-dlls-mingw32
|
|
Source17: standard-dlls-mingw64
|
|
Source18: toolchain-mingw32.meson
|
|
Source19: toolchain-mingw64.meson
|
|
Source101: https://fedorahosted.org/filesystem/browser/lang-exceptions
|
|
Source102: iso_639.sed
|
|
Source103: iso_3166.sed
|
|
BuildRequires: iso-codes
|
|
|
|
%description
|
|
This package contains the base filesystem layout, RPM macros and
|
|
environment for MinGW packages.
|
|
|
|
%package base
|
|
Summary: Generic files which are needed for both mingw32-filesystem and mingw64-filesystem
|
|
Requires: redhat-rpm-config
|
|
Obsoletes: cross-filesystem < 67-2
|
|
Obsoletes: cross-filesystem-scripts < 67-2
|
|
Obsoletes: mingw-filesystem-scripts < 75-2
|
|
|
|
%description base
|
|
This package contains the base filesystem layout, RPM macros and
|
|
environment for MinGW packages.
|
|
|
|
%package -n mingw32-filesystem
|
|
Summary: MinGW cross compiler base filesystem and environment for the win32 target
|
|
Requires: mingw-filesystem-base = 110-%{release}
|
|
Provides: %(sed "s/\(.*\)/mingw32(\1) /g" %{SOURCE16} | tr "\n" " ")
|
|
Provides: mingw32(mscoree.dll)
|
|
|
|
%description -n mingw32-filesystem
|
|
This package contains the base filesystem layout, RPM macros and
|
|
environment for MinGW packages.
|
|
|
|
%package -n mingw64-filesystem
|
|
Summary: MinGW cross compiler base filesystem and environment for the win64 target
|
|
Requires: mingw-filesystem-base = 110-%{release}
|
|
Provides: %(sed "s/\(.*\)/mingw64(\1) /g" %{SOURCE17} | tr "\n" " ")
|
|
Provides: mingw64(mscoree.dll)
|
|
|
|
%description -n mingw64-filesystem
|
|
This package contains the base filesystem layout, RPM macros and
|
|
environment for all Fedora MinGW packages.
|
|
|
|
%prep
|
|
%setup -q -c -T
|
|
cp %{SOURCE0} COPYING
|
|
|
|
%build
|
|
|
|
%install
|
|
mkdir -p $RPM_BUILD_ROOT
|
|
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
|
|
install -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_libexecdir}/mingw-scripts
|
|
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
|
pushd $RPM_BUILD_ROOT%{_bindir}
|
|
for i in mingw32-configure mingw32-cmake mingw32-make mingw32-meson mingw32-pkg-config \
|
|
mingw64-configure mingw64-cmake mingw64-make mingw64-meson mingw64-pkg-config ; do
|
|
ln -s %{_libexecdir}/mingw-scripts $i
|
|
done
|
|
popd
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
|
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
|
|
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{macrosdir}
|
|
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{macrosdir}/macros.mingw
|
|
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{macrosdir}/macros.mingw32
|
|
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{macrosdir}/macros.mingw64
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint
|
|
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/bin
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/lib
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/bin
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/lib
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/bin
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/etc
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/include
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/include/sys
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib/cmake
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/sbin
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/bin
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/etc
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/cmake
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/sbin
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/doc
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/info
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n}
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/aclocal
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/themes
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/cmake
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/pkgconfig
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/xml
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/doc
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/info
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n}
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/aclocal
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/themes
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/cmake
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/xml
|
|
|
|
sed -n -f %{SOURCE102} /usr/share/xml/iso-codes/iso_639.xml > $RPM_BUILD_ROOT/iso_639.tab
|
|
sed -n -f %{SOURCE103} /usr/share/xml/iso-codes/iso_3166.xml > $RPM_BUILD_ROOT/iso_3166.tab
|
|
|
|
grep -v "^$" $RPM_BUILD_ROOT/iso_639.tab | grep -v "^#" | while read a b c d ; do
|
|
[[ "$d" =~ "^Reserved" ]] && continue
|
|
[[ "$d" =~ "^No linguistic" ]] && continue
|
|
|
|
locale=$c
|
|
if [ "$locale" = "XX" ]; then
|
|
locale=$b
|
|
fi
|
|
echo "%lang(${locale}) %{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale/${locale}" >> filelist_mingw32
|
|
echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale/${locale}" >> filelist_mingw64
|
|
done
|
|
|
|
cat %{SOURCE101} | grep -v "^#" | grep -v "^$" | while read loc ; do
|
|
locale=$loc
|
|
locality=
|
|
special=
|
|
[[ "$locale" =~ "@" ]] && locale=${locale%%%%@*}
|
|
[[ "$locale" =~ "_" ]] && locality=${locale##*_}
|
|
[[ "$locality" =~ "." ]] && locality=${locality%%%%.*}
|
|
[[ "$loc" =~ "_" ]] || [[ "$loc" =~ "@" ]] || special=$loc
|
|
|
|
if [ -n "$locality" ]; then
|
|
grep -q "^$locality" $RPM_BUILD_ROOT/iso_3166.tab || continue
|
|
fi
|
|
if [ -z "$special" ]; then
|
|
egrep -q "[[:space:]]${locale%%_*}[[:space:]]" $RPM_BUILD_ROOT/iso_639.tab || continue
|
|
fi
|
|
echo "%lang(${locale}) %{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale/${loc}" >> filelist_mingw32
|
|
echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale/${loc}" >> filelist_mingw64
|
|
done
|
|
|
|
rm -f $RPM_BUILD_ROOT/iso_639.tab
|
|
rm -f $RPM_BUILD_ROOT/iso_3166.tab
|
|
|
|
cat filelist_mingw32 filelist_mingw64 | grep "locale" | while read a b ; do
|
|
mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES
|
|
done
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
|
|
install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
|
install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
|
install -m 0755 %{SOURCE8} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
|
install -m 0755 %{SOURCE13} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs
|
|
install -m 0644 %{SOURCE14} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/
|
|
install -m 0644 %{SOURCE15} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mingw
|
|
install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_datadir}/mingw/
|
|
install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/mingw/
|
|
install -m 0644 %{SOURCE18} $RPM_BUILD_ROOT%{_datadir}/mingw/
|
|
install -m 0644 %{SOURCE19} $RPM_BUILD_ROOT%{_datadir}/mingw/
|
|
|
|
%files base
|
|
%doc COPYING
|
|
%dir %{_sysconfdir}/rpmlint/
|
|
%config(noreplace) %{_sysconfdir}/rpmlint/mingw-rpmlint.config
|
|
%{macrosdir}/macros.mingw
|
|
%{_libexecdir}/mingw-scripts
|
|
%{_rpmconfigdir}/mingw*
|
|
%dir %{_datadir}/mingw/
|
|
|
|
%files -n mingw32-filesystem
|
|
%{macrosdir}/macros.mingw32
|
|
%config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh
|
|
%{_bindir}/mingw32-configure
|
|
%{_bindir}/mingw32-cmake
|
|
%{_bindir}/mingw32-make
|
|
%{_bindir}/mingw32-meson
|
|
%{_bindir}/mingw32-pkg-config
|
|
%{_prefix}/i686-w64-mingw32
|
|
%{_rpmconfigdir}/fileattrs/mingw32.attr
|
|
%{_datadir}/mingw/toolchain-mingw32.cmake
|
|
%{_datadir}/mingw/toolchain-mingw32.meson
|
|
|
|
%files -n mingw64-filesystem
|
|
%{macrosdir}/macros.mingw64
|
|
%config(noreplace) %{_sysconfdir}/profile.d/mingw64.sh
|
|
%{_bindir}/mingw64-configure
|
|
%{_bindir}/mingw64-cmake
|
|
%{_bindir}/mingw64-make
|
|
%{_bindir}/mingw64-meson
|
|
%{_bindir}/mingw64-pkg-config
|
|
%{_prefix}/x86_64-w64-mingw32
|
|
%{_rpmconfigdir}/fileattrs/mingw64.attr
|
|
%{_datadir}/mingw/toolchain-mingw64.cmake
|
|
%{_datadir}/mingw/toolchain-mingw64.meson
|
|
|
|
%changelog
|
|
* Thu Dec 9 2019 openEuler Buildteam <buildteam@openeuler.org> - 110-2
|
|
- Package init
|