-
Notifications
You must be signed in to change notification settings - Fork 670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Msys2 pkg-config #350
base: master
Are you sure you want to change the base?
Msys2 pkg-config #350
Conversation
Msys2 fuse library pkg-config and pacman package to be consumed by makepkg
Hi @USeebi , Thank you for the pull request. Is it not possible to have a pkg-config that copy all headers in the correct folder from the dokan_fuse project rather than having duplicate headers in the repository ? (I don't really use pacman/msys2 so if anyone with the knoweldge could help me review this pull request 👍 ) |
Hi @USeebi, pkg-configNice to see that you added a pkg-config file! 👍 We actually already had an enhancement request about it: #338 MSYS2-PKGBUILD:First of all: Is there a specific reason, why you are submitting this to us and not to @Alexpux/MINGW-packages? I am not particularly opposed to having the PKGBUILD in the Dokany repository, but I would be interested in what your considerations where and why you prefer one over the other option. I have never done any packaging for MSYS or Arch Linux, so take the following comments with a grain of salt. (I am mostly familiar with Debian packaging and Linux and MSYS2 might differ in several ways I don't know yet about). As @Liryna has said, you duplicate all header files in the repository. Looking at your packaging, it seems quite manual and I think it can be improved. The way I know it from Debian or RPM-based distros, the package would get built and installed into a separate directory as if you were compiling/installing from source and then a package is created from that. I have just searched for "cmake" in the MingW-W64-packages repository and the doxygen-package there might be a good example of cmake-based project that is packaged using a PKGBUILD where the source is automatically downloaded, verified using hashes, built and "installed" to be compressed into a package. Some questions:
PS: Thanks again for your contribution, it's appreciated. |
Hi Rondom, You're right, the package is manually pulled together after compiling dokan_fuse for makepkg to work with dependency on fuse. I guess the package mostly working with Msys2 as Mingw has no syslog while Linux probably use fuse directly but not dokan-fuse. The latest Msys2 distribution automatically set /opt/bin in the path so that I put the dokan_fuse library in /opt/bin and fuse include files in /opt/include/dokan_fuse. The installation is automatic with pacman although the package is manual and the /opt directory might be a good place to signify the non-standard. All these information are coded in fuse.pc and this could be automated with Autotools while there are also PKGBUILD templates with Autotools. I'm not really expert with Autotools and I really need to brush up with Cmake. I guess we need someone expert in both Autotools and Cmake to merge this pull request at will. |
An other way to automate is manipulating build.ps1 script
These are the steps that I pulled up the package and I would like to insert the dokany version into the package file name but need more efforts. |
@USeebi May I ask, why you need an MSYS2-package? As far as I am informed, MSYS2 is a fork of Cygwin and its only purpose is to serve as a POSIXy environment for building MinGW-W64 (32bit and 64bit) applications. So one is not supposed to build software using the MSYS2-GCC if one is not developing MSYS2. If one needs an environment more close to Unix, the MSYS2-people suggest to use Cygwin. I created pull-request #375 that enhances our build-system to automatically to create a pkg-config-file depending on the installation path. It needs some testing ;-) Are you interested in working further on this to create an automated package that avoids copying files around? Like the libssh2 or doxygen-package I suggested above? Maybe, once a version with my PR merged is released and the package has good enough quality, you could even submit it to @Alexpux/MINGW-packages? |
Can you please explain what you mean here in more detail? I do not really understand 😕 |
f03d51a
to
a1a557b
Compare
b8ac392
to
1ffacd4
Compare
Msys2 fuse library pkg-config and pacman package to be consumed by makepkg