Package Details: cpp-httplib-compiled 0.9.2-1

Git Clone URL: https://aur.archlinux.org/cpp-httplib-compiled.git (read-only, click to copy)
Package Base: cpp-httplib-compiled
Description: A C++ HTTP/HTTPS server and client library (compiled version)
Upstream URL: https://github.com/yhirose/cpp-httplib
Keywords: networking requests
Licenses: MIT
Conflicts: cpp-httplib
Provides: cpp-httplib=0.9.2, libhttplib.so
Submitter: sum01
Maintainer: sum01
Last Packager: sum01
Votes: 1
Popularity: 0.000176
First Submitted: 2020-05-29 03:12
Last Updated: 2021-07-24 03:27

Pinned Comments

sum01 commented on 2021-04-23 19:40

@Spixmaster so cpp-httplib is header-only, and must be compiled in any project you use it in. cpp-httplib-compiled splits the header into an interface (header) and implementation, allowing you to just link against it. Lets you avoid having to compile it every time.

Latest Comments

1 2 Next › Last »

abouvier commented on 2021-07-24 03:52

You should make a split package to ease maintenance, because the source code and version are the same for both the header-only and compiled packages :p

abouvier commented on 2021-07-19 19:59

Sorry, it's just me who finds the -compiled suffix ugly :p

Otherwise, could you add libhttplib.so to provides=() [1] and set CMAKE_BUILD_TYPE to None [2]? :D

[1] https://wiki.archlinux.org/title/Arch_package_guidelines#Package_relations

[2] https://wiki.archlinux.org/title/CMake_package_guidelines#CMake_can_automatically_override_the_default_compiler_optimization_flag

sum01 commented on 2021-07-19 18:02

@abouvier I'm not sure there's much benefit to renaming it now. libhttplib also seems a bit redundant. I believe the pinned comment is enough to explain the differences between the two (as well as what I have in the description).

See the previous conversation I had with FabioLolix about there not really being any "standard" way to go about something like this.

abouvier commented on 2021-07-19 01:21

And what do you think of the name libhttplib for the compiled version? :p

abouvier commented on 2021-07-16 04:48

@sum01 Sorry I meant the public header interface of the library, not the full header-only library.

sum01 commented on 2021-07-16 04:20

@abouvier yes that's how I was using it. I suppose it could make sense to require them all, at least for the compiled version.

As for having both in the same package cpp-httplib, I don't think that would work, as the Cmake files vary based on if it was header-only or compiled. I could have it install only the compiled version's cmake files, but there are minor differences between them regardless (namely, it's aware it's header-only).

abouvier commented on 2021-07-16 03:05

Are you using the optdepends array as an "optmakedepends"? It's not working because users need to manually install the required libraries before building the package.

I think you should build the library with every option enabled. Or create multiple packages for every possible combination of options :p

And I vote for the cpp-httplib package containing headers and shared lib ;)

sum01 commented on 2021-05-17 19:19

There are header-only packages in official with no -header suffix. Considering header-only is the default in upstream, and there's no real rule for this, I think I'll leave it as-is.

FabioLolix commented on 2021-05-17 17:09

Honestly I can't point to a wiki page, but all programs are shipped compiled by default and headers only packages have the -headers suffix headers compiled

About pkgbuilds name, it can't be changed. You can upload cpp-httplib-header and submit a merge request of cpp-httplib into it and later upload my revision of cpp-httplib and submit a merge request of cpp-httplib-compiled into it, so votes, comments and notification are preserved for the 'same scope' pkgbuilds

sum01 commented on 2021-05-17 16:48

@FabioLolix is that an AUR packaging rule? I looked when I originally created these but couldn't find anything to go by. The reason I went with the "normal" package (cpp-httplib) as the header-only version is because it's the default state of the upstream, and compilation is an alternate method that's available.

Also, I thought I can't just change the name in the PKGBUILD since a TU has to do something?