rugged 0.28.3.1 → 0.28.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +36 -16
  5. data/vendor/libgit2/COPYING +28 -0
  6. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +5 -1
  7. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  8. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
  10. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
  11. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
  12. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  13. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
  14. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
  15. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
  16. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
  17. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
  18. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  19. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
  20. data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
  21. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  22. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  23. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  24. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  25. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  26. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  27. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  28. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
  29. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  30. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  31. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  32. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  33. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  34. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  35. data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
  36. data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
  37. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  38. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  39. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  40. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  41. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  42. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  43. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  44. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  45. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  46. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  47. data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
  48. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  49. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  50. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  51. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  52. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  53. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  54. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  55. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  56. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  57. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  58. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  59. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  60. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  61. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  62. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  63. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  64. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  65. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  66. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  67. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  68. data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
  69. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  70. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  71. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  72. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  73. data/vendor/libgit2/include/git2.h +2 -0
  74. data/vendor/libgit2/include/git2/apply.h +22 -2
  75. data/vendor/libgit2/include/git2/attr.h +19 -12
  76. data/vendor/libgit2/include/git2/blame.h +2 -2
  77. data/vendor/libgit2/include/git2/blob.h +44 -12
  78. data/vendor/libgit2/include/git2/buffer.h +20 -14
  79. data/vendor/libgit2/include/git2/cert.h +135 -0
  80. data/vendor/libgit2/include/git2/checkout.h +46 -14
  81. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  82. data/vendor/libgit2/include/git2/clone.h +2 -2
  83. data/vendor/libgit2/include/git2/commit.h +23 -1
  84. data/vendor/libgit2/include/git2/common.h +7 -5
  85. data/vendor/libgit2/include/git2/config.h +12 -12
  86. data/vendor/libgit2/include/git2/cred.h +308 -0
  87. data/vendor/libgit2/include/git2/deprecated.h +243 -3
  88. data/vendor/libgit2/include/git2/describe.h +4 -4
  89. data/vendor/libgit2/include/git2/diff.h +16 -14
  90. data/vendor/libgit2/include/git2/filter.h +8 -0
  91. data/vendor/libgit2/include/git2/index.h +2 -1
  92. data/vendor/libgit2/include/git2/indexer.h +48 -4
  93. data/vendor/libgit2/include/git2/merge.h +6 -10
  94. data/vendor/libgit2/include/git2/net.h +0 -5
  95. data/vendor/libgit2/include/git2/object.h +2 -14
  96. data/vendor/libgit2/include/git2/odb.h +3 -2
  97. data/vendor/libgit2/include/git2/odb_backend.h +5 -4
  98. data/vendor/libgit2/include/git2/oid.h +1 -1
  99. data/vendor/libgit2/include/git2/pack.h +12 -1
  100. data/vendor/libgit2/include/git2/proxy.h +5 -3
  101. data/vendor/libgit2/include/git2/rebase.h +46 -2
  102. data/vendor/libgit2/include/git2/refs.h +19 -0
  103. data/vendor/libgit2/include/git2/remote.h +35 -12
  104. data/vendor/libgit2/include/git2/repository.h +24 -2
  105. data/vendor/libgit2/include/git2/revert.h +1 -1
  106. data/vendor/libgit2/include/git2/stash.h +3 -3
  107. data/vendor/libgit2/include/git2/status.h +25 -16
  108. data/vendor/libgit2/include/git2/submodule.h +20 -3
  109. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  110. data/vendor/libgit2/include/git2/sys/cred.h +90 -0
  111. data/vendor/libgit2/include/git2/sys/odb_backend.h +48 -4
  112. data/vendor/libgit2/include/git2/sys/refdb_backend.h +57 -21
  113. data/vendor/libgit2/include/git2/sys/repository.h +5 -1
  114. data/vendor/libgit2/include/git2/sys/transport.h +2 -2
  115. data/vendor/libgit2/include/git2/tag.h +11 -2
  116. data/vendor/libgit2/include/git2/trace.h +2 -2
  117. data/vendor/libgit2/include/git2/transport.h +11 -340
  118. data/vendor/libgit2/include/git2/tree.h +1 -1
  119. data/vendor/libgit2/include/git2/types.h +4 -89
  120. data/vendor/libgit2/include/git2/version.h +2 -2
  121. data/vendor/libgit2/include/git2/worktree.h +5 -5
  122. data/vendor/libgit2/src/CMakeLists.txt +88 -222
  123. data/vendor/libgit2/src/alloc.c +2 -14
  124. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +3 -4
  125. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  126. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  127. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  128. data/vendor/libgit2/src/apply.c +60 -30
  129. data/vendor/libgit2/src/attr.c +70 -64
  130. data/vendor/libgit2/src/attr_file.c +189 -96
  131. data/vendor/libgit2/src/attr_file.h +9 -9
  132. data/vendor/libgit2/src/attrcache.c +44 -46
  133. data/vendor/libgit2/src/attrcache.h +2 -1
  134. data/vendor/libgit2/src/blame.c +17 -5
  135. data/vendor/libgit2/src/blame.h +1 -1
  136. data/vendor/libgit2/src/blame_git.c +21 -7
  137. data/vendor/libgit2/src/blob.c +81 -17
  138. data/vendor/libgit2/src/blob.h +2 -2
  139. data/vendor/libgit2/src/branch.c +29 -5
  140. data/vendor/libgit2/src/buffer.c +14 -7
  141. data/vendor/libgit2/src/cache.c +26 -33
  142. data/vendor/libgit2/src/cache.h +1 -1
  143. data/vendor/libgit2/src/cc-compat.h +5 -0
  144. data/vendor/libgit2/src/checkout.c +26 -16
  145. data/vendor/libgit2/src/cherrypick.c +9 -3
  146. data/vendor/libgit2/src/clone.c +29 -7
  147. data/vendor/libgit2/src/clone.h +4 -0
  148. data/vendor/libgit2/src/commit.c +69 -21
  149. data/vendor/libgit2/src/commit.h +6 -0
  150. data/vendor/libgit2/src/commit_list.c +28 -76
  151. data/vendor/libgit2/src/commit_list.h +2 -2
  152. data/vendor/libgit2/src/common.h +3 -75
  153. data/vendor/libgit2/src/config.c +31 -40
  154. data/vendor/libgit2/src/config.h +7 -6
  155. data/vendor/libgit2/src/config_backend.h +12 -0
  156. data/vendor/libgit2/src/config_cache.c +39 -39
  157. data/vendor/libgit2/src/config_entries.c +69 -99
  158. data/vendor/libgit2/src/config_entries.h +1 -0
  159. data/vendor/libgit2/src/config_file.c +337 -380
  160. data/vendor/libgit2/src/config_mem.c +12 -16
  161. data/vendor/libgit2/src/config_parse.c +49 -29
  162. data/vendor/libgit2/src/config_parse.h +13 -12
  163. data/vendor/libgit2/src/config_snapshot.c +206 -0
  164. data/vendor/libgit2/src/crlf.c +14 -14
  165. data/vendor/libgit2/src/describe.c +21 -20
  166. data/vendor/libgit2/src/diff.c +43 -58
  167. data/vendor/libgit2/src/diff.h +2 -1
  168. data/vendor/libgit2/src/diff_driver.c +37 -38
  169. data/vendor/libgit2/src/diff_file.c +9 -7
  170. data/vendor/libgit2/src/diff_file.h +1 -1
  171. data/vendor/libgit2/src/diff_generate.c +135 -85
  172. data/vendor/libgit2/src/diff_generate.h +2 -2
  173. data/vendor/libgit2/src/diff_parse.c +1 -1
  174. data/vendor/libgit2/src/diff_print.c +25 -13
  175. data/vendor/libgit2/src/diff_stats.c +1 -1
  176. data/vendor/libgit2/src/diff_tform.c +4 -4
  177. data/vendor/libgit2/src/errors.c +12 -22
  178. data/vendor/libgit2/src/errors.h +81 -0
  179. data/vendor/libgit2/src/features.h.in +9 -2
  180. data/vendor/libgit2/src/fetch.c +7 -2
  181. data/vendor/libgit2/src/fetchhead.c +1 -1
  182. data/vendor/libgit2/src/filebuf.c +6 -10
  183. data/vendor/libgit2/src/filebuf.h +2 -2
  184. data/vendor/libgit2/src/filter.c +16 -8
  185. data/vendor/libgit2/src/{fileops.c → futils.c} +21 -17
  186. data/vendor/libgit2/src/{fileops.h → futils.h} +5 -5
  187. data/vendor/libgit2/src/global.c +12 -40
  188. data/vendor/libgit2/src/global.h +0 -2
  189. data/vendor/libgit2/src/hash.c +61 -0
  190. data/vendor/libgit2/src/hash.h +19 -21
  191. data/vendor/libgit2/src/hash/sha1.h +38 -0
  192. data/vendor/libgit2/src/hash/{hash_collisiondetect.h → sha1/collisiondetect.c} +14 -17
  193. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
  194. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +15 -19
  195. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  196. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  197. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -14
  198. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  199. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -11
  200. data/vendor/libgit2/src/hash/{hash_openssl.h → sha1/openssl.c} +14 -18
  201. data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
  202. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  203. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  204. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  205. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
  206. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +34 -24
  207. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  208. data/vendor/libgit2/src/hashsig.c +1 -1
  209. data/vendor/libgit2/src/idxmap.c +91 -65
  210. data/vendor/libgit2/src/idxmap.h +151 -15
  211. data/vendor/libgit2/src/ignore.c +32 -38
  212. data/vendor/libgit2/src/index.c +66 -43
  213. data/vendor/libgit2/src/index.h +1 -1
  214. data/vendor/libgit2/src/indexer.c +69 -70
  215. data/vendor/libgit2/src/integer.h +39 -4
  216. data/vendor/libgit2/src/iterator.c +27 -22
  217. data/vendor/libgit2/src/map.h +1 -1
  218. data/vendor/libgit2/src/merge.c +58 -44
  219. data/vendor/libgit2/src/merge_driver.c +4 -4
  220. data/vendor/libgit2/src/merge_file.c +1 -1
  221. data/vendor/libgit2/src/mwindow.c +18 -23
  222. data/vendor/libgit2/src/mwindow.h +4 -4
  223. data/vendor/libgit2/src/net.c +184 -0
  224. data/vendor/libgit2/src/net.h +36 -0
  225. data/vendor/libgit2/src/netops.c +55 -165
  226. data/vendor/libgit2/src/netops.h +3 -25
  227. data/vendor/libgit2/src/notes.c +2 -2
  228. data/vendor/libgit2/src/object.c +2 -2
  229. data/vendor/libgit2/src/object.h +2 -0
  230. data/vendor/libgit2/src/odb.c +41 -23
  231. data/vendor/libgit2/src/odb.h +3 -2
  232. data/vendor/libgit2/src/odb_loose.c +17 -10
  233. data/vendor/libgit2/src/odb_mempack.c +10 -23
  234. data/vendor/libgit2/src/odb_pack.c +4 -4
  235. data/vendor/libgit2/src/offmap.c +43 -55
  236. data/vendor/libgit2/src/offmap.h +102 -24
  237. data/vendor/libgit2/src/oid.c +6 -1
  238. data/vendor/libgit2/src/oidmap.c +39 -57
  239. data/vendor/libgit2/src/oidmap.h +99 -19
  240. data/vendor/libgit2/src/pack-objects.c +25 -32
  241. data/vendor/libgit2/src/pack-objects.h +1 -1
  242. data/vendor/libgit2/src/pack.c +45 -47
  243. data/vendor/libgit2/src/pack.h +12 -14
  244. data/vendor/libgit2/src/parse.c +10 -0
  245. data/vendor/libgit2/src/parse.h +3 -3
  246. data/vendor/libgit2/src/patch.c +1 -1
  247. data/vendor/libgit2/src/patch_generate.c +2 -2
  248. data/vendor/libgit2/src/patch_parse.c +124 -31
  249. data/vendor/libgit2/src/path.c +95 -27
  250. data/vendor/libgit2/src/path.h +2 -0
  251. data/vendor/libgit2/src/pathspec.c +13 -13
  252. data/vendor/libgit2/src/pool.c +26 -22
  253. data/vendor/libgit2/src/pool.h +7 -7
  254. data/vendor/libgit2/src/posix.c +7 -7
  255. data/vendor/libgit2/src/posix.h +12 -1
  256. data/vendor/libgit2/src/proxy.c +7 -2
  257. data/vendor/libgit2/src/push.c +10 -5
  258. data/vendor/libgit2/src/reader.c +2 -2
  259. data/vendor/libgit2/src/rebase.c +66 -7
  260. data/vendor/libgit2/src/refdb.c +12 -0
  261. data/vendor/libgit2/src/refdb_fs.c +214 -165
  262. data/vendor/libgit2/src/reflog.c +11 -13
  263. data/vendor/libgit2/src/refs.c +24 -18
  264. data/vendor/libgit2/src/refspec.c +9 -16
  265. data/vendor/libgit2/src/regexp.c +221 -0
  266. data/vendor/libgit2/src/regexp.h +97 -0
  267. data/vendor/libgit2/src/remote.c +50 -52
  268. data/vendor/libgit2/src/remote.h +2 -2
  269. data/vendor/libgit2/src/repository.c +115 -100
  270. data/vendor/libgit2/src/repository.h +49 -40
  271. data/vendor/libgit2/src/revert.c +8 -3
  272. data/vendor/libgit2/src/revparse.c +18 -19
  273. data/vendor/libgit2/src/revwalk.c +63 -30
  274. data/vendor/libgit2/src/revwalk.h +20 -0
  275. data/vendor/libgit2/src/settings.c +5 -0
  276. data/vendor/libgit2/src/sortedcache.c +12 -26
  277. data/vendor/libgit2/src/sortedcache.h +1 -1
  278. data/vendor/libgit2/src/stash.c +45 -65
  279. data/vendor/libgit2/src/status.c +15 -9
  280. data/vendor/libgit2/src/streams/openssl.c +20 -0
  281. data/vendor/libgit2/src/streams/socket.c +2 -2
  282. data/vendor/libgit2/src/strmap.c +37 -84
  283. data/vendor/libgit2/src/strmap.h +105 -33
  284. data/vendor/libgit2/src/submodule.c +102 -70
  285. data/vendor/libgit2/src/submodule.h +1 -1
  286. data/vendor/libgit2/src/sysdir.c +11 -1
  287. data/vendor/libgit2/src/tag.c +10 -2
  288. data/vendor/libgit2/src/trace.c +1 -1
  289. data/vendor/libgit2/src/trace.h +2 -2
  290. data/vendor/libgit2/src/trailer.c +46 -32
  291. data/vendor/libgit2/src/transaction.c +10 -9
  292. data/vendor/libgit2/src/transports/auth.c +10 -9
  293. data/vendor/libgit2/src/transports/auth.h +11 -4
  294. data/vendor/libgit2/src/transports/auth_negotiate.c +23 -9
  295. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  296. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  297. data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
  298. data/vendor/libgit2/src/transports/cred.c +6 -6
  299. data/vendor/libgit2/src/transports/git.c +11 -16
  300. data/vendor/libgit2/src/transports/http.c +419 -276
  301. data/vendor/libgit2/src/transports/http.h +1 -1
  302. data/vendor/libgit2/src/transports/local.c +9 -9
  303. data/vendor/libgit2/src/transports/smart.c +17 -17
  304. data/vendor/libgit2/src/transports/smart.h +2 -2
  305. data/vendor/libgit2/src/transports/smart_protocol.c +36 -60
  306. data/vendor/libgit2/src/transports/ssh.c +46 -36
  307. data/vendor/libgit2/src/transports/winhttp.c +231 -207
  308. data/vendor/libgit2/src/tree-cache.c +14 -7
  309. data/vendor/libgit2/src/tree.c +10 -24
  310. data/vendor/libgit2/src/unix/map.c +1 -1
  311. data/vendor/libgit2/src/unix/posix.h +1 -11
  312. data/vendor/libgit2/src/userdiff.h +3 -1
  313. data/vendor/libgit2/src/util.c +51 -53
  314. data/vendor/libgit2/src/util.h +16 -21
  315. data/vendor/libgit2/src/wildmatch.c +320 -0
  316. data/vendor/libgit2/src/wildmatch.h +23 -0
  317. data/vendor/libgit2/src/win32/map.c +3 -5
  318. data/vendor/libgit2/src/win32/path_w32.c +12 -2
  319. data/vendor/libgit2/src/win32/path_w32.h +0 -29
  320. data/vendor/libgit2/src/win32/posix.h +1 -4
  321. data/vendor/libgit2/src/win32/posix_w32.c +40 -5
  322. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  323. data/vendor/libgit2/src/win32/thread.c +5 -10
  324. data/vendor/libgit2/src/win32/w32_buffer.c +7 -3
  325. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  326. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +0 -93
  327. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  328. data/vendor/libgit2/src/win32/w32_stack.c +4 -9
  329. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  330. data/vendor/libgit2/src/win32/w32_util.c +31 -0
  331. data/vendor/libgit2/src/win32/w32_util.h +6 -32
  332. data/vendor/libgit2/src/worktree.c +36 -22
  333. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  334. data/vendor/libgit2/src/xdiff/xmerge.c +12 -0
  335. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  336. metadata +98 -34
  337. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  338. data/vendor/libgit2/deps/regex/COPYING +0 -502
  339. data/vendor/libgit2/deps/regex/config.h +0 -7
  340. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  341. data/vendor/libgit2/deps/regex/regex.c +0 -92
  342. data/vendor/libgit2/deps/regex/regex.h +0 -582
  343. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  344. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  345. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  346. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  347. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  348. data/vendor/libgit2/libgit2.pc.in +0 -13
  349. data/vendor/libgit2/src/fnmatch.c +0 -248
  350. data/vendor/libgit2/src/fnmatch.h +0 -48
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 446cc7095e381c2b5000771a5dd6d8ebccb2f73bd932354dd3e65c13b4b46110
4
- data.tar.gz: 6233da45db5c54c03adfcfc69b403c3179cc762b0b2f8d144684532b56dc436c
3
+ metadata.gz: 8b93b0622457dd265eda742c507b7b59bbe8b9a5fb247f5213c0c840f0ca0f12
4
+ data.tar.gz: 383f23dea3926744b64563c58ba9901fbb24f9d37a87eaae6ca65e65c690bd63
5
5
  SHA512:
6
- metadata.gz: 8a4cd776895a8cf25cfc30fa3e49cccf72e85482bf865732b68c514464046c762b2f9a8467c47cfcbde748335eac53bc15ff3d1970504ecb96df327c66c0c746
7
- data.tar.gz: 52efde64ee141187e7dc623cf3cd8362dc8b94c82f3fabeb8314f346a8a4eb93e66566ec5da3c8e1df6175889d373e2a400aad07d0edaa8ae60d0fad1fc45ee6
6
+ metadata.gz: a4a38d4113ab106f7260b93953e11ad58752385749a4c169eb5141f591a31d5198d40957e90e1b8ae4f8da6ab5814c3f00bd38b4958d7cac844c56954f0f28d6
7
+ data.tar.gz: 20e52602d85a6468b9fb40c1eaab15e95d054a42a5cd79a831c5c8129a66a416e6fbffe5efa4f79c013d8aca18383146f874db65bda32916da470b24a7d6c712
@@ -4,5 +4,5 @@
4
4
  # For full terms see the included LICENSE file.
5
5
 
6
6
  module Rugged
7
- Version = VERSION = '0.28.3.1'
7
+ Version = VERSION = '0.28.4'
8
8
  end
@@ -23,6 +23,7 @@ Dmitry Kovega
23
23
  Emeric Fermas
24
24
  Emmanuel Rodriguez
25
25
  Eric Myhre
26
+ Erik Aigner
26
27
  Florian Forster
27
28
  Holger Weiss
28
29
  Ingmar Vanhassel
@@ -12,7 +12,7 @@
12
12
  # > cmake --build . --target install
13
13
 
14
14
  PROJECT(libgit2 C)
15
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
15
+ CMAKE_MINIMUM_REQUIRED(VERSION 3.5.1)
16
16
  CMAKE_POLICY(SET CMP0015 NEW)
17
17
  IF(POLICY CMP0051)
18
18
  CMAKE_POLICY(SET CMP0051 NEW)
@@ -50,21 +50,29 @@ OPTION(BUILD_EXAMPLES "Build library usage example apps" OFF)
50
50
  OPTION(BUILD_FUZZERS "Build the fuzz targets" OFF)
51
51
  OPTION(TAGS "Generate tags" OFF)
52
52
  OPTION(PROFILE "Generate profiling information" OFF)
53
- OPTION(ENABLE_TRACE "Enables tracing support" OFF)
53
+ OPTION(ENABLE_TRACE "Enables tracing support" ON)
54
54
  OPTION(LIBGIT2_FILENAME "Name of the produced binary" OFF)
55
-
56
- SET(SHA1_BACKEND "CollisionDetection" CACHE STRING
57
- "Backend to use for SHA1. One of Generic, OpenSSL, Win32, CommonCrypto, mbedTLS, CollisionDetection.")
58
55
  OPTION(USE_SSH "Link with libssh2 to enable SSH support" ON)
59
56
  OPTION(USE_HTTPS "Enable HTTPS support. Can be set to a specific backend" ON)
57
+ OPTION(USE_SHA1 "Enable SHA1. Can be set to CollisionDetection(ON)/HTTPS/Generic" ON)
60
58
  OPTION(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
61
59
  OPTION(USE_STANDALONE_FUZZERS "Enable standalone fuzzers (compatible with gcc)" OFF)
60
+ OPTION(USE_LEAK_CHECKER "Run tests with leak checker" OFF)
62
61
  OPTION(VALGRIND "Configure build for valgrind" OFF)
63
- OPTION(USE_EXT_HTTP_PARSER "Use system HTTP_Parser if available" ON)
64
62
  OPTION(DEBUG_POOL "Enable debug pool allocator" OFF)
65
63
  OPTION(ENABLE_WERROR "Enable compilation with -Werror" OFF)
66
64
  OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib" OFF)
65
+ SET(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
67
66
  OPTION(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
67
+ SET(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
68
+
69
+ IF (UNIX)
70
+ IF (NOT USE_HTTPS)
71
+ OPTION(USE_NTLMCLIENT "Enable NTLM support on Unix." OFF )
72
+ ELSE()
73
+ OPTION(USE_NTLMCLIENT "Enable NTLM support on Unix." ON )
74
+ ENDIF()
75
+ ENDIF()
68
76
 
69
77
  IF (UNIX AND NOT APPLE)
70
78
  OPTION(ENABLE_REPRODUCIBLE_BUILDS "Enable reproducible builds" OFF)
@@ -232,10 +240,22 @@ ELSE ()
232
240
  ENABLE_WARNINGS(shift-count-overflow)
233
241
  ENABLE_WARNINGS(unused-const-variable)
234
242
  ENABLE_WARNINGS(unused-function)
235
- ENABLE_WARNINGS(format)
236
- ENABLE_WARNINGS(format-security)
237
243
  ENABLE_WARNINGS(int-conversion)
238
- DISABLE_WARNINGS(documentation-deprecated-sync)
244
+
245
+ # MinGW uses gcc, which expects POSIX formatting for printf, but
246
+ # uses the Windows C library, which uses its own format specifiers.
247
+ # Disable format specifier warnings.
248
+ IF(MINGW)
249
+ DISABLE_WARNINGS(format)
250
+ DISABLE_WARNINGS(format-security)
251
+ ELSE()
252
+ ENABLE_WARNINGS(format)
253
+ ENABLE_WARNINGS(format-security)
254
+ ENDIF()
255
+
256
+ IF("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
257
+ DISABLE_WARNINGS(documentation-deprecated-sync)
258
+ ENDIF()
239
259
 
240
260
  IF (PROFILE)
241
261
  SET(CMAKE_C_FLAGS "-pg ${CMAKE_C_FLAGS}")
@@ -243,6 +263,11 @@ ELSE ()
243
263
  ENDIF ()
244
264
  ENDIF()
245
265
 
266
+ # Ensure that MinGW provides the correct header files.
267
+ IF (WIN32 AND NOT CYGWIN)
268
+ ADD_DEFINITIONS(-DWIN32 -D_WIN32_WINNT=0x0600)
269
+ ENDIF()
270
+
246
271
  IF( NOT CMAKE_CONFIGURATION_TYPES )
247
272
  # Build Debug by default
248
273
  IF (NOT CMAKE_BUILD_TYPE)
@@ -310,10 +335,5 @@ IF(BUILD_FUZZERS)
310
335
  ADD_SUBDIRECTORY(fuzzers)
311
336
  ENDIF()
312
337
 
313
- IF(CMAKE_VERSION VERSION_GREATER 3)
314
- FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
315
- FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
316
- ELSE()
317
- PRINT_ENABLED_FEATURES()
318
- PRINT_DISABLED_FEATURES()
319
- ENDIF()
338
+ FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
339
+ FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
@@ -991,3 +991,31 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
991
991
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
992
992
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
993
993
  SOFTWARE.
994
+
995
+ ----------------------------------------------------------------------
996
+
997
+ The bundled wildmatch code is licensed under the BSD license:
998
+
999
+ Copyright Rich Salz.
1000
+ All rights reserved.
1001
+
1002
+ Redistribution and use in any form are permitted provided that the
1003
+ following restrictions are are met:
1004
+
1005
+ 1. Source distributions must retain this entire copyright notice
1006
+ and comment.
1007
+ 2. Binary distributions must include the acknowledgement ``This
1008
+ product includes software developed by Rich Salz'' in the
1009
+ documentation or other materials provided with the
1010
+ distribution. This must not be represented as an endorsement
1011
+ or promotion without specific prior written permission.
1012
+ 3. The origin of this software must not be misrepresented, either
1013
+ by explicit claim or by omission. Credits must appear in the
1014
+ source and documentation.
1015
+ 4. Altered versions must be plainly marked as such in the source
1016
+ and documentation and must not be misrepresented as being the
1017
+ original software.
1018
+
1019
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1020
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1021
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -7,5 +7,9 @@ MACRO(DISABLE_WARNINGS flag)
7
7
  ENDMACRO()
8
8
 
9
9
  IF(ENABLE_WERROR)
10
- ADD_C_FLAG_IF_SUPPORTED(-Werror)
10
+ IF(MSVC)
11
+ ADD_COMPILE_OPTIONS(-WX)
12
+ ELSE()
13
+ ADD_C_FLAG_IF_SUPPORTED(-Werror)
14
+ ENDIF()
11
15
  ENDIF()
@@ -10,14 +10,14 @@ FIND_PATH(COREFOUNDATION_INCLUDE_DIR NAMES CoreFoundation.h)
10
10
  FIND_LIBRARY(COREFOUNDATION_LIBRARIES NAMES CoreFoundation)
11
11
  IF (COREFOUNDATION_INCLUDE_DIR AND COREFOUNDATION_LIBRARIES)
12
12
  IF (NOT CoreFoundation_FIND_QUIETLY)
13
- MESSAGE("-- Found CoreFoundation ${COREFOUNDATION_LIBRARIES}")
13
+ MESSAGE(STATUS "Found CoreFoundation ${COREFOUNDATION_LIBRARIES}")
14
14
  ENDIF()
15
15
  SET(COREFOUNDATION_FOUND TRUE)
16
16
  SET(COREFOUNDATION_LDFLAGS "-framework CoreFoundation")
17
17
  ENDIF ()
18
18
 
19
19
  IF (CoreFoundation_FIND_REQUIRED AND NOT COREFOUNDATION_FOUND)
20
- MESSAGE(FATAL "-- CoreFoundation not found")
20
+ MESSAGE(FATAL_ERROR "CoreFoundation not found")
21
21
  ENDIF()
22
22
 
23
23
  MARK_AS_ADVANCED(
@@ -6,7 +6,7 @@
6
6
  #
7
7
  # Read-Only variables:
8
8
  # GSSAPI_FLAVOR_MIT - set to TURE if MIT Kerberos has been found
9
- # GSSAPI_FLAVOR_HEIMDAL - set to TRUE if Heimdal Keberos has been found
9
+ # GSSAPI_FLAVOR_HEIMDAL - set to TRUE if Heimdal Kerberos has been found
10
10
  # GSSAPI_FOUND - system has GSSAPI
11
11
  # GSSAPI_INCLUDE_DIR - the GSSAPI include directory
12
12
  # GSSAPI_LIBRARIES - Link these to use GSSAPI
@@ -0,0 +1,28 @@
1
+ # Find GSS.framework
2
+ # This will define :
3
+ #
4
+ # GSSFRAMEWORK_FOUND
5
+ # GSSFRAMEWORK_INCLUDE_DIR
6
+ # GSSFRAMEWORK_LIBRARIES
7
+ # GSSFRAMEWORK_LDFLAGS
8
+ #
9
+
10
+ FIND_PATH(GSSFRAMEWORK_INCLUDE_DIR NAMES GSS.h)
11
+ FIND_LIBRARY(GSSFRAMEWORK_LIBRARIES NAMES GSS)
12
+ IF (GSSFRAMEWORK_INCLUDE_DIR AND GSSFRAMEWORK_LIBRARIES)
13
+ IF (NOT CoreFoundation_FIND_QUIETLY)
14
+ MESSAGE(STATUS "Found GSS.framework ${GSSFRAMEWORK_LIBRARIES}")
15
+ ENDIF()
16
+ SET(GSSFRAMEWORK_FOUND TRUE)
17
+ SET(GSSFRAMEWORK_LDFLAGS "-framework GSS")
18
+ ENDIF ()
19
+
20
+ IF (GSS_FIND_REQUIRED AND NOT GSSFRAMEWORK_FOUND)
21
+ MESSAGE(FATAL_ERROR "CoreFoundation not found")
22
+ ENDIF()
23
+
24
+ MARK_AS_ADVANCED(
25
+ GSSFRAMEWORK_INCLUDE_DIR
26
+ GSSFRAMEWORK_LIBRARIES
27
+ GSSFRAMEWORK_LDFLAGS
28
+ )
@@ -0,0 +1,38 @@
1
+ # Copyright (C) 2007-2009 LuaDist.
2
+ # Created by Peter Kapec <kapecp@gmail.com>
3
+ # Redistribution and use of this file is allowed according to the terms of the MIT license.
4
+ # For details see the COPYRIGHT file distributed with LuaDist.
5
+ # Note:
6
+ # Searching headers and libraries is very simple and is NOT as powerful as scripts
7
+ # distributed with CMake, because LuaDist defines directories to search for.
8
+ # Everyone is encouraged to contact the author with improvements. Maybe this file
9
+ # becomes part of CMake distribution sometimes.
10
+
11
+ # - Find pcre
12
+ # Find the native PCRE headers and libraries.
13
+ #
14
+ # PCRE_INCLUDE_DIRS - where to find pcre.h, etc.
15
+ # PCRE_LIBRARIES - List of libraries when using pcre.
16
+ # PCRE_FOUND - True if pcre found.
17
+
18
+ # Look for the header file.
19
+ FIND_PATH(PCRE_INCLUDE_DIR NAMES pcreposix.h)
20
+
21
+ # Look for the library.
22
+ FIND_LIBRARY(PCRE_LIBRARY NAMES pcre)
23
+ FIND_LIBRARY(PCRE_POSIX_LIBRARY NAMES pcreposix)
24
+
25
+ # Handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if all listed variables are TRUE.
26
+ INCLUDE(FindPackageHandleStandardArgs)
27
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG PCRE_LIBRARY PCRE_POSIX_LIBRARY PCRE_INCLUDE_DIR)
28
+
29
+ # Copy the results to the output variables.
30
+ IF(PCRE_FOUND)
31
+ SET(PCRE_LIBRARIES ${PCRE_LIBRARY} ${PCRE_POSIX_LIBRARY})
32
+ SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR})
33
+ ELSE(PCRE_FOUND)
34
+ SET(PCRE_LIBRARIES)
35
+ SET(PCRE_INCLUDE_DIRS)
36
+ ENDIF(PCRE_FOUND)
37
+
38
+ MARK_AS_ADVANCED(PCRE_INCLUDE_DIRS PCRE_LIBRARIES)
@@ -0,0 +1,37 @@
1
+ # Copyright (C) 2007-2009 LuaDist.
2
+ # Created by Peter Kapec <kapecp@gmail.com>
3
+ # Redistribution and use of this file is allowed according to the terms of the MIT license.
4
+ # For details see the COPYRIGHT file distributed with LuaDist.
5
+ # Note:
6
+ # Searching headers and libraries is very simple and is NOT as powerful as scripts
7
+ # distributed with CMake, because LuaDist defines directories to search for.
8
+ # Everyone is encouraged to contact the author with improvements. Maybe this file
9
+ # becomes part of CMake distribution sometimes.
10
+
11
+ # - Find pcre
12
+ # Find the native PCRE2 headers and libraries.
13
+ #
14
+ # PCRE2_INCLUDE_DIRS - where to find pcre.h, etc.
15
+ # PCRE2_LIBRARIES - List of libraries when using pcre.
16
+ # PCRE2_FOUND - True if pcre found.
17
+
18
+ # Look for the header file.
19
+ FIND_PATH(PCRE2_INCLUDE_DIR NAMES pcre2posix.h)
20
+
21
+ # Look for the library.
22
+ FIND_LIBRARY(PCRE2_LIBRARY NAMES pcre2-8)
23
+
24
+ # Handle the QUIETLY and REQUIRED arguments and set PCRE2_FOUND to TRUE if all listed variables are TRUE.
25
+ INCLUDE(FindPackageHandleStandardArgs)
26
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE2 DEFAULT_MSG PCRE2_LIBRARY PCRE2_INCLUDE_DIR)
27
+
28
+ # Copy the results to the output variables.
29
+ IF(PCRE2_FOUND)
30
+ SET(PCRE2_LIBRARIES ${PCRE2_LIBRARY})
31
+ SET(PCRE2_INCLUDE_DIRS ${PCRE2_INCLUDE_DIR})
32
+ ELSE(PCRE2_FOUND)
33
+ SET(PCRE2_LIBRARIES)
34
+ SET(PCRE2_INCLUDE_DIRS)
35
+ ENDIF(PCRE2_FOUND)
36
+
37
+ MARK_AS_ADVANCED(PCRE2_INCLUDE_DIRS PCRE2_LIBRARIES)
@@ -11,7 +11,7 @@ FIND_PATH(SECURITY_INCLUDE_DIR NAMES Security/Security.h)
11
11
  FIND_LIBRARY(SECURITY_LIBRARIES NAMES Security)
12
12
  IF (SECURITY_INCLUDE_DIR AND SECURITY_LIBRARIES)
13
13
  IF (NOT Security_FIND_QUIETLY)
14
- MESSAGE("-- Found Security ${SECURITY_LIBRARIES}")
14
+ MESSAGE(STATUS "Found Security ${SECURITY_LIBRARIES}")
15
15
  ENDIF()
16
16
  SET(SECURITY_FOUND TRUE)
17
17
  SET(SECURITY_LDFLAGS "-framework Security")
@@ -19,7 +19,7 @@ IF (SECURITY_INCLUDE_DIR AND SECURITY_LIBRARIES)
19
19
  ENDIF ()
20
20
 
21
21
  IF (Security_FIND_REQUIRED AND NOT SECURITY_FOUND)
22
- MESSAGE(FATAL "-- Security not found")
22
+ MESSAGE(FATAL_ERROR "Security not found")
23
23
  ENDIF()
24
24
 
25
25
  MARK_AS_ADVANCED(
@@ -1,3 +1,5 @@
1
+ INCLUDE(FeatureSummary)
2
+
1
3
  CHECK_STRUCT_HAS_MEMBER ("struct stat" st_mtim "sys/types.h;sys/stat.h"
2
4
  HAVE_STRUCT_STAT_ST_MTIM LANGUAGE C)
3
5
  CHECK_STRUCT_HAS_MEMBER ("struct stat" st_mtimespec "sys/types.h;sys/stat.h"
@@ -17,4 +19,8 @@ ENDIF()
17
19
 
18
20
  IF (HAVE_STRUCT_STAT_NSEC OR WIN32)
19
21
  OPTION( USE_NSEC "Care about sub-second file mtimes and ctimes" ON )
22
+ ELSE()
23
+ SET(USE_NSEC OFF)
20
24
  ENDIF()
25
+
26
+ ADD_FEATURE_INFO(nanoseconds USE_NSEC "whether to use sub-second file mtimes and ctimes")
@@ -0,0 +1,110 @@
1
+ # pkg-config file generation
2
+ #
3
+ # Uses the following globals:
4
+ # - PKG_BUILD_PREFIX: the build location (aka prefix). Defaults to CMAKE_INSTALL_PREFIX
5
+ # - PKG_BUILD_LIBDIR: the libdir location. Defaults to ${prefix}/lib.
6
+ # - PKG_BUILD_INCLUDEDIR: the includedir location. Defaults to ${prefix}/include.
7
+ #
8
+
9
+ function(pkg_build_config)
10
+ set(options)
11
+ set(oneValueArgs NAME DESCRIPTION VERSION FILENAME LIBS_SELF)
12
+ set(multiValueArgs LIBS PRIVATE_LIBS REQUIRES CFLAGS)
13
+
14
+ cmake_parse_arguments(PKGCONFIG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
15
+
16
+ if (NOT DEFINED PKGCONFIG_FILENAME AND DEFINED PKGCONFIG_NAME)
17
+ set(PKGCONFIG_FILENAME ${PKGCONFIG_NAME})
18
+ endif()
19
+ if (NOT DEFINED PKGCONFIG_FILENAME)
20
+ message(FATAL_ERROR "Missing FILENAME argument")
21
+ endif()
22
+ set(PKGCONFIG_FILE "${PROJECT_BINARY_DIR}/${PKGCONFIG_FILENAME}.pc")
23
+
24
+ if (NOT DEFINED PKGCONFIG_DESCRIPTION)
25
+ message(FATAL_ERROR "Missing DESCRIPTION argument")
26
+ endif()
27
+
28
+ if (NOT DEFINED PKGCONFIG_VERSION)
29
+ message(FATAL_ERROR "Missing VERSION argument")
30
+ endif()
31
+
32
+ if (DEFINED PKG_BUILD_PREFIX)
33
+ set(PKGCONFIG_PREFIX "${PKG_BUILD_PREFIX}")
34
+ else()
35
+ set(PKGCONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")
36
+ endif()
37
+
38
+ if(DEFINED PKG_BUILD_LIBDIR)
39
+ if (IS_ABSOLUTE ${PKG_BUILD_LIBDIR})
40
+ set(PKGCONFIG_LIBDIR ${PKG_BUILD_LIBDIR})
41
+ else()
42
+ set(PKGCONFIG_LIBDIR "\${prefix}/${PKG_BUILD_LIBDIR}")
43
+ endif()
44
+ else()
45
+ set(PKGCONFIG_LIBDIR "\${prefix}/lib")
46
+ endif()
47
+
48
+ if(DEFINED PKG_BUILD_INCLUDEDIR)
49
+ if (IS_ABSOLUTE ${PKG_BUILD_INCLUDEDIR})
50
+ set(PKGCONFIG_INCLUDEDIR ${PKG_BUILD_INCLUDEDIR})
51
+ else()
52
+ set(PKGCONFIG_INCLUDEDIR "\${prefix}/${PKG_BUILD_INCLUDEDIR}")
53
+ endif()
54
+ else()
55
+ set(PKGCONFIG_INCLUDEDIR "\${prefix}/include")
56
+ endif()
57
+
58
+ # Write .pc "header"
59
+ file(WRITE "${PKGCONFIG_FILE}"
60
+ "prefix=\"${PKGCONFIG_PREFIX}\"\n"
61
+ "libdir=\"${PKGCONFIG_LIBDIR}\"\n"
62
+ "includedir=\"${PKGCONFIG_INCLUDEDIR}\"\n"
63
+ "\n"
64
+ "Name: ${PKGCONFIG_NAME}\n"
65
+ "Description: ${PKGCONFIG_DESCRIPTION}\n"
66
+ "Version: ${PKGCONFIG_VERSION}\n"
67
+ )
68
+
69
+ # Prepare Libs
70
+ if(NOT DEFINED PKGCONFIG_LIBS_SELF)
71
+ set(PKGCONFIG_LIBS_SELF "${PKGCONFIG_FILE}")
72
+ endif()
73
+
74
+ if(NOT DEFINED PKGCONFIG_LIBS)
75
+ set(PKGCONFIG_LIBS "-l${PKGCONFIG_LIBS_SELF}")
76
+ else()
77
+ list(INSERT PKGCONFIG_LIBS 0 "-l${PKGCONFIG_LIBS_SELF}")
78
+ endif()
79
+
80
+ list(REMOVE_DUPLICATES PKGCONFIG_LIBS)
81
+ string(REPLACE ";" " " PKGCONFIG_LIBS "${PKGCONFIG_LIBS}")
82
+ file(APPEND "${PKGCONFIG_FILE}" "Libs: -L\${libdir} ${PKGCONFIG_LIBS}\n")
83
+
84
+ # Prepare Libs.private
85
+ if(DEFINED PKGCONFIG_PRIVATE_LIBS)
86
+ list(REMOVE_DUPLICATES PKGCONFIG_PRIVATE_LIBS)
87
+ string(REPLACE ";" " " PKGCONFIG_PRIVATE_LIBS "${PKGCONFIG_PRIVATE_LIBS}")
88
+ file(APPEND "${PKGCONFIG_FILE}" "Libs.private: ${PKGCONFIG_PRIVATE_LIBS}\n")
89
+ endif()
90
+
91
+ # Prepare Requires.private
92
+ if(DEFINED PKGCONFIG_REQUIRES)
93
+ list(REMOVE_DUPLICATES PKGCONFIG_REQUIRES)
94
+ string(REPLACE ";" " " PKGCONFIG_REQUIRES "${PKGCONFIG_REQUIRES}")
95
+ file(APPEND "${PKGCONFIG_FILE}" "Requires.private: ${PKGCONFIG_REQUIRES}\n")
96
+ endif()
97
+
98
+ # Prepare Cflags
99
+ if(DEFINED PKGCONFIG_CFLAGS)
100
+ string(REPLACE ";" " " PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS}")
101
+ else()
102
+ set(PKGCONFIG_CFLAGS "")
103
+ endif()
104
+ file(APPEND "${PKGCONFIG_FILE}" "Cflags: -I\${includedir} ${PKGCONFIG_CFLAGS}\n")
105
+
106
+ # Install .pc file
107
+ install(FILES "${PKGCONFIG_FILE}"
108
+ DESTINATION "${PKGCONFIG_PREFIX}/${PKGCONFIG_LIBDIR}/pkgconfig"
109
+ )
110
+ endfunction()