Projects
Eulaceura:Factory
mingw-filesystem
_service:obs_scm:mingw-filesystem.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:mingw-filesystem.spec of Package mingw-filesystem
%global debug_package %{nil} # Place RPM macros in %%{_rpmconfigdir}/macros.d if it exists (RPM 4.11+) # Otherwise, use %%{_sysconfdir}/rpm # https://lists.fedoraproject.org/pipermail/devel/2014-January/195026.html %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) Name: mingw-filesystem Version: 118 Release: 4 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 # generated with: # (rpm -ql mingw32-crt | grep '\.a$' | while read f ; do i686-w64-mingw32-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-mingw32 Source16: standard-dlls-mingw32 # (rpm -ql mingw64-crt | grep '\.a$' | while read f ; do x86_64-w64-mingw32-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-mingw64 Source17: standard-dlls-mingw64 Source18: toolchain-mingw32.meson Source19: toolchain-mingw64.meson # Taken from the Fedora filesystem package Source101: https://fedorahosted.org/filesystem/browser/lang-exceptions Source102: iso_639.sed Source103: iso_3166.sed BuildRequires: make BuildRequires: iso-codes %description This package contains the base filesystem layout, RPM macros and environment for all Fedora MinGW packages. This environment is maintained by the Fedora MinGW SIG at: http://fedoraproject.org/wiki/SIGs/MinGW %package base Summary: Generic files which are needed for both mingw32-filesystem and mingw64-filesystem Requires: %{_vendor}-rpm-config # Obsolete the packages from the test repo Obsoletes: cross-filesystem < 67-2 Obsoletes: cross-filesystem-scripts < 67-2 Obsoletes: mingw-filesystem < 75-2 Obsoletes: mingw-filesystem-scripts < 75-2 %description base This package contains the base filesystem layout, RPM macros and environment for all Fedora MinGW packages. This environment is maintained by the Fedora MinGW SIG at: http://fedoraproject.org/wiki/SIGs/MinGW %package -n mingw32-filesystem Summary: MinGW cross compiler base filesystem and environment for the win32 target Requires: %{name}-base = %{version}-%{release} # Note about 'Provides: mingw32(foo.dll)' # ------------------------------------------------------------ # # We want to be able to build & install mingw32 libraries without # necessarily needing to install wine. (And certainly not needing to # install Windows!) There is no requirement to have wine installed in # order to use the mingw toolchain to develop software (ie. to # compile more stuff on top of it), so why require that? # # So for expediency, this base package provides the "missing" DLLs # from Windows. Another way to do it would be to exclude these # proprietary DLLs in our find-requires checking script - essentially # it comes out the same either way. # 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 all Fedora MinGW packages. This environment is maintained by the Fedora MinGW SIG at: http://fedoraproject.org/wiki/SIGs/MinGW %package -n mingw64-filesystem Summary: MinGW cross compiler base filesystem and environment for the win64 target Requires: %{name}-base = %{version}-%{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. This environment is maintained by the Fedora MinGW SIG at: http://fedoraproject.org/wiki/SIGs/MinGW %prep %setup -q -c -T cp %{SOURCE0} COPYING %build # nothing %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/ # Create the folders required for gcc and binutils 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 # The MinGW system root which will contain Windows native binaries # and Windows-specific header files, pkgconfig, etc. 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 # We don't normally package manual pages and info files, except # where those are not supplied by a Fedora native package. So we # need to create the directories. # # Note that some packages try to install stuff in # /usr/x86_64-pc-mingw32/sys-root/man and # /usr/x86_64-pc-mingw32/sys-root/doc # but those are both packaging bugs. 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 # Own folders for all locales # Snippet taken from the Fedora filesystem package 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 the locality is not official, skip it if [ -n "$locality" ]; then grep -q "^$locality" $RPM_BUILD_ROOT/iso_3166.tab || continue fi # If the locale is not official and not special, skip it 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 # NB. NOT _libdir 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 * Mon Apr 22 2024 yueyuankun <yueyuankun@kylinos.cn> - 118-4 - modify spec, add vendor * Mon Feb 5 2024 Li Shunlong <lishunlong@kylinsec.com.cn> - 118-3 - update changelog info * Tue Jan 30 2024 Li Shunlong <lishunlong@kylinsec.com.cn> - 118-2 * Thu Dec 22 2022 wanglin <wangl29@chinatelecom.cn> - 110-5 - Fix rpm-config hard code problem * Tue Nov 03 2020 Zhiyi Weng <zhiyi@iscas.ac.cn> - 110-4 - test ci error * Fri Apr 3 2020 likexin <likexin4@huawei.com> - 110-3 - fix wrong requires * Thu Dec 9 2019 openEuler Buildteam <buildteam@openeuler.org> - 110-2 - Package init
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2