Search results
- Separate source packages: There are distinct RPM spec files for the native and MinGW builds, maintained as independent components of Fedora. This is the traditional approach to MinGW packaging in Fedora Integrated source packages: There is a single RPM spec file for the native and MinGW builds, as a single component of Fedora.
docs.fedoraproject.org/en-US/packaging-guidelines/MinGW/Packaging Guidelines for MinGW Cross Compilers - Fedora Docs
There are two permitted ways to provide MinGW builds of software in Fedora: Separate source packages: There are distinct RPM spec files for the native and MinGW builds, maintained as independent components of Fedora. This is the traditional approach to MinGW packaging in Fedora.
- Scriptlets
RPM spec files have several sections which allow packages to...
- Gap
The main GAP package and its attendant libraries and help...
- MPI
Message Passing Interface (MPI) is an API for...
- Ruby
Packages that contain Ruby Gems MUST be called...
- Scriptlets
- 🔗 Introduction
- 🔗 Track Fedora Native Package Versions
- 🔗 Follow Fedora Policy
- 🔗 Package Naming
- 🔗 Base Packages
- 🔗 Build For Multiple Targets
- 🔗 One Source Rpm, Separate Binary Rpms per-target
- 🔗 Filenames of The Cross-Compilers and Binutils
- 🔗 Naming of The Root Filesystem
- 🔗 Standard MinGW Rpm Macros
The Fedora MinGW project's mission is to provide an excellent development environment for Fedora users who wish to cross-compile their programs to run on Windows, minimizing the need to use Windows at all. In the past developers have had to port and compile all of the libraries and tools they have needed, and this huge effort has happened independe...
In general terms, cross-compiled MinGW versions of packages which are already natively available in Fedora, should follow the native Fedora package as closely as possible. This means they should stay at the same version, include all the same patches as the nativeFedora package, and be built with the same configuration options. The MinGW SIG have wr...
Cross compiled MinGW packages must follow Fedora policy, except where noted in this document. Cross compiled packages go through the same review process, GIT admin process etc as other Fedora packages.
MinGW packages require special naming to denote the appropriate CPU architecture the binaries have been built for. There should never be a package prefixed with mingw- output during a build. The mingw- prefix is exclusive for RPM spec file names and the source RPM file name. The CPU architecture specific packages are created by sections with %files...
The base packages provide a root filesystem, base libraries, binutils (basic programs like 'strip', 'ld' etc), the compiler (gcc) and the Win32/Win64 API. Packages may need to depend on one or more of these. In particular, almost all packages should BuildRequire mingw32-filesystem, mingw64-filesystem, mingw32-gcc and mingw64-gcc. The correct Requir...
The goal of the MinGW framework is to provide an easy way for package maintainers to build their packages for multiple targets using one .spec file. To aid developers in this several RPM macros have been developed which are part of the mingw-filesystem package.These RPM macros will be explained later on in these guidelines. By default a MinGW packa...
Each cross compiled MinGW package which builds binaries for a specific target should put the binaries for that target in a separate subpackage. So if a package foo builds binaries for the Win32 and Win64 targets, then the source RPM should provide two subpackages named mingw32-foo and mingw64-foo. This means that a spec file must contains %package ...
The MinGW cross-compilers and binutils are Fedora binaries and are therefore placed in %{_bindir} (ie. /usr/bin) according to the FHS and Fedora guidelines. The MinGW cross-compilers and binutils which generate i686 binaries for Windows are named: The same binaries are present in%{_prefix}/i686-w64-mingw32/binwithout any prefix in thename, ie: The ...
The root filesystem contains Windows executables and DLLs and any other Windows-only files. It is necessary both because we need to store Windows libraries in order to link further libraries which depend on them, and also because MinGW requires a root filesystem location. The location for Win32 target is provided by the macro: And the Win64 target ...
The mingw-filesystempackage provides a number of convenience macros for the cross compiled sysroot directories, andtoolchain. It is mandatory to use these macros in all MinGW cross compiled packages submitted to Fedora.
MinGW doesn't provide a linux-like environment, that is MSYS(2) and/or Cygwin. MinGW provides headers and libraries so that GCC (a compiler suite, not just a "unix/linux compiler") can be built and used against the Windows C runtime.
Main difference for a package maintainer (I think that would be 'developer' in Debian lingo) is the way package meta-data and accompanying scripts come together. In the RPM world, all your packages (the RPMs you maintain) are located in something like ~/rpmbuild.
Jun 27, 2019 · This article explained what RPM packages are, and the main differences between using rpm and using dnf. In future posts, we’ll speak more about: The processes that are needed to create these packages
Jan 9, 2023 · In this blog post, we will discuss the key differences between popular package formats such as Flatpak, Snap, Deb, RPM, AppImage, and AUR, and provide insights to help you choose the best format for your needs.
People also ask
What is the difference between MinGW & native RPM packages in Fedora?
Is there a separate RPM spec file for MinGW builds?
How do I provide MinGW builds in Fedora?
What are MinGW-filesystem rpm macros?
What should a cross-compiled MinGW package look like in Fedora?
Will there be a corresponding native package in Fedora?
Sep 28, 2023 · Fedora flatpaks do not form “releases”, rather the packager decides which Fedora branch to build the package from. Right now this typically is Fedora 39 (which is in beta) or Fedora 38. You can use that flatpak on any Fedora.