{"id":18382432,"url":"https://github.com/ntd/aur-fedora-mingw","last_synced_at":"2025-04-06T23:31:41.541Z","repository":{"id":5056409,"uuid":"6217984","full_name":"ntd/aur-fedora-mingw","owner":"ntd","description":"ArchLinux PKGBUILDs based on Fedora for cross-buildinging GTK+2 and GTK+3 applications (win32 and win64)","archived":false,"fork":false,"pushed_at":"2022-05-20T05:58:55.000Z","size":661,"stargazers_count":7,"open_issues_count":2,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-22T09:02:19.420Z","etag":null,"topics":["archlinux","cross-compiler-toolchain","gobject-introspection","gtk","gtk3","lua","mingw"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"square/crossfilter","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ntd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-14T20:52:31.000Z","updated_at":"2024-12-28T17:03:14.000Z","dependencies_parsed_at":"2022-09-11T00:20:52.010Z","dependency_job_id":null,"html_url":"https://github.com/ntd/aur-fedora-mingw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntd%2Faur-fedora-mingw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntd%2Faur-fedora-mingw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntd%2Faur-fedora-mingw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntd%2Faur-fedora-mingw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ntd","download_url":"https://codeload.github.com/ntd/aur-fedora-mingw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569123,"owners_count":20959758,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archlinux","cross-compiler-toolchain","gobject-introspection","gtk","gtk3","lua","mingw"],"created_at":"2024-11-06T01:05:39.061Z","updated_at":"2025-04-06T23:31:36.532Z","avatar_url":"https://github.com/ntd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Collection of PKGBUILDs for cross-building GTK+2 and GTK+3 applications on\nArchLinux using a mingw-w64 system. Think of it as a spur of AUR.\n\nThe repository is available for cloning on\n[github](http://github.com/ntd/aur-fedora-mingw).\n\nThis is how the project is structured:\n\n* `aur-fedora-mingw`, the repository root\n  * `aur`, containing the PKGBUILDs the helper scripts\n  * `src`, where the source packages will be downloaded\n  * `pkg`, where the built packages will be created\n  * `docker`, support files needed by docker\n\nHow to use\n==========\n\nThese are common PKGBUILD files so you can build them in the way you like, e.g.\nby using [makepkg](https://wiki.archlinux.org/index.php/Makepkg). Some helper\nscripts are provided though, just for convenience. They are based on `yaourt`\nbut you are free to adapt them to other solutions (patches welcome).\n\nIf you want you can customise `afm-mingw-w64-makedepends/makepkg.common.conf`\nto fit your environment and update `afm-mingw-w64-makedepends/PKGBUILD`\naccordingly.\n\nThe following commands should build and install both the 32 and 64 bits\ntoolchains:\n\n```bash\ncd path/to/aur-fedora-mingw/aur\nrm */*.pkg.tar.xz # Just to be sure to rebuild everything\nenv - TERM=$TERM PATH=/usr/bin ./build-all i686\nenv - TERM=$TERM PATH=/usr/bin ./build-all x86_64\n```\n\nAlternatively you can leverage [docker](http://www.docker.com) for running\nthe building inside an isolated container. This will only create the packages\nwithout installing them. Here is how to do it:\n\n```bash\ncd path/to/aur-fedora-mingw\ndocker build -t afm .\ndocker run -v $(pwd)/src:/home/user/src -v $(pwd)/pkg:/home/user/pkg afm\n```\n\nIn both cases, and if everything goes smoothly, at the end you will have `pkg/`\npopulated with the binary packages.\n\nHelper scripts\n==============\n\n* `build-all ARCH [PACKAGE]...`\u003cbr\u003e\n  The main script for building the whole toolchain. To minimize potential\n  problems raised by unattended environment variables, you could call the\n  script by providing only a minimal environment, e.g.:\n\n  ```bash\n  env - TERM=$TERM PATH=/usr/bin ./build-all i686\n  ```\n\n  You can optionally specify on the command line the name of one or more\n  packages to skip, e.g. by passing `fedora-mingw-w64-cairo` you will build\n  everything but cairo.\n\n  This script **does not** automatically create the package database! If you\n  want to, you need to create it by yourself with:\n\n  ```bash\n  repo-add PACKAGE-DATABASE */*.pkg.tar.xz\n  ```\n\n* `pkg-update ARCH PACKAGE`\u003cbr\u003e\n  It is intended to be used after `build-all` to upgrade only one package. Just\n  call it with the proper package name, e.g.:\n\n  ```bash\n  ./pkg-update i686 fedora-mingw-w64-glib2\n  ```\n\n  This script automatically updates the package database. Actually the name of\n  that database is hardcoded in the sources: fire up an editor for details.\n* `inc-pkgrel PKGBUILD [...]`\u003cbr\u003e\n  Increase the [release number](https://wiki.archlinux.org/index.php/PKGBUILD#pkgrel)\n  by one on the `PKGBUILD` files provided as argument.\n* `repo-update`\u003cbr\u003e\n  Used by `pkg-update` to update the package database.\n\nHistory\n=======\n\nI badly needed a MinGW environment for cross-compiling my GTK+ applications on\nWindows platforms but the PKGBUILDs found in [AUR](http://aur.archlinux.org/)\nat that time were a mess, i.e. the toolchain was not working out of the box and\nrequired a lot of manual work to be put on the road. It was clear nobody\nwas really using it.\n\nSubmitting patches and waiting them to be accepted was feasible but really slow\nand time consuming, so I decided to develop my own PKGBUILDs basing the code on\nthe [Fedora MinGW](http://pkgs.fedoraproject.org/cgit/) environment as it seems\nto be the best maintained MinGW toolchain available. As far as I know, also\n[OpenSUSE](http://build.opensuse.org/project/show?project=windows:mingw) based\nits toolchain on the Fedora one.\n\nI am trying to keep these packages in sync with Fedora and, although not mapped\nexactly 1:1, they are quite close.\n\nFeatures and limits\n===================\n\nHere is the list of (potential) packages provided by this project:\n\n* fedora-mingw-w64-zlib\n* fedora-mingw-w64-bzip2\n* fedora-mingw-w64-termcap\n* fedora-mingw-w64-win-iconv\n* fedora-mingw-w64-gettext\n* fedora-mingw-w64-expat\n* fedora-mingw-w64-libxml2\n* fedora-mingw-w64-libpng\n* fedora-mingw-w64-libjpeg-turbo\n* fedora-mingw-w64-libffi\n* fedora-mingw-w64-glib2\n* fedora-mingw-w64-freetype\n* fedora-mingw-w64-fontconfig\n* fedora-mingw-w64-pixman\n* fedora-mingw-w64-icu\n* fedora-mingw-w64-cairo\n* fedora-mingw-w64-gdk-pixbuf\n* fedora-mingw-w64-atk\n* fedora-mingw-w64-harfbuzz\n* fedora-mingw-w64-pango\n* fedora-mingw-w64-gtk2\n* fedora-mingw-w64-gtk3\n* fedora-mingw-w64-nsis\n\nSome additional package are not based on the Fedora ones. They are\ndeveloped internally and prefixed with afm (*A*UR *F*edora *M*inGW) to\ndifferentiate them from the others:\n\n* afm-mingw-w64-makedepends\n* afm-mingw-w64-gobject-introspection\n* afm-mingw-w64-lua\n* afm-mingw-w64-lua-lgi\n\nThe `build-all` helper script can be used as a one-line solution to build all\nfrom scratch. It uses [yaourt](https://wiki.archlinux.org/index.php/Yaourt) for\npulling it the required dependencies either from Archlinux community or from\nAUR.\n\nIf you intend to build the toolchain in your own way, refer to `build-all` to\nknow the exact **order of build**, so check it out to see the most up to date\nlist and order of packages.\n\nTo keep the dependecies as low as possible, this toolchain does not contain\nsome image format I do not use, most notably **SVG** and **tiff**.\n\nExternal dependencies\n=====================\n\nCheck the source of `build-all` for knowing the exact dependencies needed. They\nare pulled in from core, extra, multilib and community. One dependency\n(`mingw-w64-tools`) must be compiled from AUR.\n\nLicense\n=======\n\nThe code provided by this project is free software released under the MIT\nlicense. See `COPYING` for details.\n\nThis license is **not** extended to the sources of the packages. Every\npackage fetched by this project is free software but you need to hunt\ninside the source tree to know the exact license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntd%2Faur-fedora-mingw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntd%2Faur-fedora-mingw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntd%2Faur-fedora-mingw/lists"}