Add libfaketime
- [ x] Changes comply with the maintainer guide.
- [x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
- [x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all
find_packagecalls are REQUIRED, are satisfied byvcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx. - [x] The versioning scheme in
vcpkg.jsonmatches what upstream says. - [x] The license declaration in
vcpkg.jsonmatches what upstream says. - [x] The installed as the "copyright" file matches what upstream says.
- [x] The source code of the component installed comes from an authoritative source.
- [x] The generated "usage text" is accurate. See adding-usage for context.
- [x] The version database is fixed by rerunning
./vcpkg x-add-version --alland committing the result. - [x] Only one version is in the new port's versions file.
- [x] Only one version is added to each modified port's versions file.
@microsoft-github-policy-service agree company="TileDB"
0.9.10 is declared with 451debe90ea3a82a03d3ba30eeaa0abc3e9409a3, but the local port has a different SHA 43c3d525b4e071c4265c512fda07775af3a0df6a.
Please update the port's version fields and then run:
vcpkg x-add-version libfaketime
git add versions
git commit -m "Update version database"
to add the new version.
To attempt to resolve all errors at once, run:
vcpkg x-add-version --all
Why don't you use the Makefile provided by the upstream to build this port?
For our use case only libfaketime.so is needed and I prefer using CMake. I hope it is not an issue :) .
The vcpkg policy is that if the upstream provides multiple build methods, we prefer CMake. However, if the upstream only provides one available build method, we need to use the upstream's build method instead of using a custom CMake.
I reworked this PR to use Make instead of CMake but right now it fails due to I assume incorrect working directory, is there a chance to change it?:
-- Building x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
Command failed: /usr/bin/make V=1 -j 9 -f Makefile all
Working Directory: /home/dudoslav/Projects/vcpkg/buildtrees/libfaketime/x64-linux-dbg/
See logs for more information:
/home/dudoslav/Projects/vcpkg/buildtrees/libfaketime/build-x64-linux-dbg-err.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_build_make.cmake:136 (vcpkg_execute_build_process)
scripts/cmake/vcpkg_install_make.cmake:2 (vcpkg_build_make)
ports/libfaketime/portfile.cmake:10 (vcpkg_install_make)
scripts/ports.cmake:175 (include)
error: building libfaketime:x64-linux failed with: BUILD_FAILED
Elapsed time to handle libfaketime:x64-linux: 1.7 s
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+libfaketime
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?title=[libfaketime]+Build+error+on+x64-linux&body=Copy+issue+body+from+%2Fhome%2Fdudoslav%2FProjects%2Fvcpkg%2Finstalled%2Fvcpkg%2Fissue_body.md
(base) taco:vcpkg dudoslav$ cat /home/dudoslav/Projects/vcpkg/buildtrees/libfaketime/build-x64-linux-dbg-err.log
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: /home/dudoslav/Projects/vcpkg/buildtrees/libfaketime/build-x64-linux-dbg-err.log
───────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ make: Makefile: No such file or directory
2 │ make: *** No rule to make target 'Makefile'. Stop.
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
(base) taco:vcpkg dudoslav$
But I can see that the source is in
src instead of /home/dudoslav/Projects/vcpkg/buildtrees/libfaketime/x64-linux-dbg/
Sorry for the late reply. Any ideas what might be wrong with these builds?
BTW @dudoslav the PR has some other errors with regards to the versions database. I cleaned them up and pushed a branch to https://github.com/teo-tsirpanis/vcpkg/tree/libfaketime which you can checkout and force-push. But them I'm getting the same errors. 😕
IIRC now the key barrier for ports using make without configure is passing all required options (per build type) into the make install step. Some options are easily available for the configure step but not for make.
And that's why I add a small configure script to some ports. It creates a Makefile.vcpkg which captures the configuration options and passed them on to the actual Makefile. Example: libcap.