You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, on arch linux C++ packages start including modulemap files for C++ libraries as provided by upstream authors. The way range-v3 is currently packaged, installs headers on /usr/include/range/v3, /usr/include/meta, etc and the modulemap file at /usr/include/module.modulemap. This has started to create file conflicts with other packages that do the same thing. See https://bugs.archlinux.org/task/67143
I am not sure what would be the right solution here. Some possibilities:
upstream range-v3 would install separate modulemap files under /usr/include/range/v3, /usr/include/meta and /usr/include/concepts.
downstream arch linux distributes their own modulemap files that do not conflict between packages.
Could the modulemap file be renamed to range.modulemap? Is there any contract on the name of that file?
downstream arch installs the range library on /usr/include/range/{range,meta,concepts} so the modulemap is installed to /usr/include/range/module.modulemap
So, what would be the right way to package range-v3, or any C++ modularized library, by downstream distributions?
Thanks.
The text was updated successfully, but these errors were encountered:
The modulemap was a contribution from @gnzlbg, and I know very little about the mechanics of clang's modules and modulemap files. @gnzlbg, can you comment please?
Currently, on arch linux C++ packages start including modulemap files for C++ libraries as provided by upstream authors. The way range-v3 is currently packaged, installs headers on
/usr/include/range/v3
,/usr/include/meta
, etc and the modulemap file at/usr/include/module.modulemap
. This has started to create file conflicts with other packages that do the same thing. See https://bugs.archlinux.org/task/67143I am not sure what would be the right solution here. Some possibilities:
upstream range-v3 would install separate modulemap files under
/usr/include/range/v3
,/usr/include/meta
and/usr/include/concepts
.downstream arch linux distributes their own modulemap files that do not conflict between packages.
Could the modulemap file be renamed to
range.modulemap
? Is there any contract on the name of that file?downstream arch installs the range library on
/usr/include/range/{range,meta,concepts}
so the modulemap is installed to/usr/include/range/module.modulemap
So, what would be the right way to package range-v3, or any C++ modularized library, by downstream distributions?
Thanks.
The text was updated successfully, but these errors were encountered: