diff options
Diffstat (limited to 'dev-db')
94 files changed, 5515 insertions, 1277 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz Binary files differindex b3b0c98d57e0..545a754eb663 100644 --- a/dev-db/Manifest.gz +++ b/dev-db/Manifest.gz diff --git a/dev-db/citus/Manifest b/dev-db/citus/Manifest index 4d02384fa509..9d398785586e 100644 --- a/dev-db/citus/Manifest +++ b/dev-db/citus/Manifest @@ -1,8 +1,10 @@ DIST citus-12.0.1.tar.gz 6740395 BLAKE2B ca004f8026d94c1ed70c9c7450726287aff415c13b80b93d25a19fbae9a79cbbeaec51521fc7922d5574c75bddb9537d42d656121ca586f4512afe773be5bf76 SHA512 db9b882c63ef6ab848a85d547390d4fc61b97056485dcc8fa51c289a302b78d0de959e29c27a91c494fd3e20491f6a96e96436d8766d02b2770f0e375b94564e -DIST citus-12.1.5.tar.gz 6912425 BLAKE2B ec08387ed6883ecd27f432843ae1068fdc657b62e4bd74e2feb4f806ccf7f3954c600cb5dce27db90ef3fccfd9ddf43bd88bb73fd44c8f39c8517999264e3255 SHA512 267cf5e52a23eabd3ac86eedb9929fbeae09b16279db5656d328ddbf64879fe3691e82fb0d15efb216e3c254b37cb3b6a5ca9c5097fc5f075c8e7b9ec3337a93 DIST citus-12.1.6.tar.gz 6920293 BLAKE2B 193bbf890709e8926253112e10084ab566af9ad4bd3b802e9eff792580c8ac8f5caa04fe17f1c04d306dea5047a85e60fba2ddc074ffbfd2bec9a407d789321f SHA512 f2b19ba915d2eb52393b3b1a6800977d7f592319ffdbf2491d35fb2cf2221766400dce954198306f1edb91affd9bc6e53c683dd3116fe8b7ae0895fed254b6d5 +DIST citus-12.1.7.tar.gz 6923683 BLAKE2B 114dbb30d0e353f3d368db13ab265082f952774fa013a7c7d7848e4c3686a6d3c4b47d259ddf3660e58d3e59c2b0802c51edac3df28c44717e2ba30ae063cd7c SHA512 3c24bfde6e1786c324a5fbd64ede70b557966e15a0852c1497af21a5e12cd10e46798ff0e3042fb23fccb3ccbc5f6ccdfbcdbf96ac6a50ec511d9df6740977e1 +DIST citus-13.0.1.tar.gz 6901310 BLAKE2B 21c4bb728f8aed546bf92429487b503a1f69f02e2e9b6ff93a7494820733f3b2f9af63b3773de8fa47a25f37011b55ded746ca007a59a3b5332e6ccd6170945f SHA512 dc7ec7b28d654726457e8cd9a74078fc58e7d8792246baec7f09a6d595a4277a60ab2ddcd4068607c253281e68959a1f9b7a42b817849e797be5a24631d480b7 EBUILD citus-12.0.1.ebuild 584 BLAKE2B 152c7a153df6d52c8835d54ad414406207005ab4812c48e75bd22d02cc2bc94a20d935558b6b3087213d76b11bada869d3f526b5e96c6727de3a051b936be3bc SHA512 bec170f41b98cc4d86e7cb7ea8efdde635aa6895dde62ac4e4daff06b82af0159339947f1c6477aaf4b0c7f95c4b241faa42b7731fab848c2798db8077181c00 -EBUILD citus-12.1.5.ebuild 587 BLAKE2B 5809698fa280ab814b6487401e0f4599eb69f38fe3203b73ce1b32f6533d2149319c75c03e34aee6b23ecbeb9d6c18d730d01f57068a4f4bf8795c5aae1ae19f SHA512 b41baaed95939faf6f3661544f6e1efc2ba5c9453723c0db41686cd912f642551a1be3618f5e2f60397c6cd01226036ca19b3414ec2af1ae5ba0e49d5aa94769 EBUILD citus-12.1.6.ebuild 587 BLAKE2B 5809698fa280ab814b6487401e0f4599eb69f38fe3203b73ce1b32f6533d2149319c75c03e34aee6b23ecbeb9d6c18d730d01f57068a4f4bf8795c5aae1ae19f SHA512 b41baaed95939faf6f3661544f6e1efc2ba5c9453723c0db41686cd912f642551a1be3618f5e2f60397c6cd01226036ca19b3414ec2af1ae5ba0e49d5aa94769 +EBUILD citus-12.1.7.ebuild 605 BLAKE2B f989b5b36ce8daedadb4e9bd03aa0a7433df2e926eb775883956214088e36b96413900a1f944d0d47a23e4ac683f1f96ef332b0d4ed8058307e2601a983f1206 SHA512 2e997930cdad2254fa5f5d0f0915b46c0cb29101aaf8d4879fb02b9c842cd04bb4c20be49f1b5887737e754d10d9bb82ecc0778f86947e85b90a11dfcea28b89 +EBUILD citus-13.0.1.ebuild 605 BLAKE2B 0c9f064dbf0f5754cbdcfe949d1af1e30b6468b7c81348ce073bba531f8438bcebe33990d48f239f450aebd518aa3f1ea36b3662c2d7b567fa48dde634fd9c7e SHA512 4c155175af7a11242a0285c4b3821f5675fc45b8a249fd1b2ea7c09125eddce7bf5b353057b84382498b0626b92fa5dab17ac1116ec7929194f8feec72c93dee EBUILD citus-9999.ebuild 551 BLAKE2B 326c90fff472b883d97b5bebaea32404fec6755b893c16789bbfb9513b946c15db3eece57a7c3af747cdec3a942c6d55432a555375625f362a40a26064203312 SHA512 d742fa8d64c18316ab371ba146f2969c3ce4401e611ecf17038488cc2e178617681866c3e67bac8ce68f5985f1cfca939f33806000b6798bbc1bfd38c7f99434 MISC metadata.xml 361 BLAKE2B 4661dce471924e095b993bcb2cd32627e08535138f7c2b65b7471342a27cddeda67733d87e50924bf9702594299b158318ac11c59f2d75f2df94880852e4d69e SHA512 3337957bcc132440bb973175a4974800601de71f3effa8dab48edf2847ecd91da8c4790f8a094505c11375700fd0241b9b3f8727a99c54b06de1c30a6e6cf8af diff --git a/dev-db/citus/citus-12.1.5.ebuild b/dev-db/citus/citus-12.1.7.ebuild index c485f555445b..1bbb3bc173b5 100644 --- a/dev-db/citus/citus-12.1.5.ebuild +++ b/dev-db/citus/citus-12.1.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -28,5 +28,5 @@ DEPEND="${POSTGRES_DEP} RDEPEND="${DEPEND}" src_configure() { - postgres-multi_foreach econf + postgres-multi_foreach econf --without-libcurl } diff --git a/dev-db/citus/citus-13.0.1.ebuild b/dev-db/citus/citus-13.0.1.ebuild new file mode 100644 index 000000000000..d21d1b932005 --- /dev/null +++ b/dev-db/citus/citus-13.0.1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +POSTGRES_COMPAT=( 15 16 17 ) + +inherit postgres-multi + +DESCRIPTION="Open-source postgresql extension for clustering/multi-node setups" +HOMEPAGE="https://www.citusdata.com/" + +SRC_URI="https://github.com/citusdata/citus/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +IUSE="" +LICENSE="POSTGRESQL AGPL-3" + +KEYWORDS="~amd64" + +SLOT=0 + +RESTRICT="test" + +DEPEND="${POSTGRES_DEP} + app-arch/lz4 + app-arch/zstd + " +RDEPEND="${DEPEND}" + +src_configure() { + postgres-multi_foreach econf --without-libcurl +} diff --git a/dev-db/dbeaver-bin/Manifest b/dev-db/dbeaver-bin/Manifest index ff5d7e04e81b..65aec5b90434 100644 --- a/dev-db/dbeaver-bin/Manifest +++ b/dev-db/dbeaver-bin/Manifest @@ -1,7 +1,7 @@ -DIST dbeaver-ce-24.3.2-linux.gtk.aarch64-nojdk.tar.gz 88491639 BLAKE2B 4d5332e9a885ff6caf0cafefc7a5f76990e87639e7838fecb1b30415ee1ddd45b95d3dd605308ed81a77987ac631668b3bfb83597e62ca2370761a0614c8e80e SHA512 2e441ea51f25124f56e5b2a0d06f146a323a038c838db4be90b3822f06cdf9c004f4b67c756f293d7cc10cd38184ad99881193c9863d743da4ca902526d97246 -DIST dbeaver-ce-24.3.2-linux.gtk.x86_64-nojdk.tar.gz 88525311 BLAKE2B fc4dd9c803d76042cc0ccc9f2af1387846b72f6e485986bb2df3748ea6a6d6bdaef0a94b06bd86e4d931f1b840371a238c0b1077860ec83faf62c65a9d106703 SHA512 7525c5a0288e0a5df068d91a99d471cab64525f9aa1e623564a1a668cc9a9a0bf22833c8b3f540c657953c23f8c1f066b7d8a349c7facfd3ff29d9d3e6c36307 -DIST dbeaver-ce-24.3.3-linux.gtk.aarch64-nojdk.tar.gz 88658617 BLAKE2B 82a68747bf70692f9489d340e45a3ff860ad5c612400c6c040377cb8087accc798dd1689c8f573f60ff5ef586a04bb543d6e8eb621371d6973cf58ae9a28c428 SHA512 71f978eecdf5fb634f6a3c164cc8b7301508847efb5faa9efb0745278acc0f74b6e9a973fb9127b06c2854d1ab433842bd2882872cbd42c8f6375489f9440f84 -DIST dbeaver-ce-24.3.3-linux.gtk.x86_64-nojdk.tar.gz 88694419 BLAKE2B 5e63f5c82b1d57c0c2f9e76c39aff4837e7e1ff5da0147f9b5f089985a380f1f901cc2f752b90dfe65643a9a9f097b6f4579b363011be4436adeab9d3f2cbe6b SHA512 14c9ec29933b7235e60df717348e1ed0736e8e67d64fa09c31560a22a7072f39179ecf4637b65636733fe27c5872f702063c4dcbb2048ea0c94a6670e059405f -EBUILD dbeaver-bin-24.3.2.ebuild 1347 BLAKE2B 01478ada7aeded7d676cbf06adb46e916794c89d3bd870fb01393a62d35fbdb0570917030da9c840d77f231fae57b07cc9d464284e11f2cd07fbd12986a537d7 SHA512 5e1d108d48417cb3fda5e27be9c7e9b9c121ec1d36450c411994c59b73500bd4b2370f2a5316b90ead620334c5a8cf1ab494ad56bcb7c2026a681a80de7ae499 -EBUILD dbeaver-bin-24.3.3.ebuild 1347 BLAKE2B 01478ada7aeded7d676cbf06adb46e916794c89d3bd870fb01393a62d35fbdb0570917030da9c840d77f231fae57b07cc9d464284e11f2cd07fbd12986a537d7 SHA512 5e1d108d48417cb3fda5e27be9c7e9b9c121ec1d36450c411994c59b73500bd4b2370f2a5316b90ead620334c5a8cf1ab494ad56bcb7c2026a681a80de7ae499 +DIST dbeaver-ce-24.3.4-linux.gtk.aarch64-nojdk.tar.gz 88952315 BLAKE2B 6ae1b7f68dd2f2cbc63ad933c5f7a71a1bd73307e1691412e68e72c387a76b85c28adfbe9d5ad210c5af907dd4b34e2f9b32a7c6e6bba71d4ca6a5accd0e84ae SHA512 9786d74a7bbaae5961afc65f2084eb45c1566bb095fb0f7953d901638ba3675f63409c32d1aaaa850408debb75618d738cf30594f9c79a10b66524697805cf8e +DIST dbeaver-ce-24.3.4-linux.gtk.x86_64-nojdk.tar.gz 88986573 BLAKE2B b2c01856323f58e5e3454e3888c7532ac74252c77be887deae5cd4e28e58ff81c5dd65cdd95f2b2d095d7f63a09053c828cd9044ad0429fac84076d8785ddafa SHA512 0ae85fe8f3bdc7299b1b7ed069ee3aca7902e4302e750824b89ddf8a6211b763227f547546c9f5bb533e3f2ecee1955a475b1f64f62838b5675fdce07c7255fb +DIST dbeaver-ce-25.0.0-linux.gtk.aarch64-nojdk.tar.gz 89067069 BLAKE2B 3d22f2546a422570262b002a32ff1dadaebdca90286b28f67c77e712569d041c53375b2b00a5aa7751e65f810eb6be7af0853381bbc1f22aa9bf0e6a1c08dc5b SHA512 1ceb7b03a1c76182e02f267708e79ae3092e1c86017e5f66f754a37665e74a92d5cd4a3084f8966e0d4c79cd78b04a3c6e86f7fb40ac7988c82275a39254326f +DIST dbeaver-ce-25.0.0-linux.gtk.x86_64-nojdk.tar.gz 89097853 BLAKE2B 5a41745c9b496ed61b29c494e1ee14942c490e930f1dd7653f6792591508bf2a3e74aae076544fd89f00eb3e747f5701789ecec1ba99f97c23f03d56e25664e5 SHA512 5d8f602533b0f0357ff2df22ccc4326a19321d884e7c7c4eb0850cd72819f562f8ecde37c49677ce363fbd53cc6995fda29807f45c964b6a26926c1741bc8ed6 +EBUILD dbeaver-bin-24.3.4.ebuild 1347 BLAKE2B 01478ada7aeded7d676cbf06adb46e916794c89d3bd870fb01393a62d35fbdb0570917030da9c840d77f231fae57b07cc9d464284e11f2cd07fbd12986a537d7 SHA512 5e1d108d48417cb3fda5e27be9c7e9b9c121ec1d36450c411994c59b73500bd4b2370f2a5316b90ead620334c5a8cf1ab494ad56bcb7c2026a681a80de7ae499 +EBUILD dbeaver-bin-25.0.0.ebuild 1347 BLAKE2B 01478ada7aeded7d676cbf06adb46e916794c89d3bd870fb01393a62d35fbdb0570917030da9c840d77f231fae57b07cc9d464284e11f2cd07fbd12986a537d7 SHA512 5e1d108d48417cb3fda5e27be9c7e9b9c121ec1d36450c411994c59b73500bd4b2370f2a5316b90ead620334c5a8cf1ab494ad56bcb7c2026a681a80de7ae499 MISC metadata.xml 444 BLAKE2B d614defd513043df0e48068edb26a12e87836aeb5147088e7d6133a7a1c0082ed2ba21019c0685a8a445f914e489e3dc6a1f26117ea9d186991bc7dd9f2db495 SHA512 731b4bc1af75124f7e1e78870c9f689acebf36960a741b1f4be24b5179de19b26fc982276bc115216c40d0789b048e6db900ad33e945ec2b94b471366f13db22 diff --git a/dev-db/dbeaver-bin/dbeaver-bin-24.3.2.ebuild b/dev-db/dbeaver-bin/dbeaver-bin-24.3.4.ebuild index 6884c8f5a48a..6884c8f5a48a 100644 --- a/dev-db/dbeaver-bin/dbeaver-bin-24.3.2.ebuild +++ b/dev-db/dbeaver-bin/dbeaver-bin-24.3.4.ebuild diff --git a/dev-db/dbeaver-bin/dbeaver-bin-24.3.3.ebuild b/dev-db/dbeaver-bin/dbeaver-bin-25.0.0.ebuild index 6884c8f5a48a..6884c8f5a48a 100644 --- a/dev-db/dbeaver-bin/dbeaver-bin-24.3.3.ebuild +++ b/dev-db/dbeaver-bin/dbeaver-bin-25.0.0.ebuild diff --git a/dev-db/duckdb/Manifest b/dev-db/duckdb/Manifest new file mode 100644 index 000000000000..178239fcf7eb --- /dev/null +++ b/dev-db/duckdb/Manifest @@ -0,0 +1,5 @@ +DIST duckdb-1.2.0.tar.gz 89762895 BLAKE2B 37f5fa8abb09bb6d9a0b798efaca65170742dbb6aafd32b3420e76eb9ea662a84ba339e62bdb86217a83a2c76df41e4d9838fa573413e196de27a8d5308a5251 SHA512 f5bca7a3b6f763b4b1a1f39e53c6f818925584fb44886e291ac3546fe50de545e80d16b4120f0126020e44b601a1b9193f4faad7a3dc8799cda843b1965038f2 +DIST duckdb-1.2.1.tar.gz 89810599 BLAKE2B b6e9a9b55057d6813d506437ecbd3593f5d8d82068243dece6153564376df4c4d1712a8857a904dba17cee22e79f55cc677b45e94ca6084f1d744279e4b797f7 SHA512 7e2ec4f6d6be6d500b148bd845cc51fe8985190eed8ab6f6fe79012c216cad5592ab3329e2df6b091abcc6ea8937d66f47272baead798c7d711e5d73aa9ffaa7 +EBUILD duckdb-1.2.0-r1.ebuild 520 BLAKE2B 797b2f4d78522d5a741744087cf7c320ada20b3f0fe10f0965a50826e32238e6132ddc0aa0244beacd75ae26e1684e7a7aaf21aa7459c718a0384247503184c0 SHA512 162ea34b3e253b583eb4d873c511bd4349f7cd81b197da193b3e6e60c283995249d998eab32dc88dbd06888dea949871dcd25473f5973bd6f09a7971b1e73e52 +EBUILD duckdb-1.2.1.ebuild 621 BLAKE2B 71e1aabc6ab69bf9dc35bea3e9e6947f624f804837ca6dfa8773fd683bc1e0047f211d17666c21b7025747cfccf8b60d8e4dcf689a705a850ace2b6023f8d14d SHA512 a171712712a77e018008d63db2654b26dc319b285893f354aaaafa0711c7f54482b9d228e72c871a3d705d9acf54cd5a26c725ac1db16e449918ff9843fe5aa8 +MISC metadata.xml 326 BLAKE2B fb7c10c555b66099be0d17b099611ce88cc3ed4793ebd5712daa4de6f77d337db956af56709507134cdc86bc11f253a71255aa9edc75105b95f59ab87c31fb76 SHA512 92f54bebc5edd1a38c0e10d876666759e8ca386335868e4c2fbbcf613434dae5dad4a687384e2c445ac1018f58aeb91c065cba9434ed106d28f11ccfe5b91b2a diff --git a/dev-db/duckdb/duckdb-1.2.0-r1.ebuild b/dev-db/duckdb/duckdb-1.2.0-r1.ebuild new file mode 100644 index 000000000000..9e3138ba3787 --- /dev/null +++ b/dev-db/duckdb/duckdb-1.2.0-r1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="high-performance analytical database system" +HOMEPAGE="https://duckdb.org https://github.com/duckdb/duckdb" + +SRC_URI="https://github.com/duckdb/duckdb/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" + +SLOT="0" +KEYWORDS="~amd64" + +RESTRICT="test" + +src_configure() { + mycmakeargs=( "-DINSTALL_LIB_DIR=/usr/$(get_libdir)/" -DOVERRIDE_GIT_DESCRIBE=v${PV} ) + cmake_src_configure +} diff --git a/dev-db/duckdb/duckdb-1.2.1.ebuild b/dev-db/duckdb/duckdb-1.2.1.ebuild new file mode 100644 index 000000000000..d1cdf950958f --- /dev/null +++ b/dev-db/duckdb/duckdb-1.2.1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="high-performance analytical database system" +HOMEPAGE="https://duckdb.org https://github.com/duckdb/duckdb" + +SRC_URI="https://github.com/duckdb/duckdb/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" + +SLOT="0" +KEYWORDS="~amd64" + +RESTRICT="test" + +src_configure() { + mycmakeargs=( "-DINSTALL_LIB_DIR=/usr/$(get_libdir)/" + "-DOVERRIDE_GIT_DESCRIBE=v${PV}" + "-DBUILD_EXTENSIONS='autocomplete;icu;tpch;tpcds;json;jemalloc'" + "-DCXX_EXTRA=${CXXFLAGS}" + ) + cmake_src_configure +} diff --git a/dev-db/duckdb/metadata.xml b/dev-db/duckdb/metadata.xml new file mode 100644 index 000000000000..b54c09ddad0f --- /dev/null +++ b/dev-db/duckdb/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <upstream> + <remote-id type="github">duckdb/duckdb</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-db/freetds/Manifest b/dev-db/freetds/Manifest index ba7f400610e2..7e80597b8f9f 100644 --- a/dev-db/freetds/Manifest +++ b/dev-db/freetds/Manifest @@ -1,7 +1,5 @@ -DIST freetds-1.4.17.tar.bz2 2401147 BLAKE2B 7155f902043411e57a9244c16bae49aa095d1f6af0b40bd1dc1e6949b3d78b3c8e58a7b6b2284ebac9e7b26920485a8ae12b691cc838410835786be51f027c89 SHA512 df5804a4bea20f995ecd3ef3ae4b898b9d9b32af6827aa2bada95008c8b909b682779c6776efb0d778615e21ac7af20b4aa0d1518a7a0d50bb793f4688a0e1a9 -DIST freetds-1.4.23.tar.bz2 2402595 BLAKE2B aca65226d09ff95094c79330f10d19a5e8336222e5b19706d8c602405ddab4541e4c34da1c40b3c1765de1761f9a58a096250f22d53e2b4e13758b664ce7db36 SHA512 9b51b21d9c5dc7cac3d9fdccb3a600a6b3b2a0df6f7a0396497ba3377c9a6925b3e4ea3dfbb671bd4563c321692bea82c6f70c2ccefb30eaa0d006ebd3aac249 DIST freetds-1.4.24.tar.bz2 2402973 BLAKE2B ba6f31fe117c11abc0e0365bf0d10061e793bb9313774a5e2d9b6766fef54abbec6c1c27480a875438008a592f6ab9942bd41a19a4dd7388ca3c2728bf1b2a65 SHA512 f564c81abaec28a6c55476121fff47e8957af654197ed679cfebdbeaa4dfe5d0f9d5f900cd03b4260efc3da3f9cd41ee370fadb6b59da9f41d9006760e9609d9 -EBUILD freetds-1.4.17.ebuild 1443 BLAKE2B 50839c8c282f5dd4a1f6464d62ff594a37ca58523b40dc959c770808166be50eb6260c05c0a3f595eb840ab9330e74a3408a1bd4d89fc4f0e67b6f4a1e7ef059 SHA512 c381099fcf8decf905eb5922f7ec9bba6e8cc2d240bc6d8bdd1b30b5d76b0e76c17d9d71b386336a28f7b52b7f1dbdc9acb65b285ad1aad58f00044d8edd1120 -EBUILD freetds-1.4.23.ebuild 1716 BLAKE2B 2523ac3919aad8090761937e0a49f21d6b0def7582a30a3978d00a1737340ab76c0164e7d4e33056083957fe0607ba108acdfe0c55ebe42d7ccebbebaca5b32c SHA512 c23816f7be243364aefea7061a01811d185dd7f3ed554284447335f95b8678d0a5e000f1aca29ee998527952f5174b8ab60e9b9a8eb7a833d95d59149a1acc01 +DIST freetds-1.4.26.tar.bz2 2404182 BLAKE2B 9a15fb88fa8b34824861b4542a73e17cac6ada13889743487245504e7258b9db3def10bbc9a47402d76108b4571e07019f09b2eff3a951c2c95aea883e4be3f6 SHA512 19a9bf4ed3789bd3e9b8a182df1bf0fa373d3dd156a3e88256c350915a93a7505d48c9f50d8a6b6d2c6a3a01bf58ed4e7b2aa118df8180da7b01a4bef770387a EBUILD freetds-1.4.24.ebuild 1709 BLAKE2B 7d65d043aabf8a279078fb9289dce007be1e24f11135d10dc36b32de1b0252dcc2e649c7813d890e0405bedb309eabd26e17f00cd33c4b9580eb3b4227cc8ea4 SHA512 b32a2f90814bb85a0560ef6b978a07d1c84848b6814615288d6cf233e14bacbdbaf02745d66020ca0aef4d48178efc92640538eac669639eacd15041b32fb5bc -MISC metadata.xml 307 BLAKE2B ef2023a0b7e091f47fa6e6e8c225a905e7456cbcccedaab86c3c9aa237eeaf87e5cafed83650a6ca569b3cc70bcd14ad0badabd0e4bd1739b619dbd3c3877de4 SHA512 e5489d7a456f904586f31a9c1e4b51a83d6db0ad27a7964df0ddf5a2cf75d3ba1e22fd2765d25540987e35932005968aa321dee761b64550dab27620ab9be3d7 +EBUILD freetds-1.4.26.ebuild 1740 BLAKE2B 0512f336b5c07ccca67ba483bfa07a4628af3f58643688202a2261c0ee510514583f6d9cd36401585646cf266a51abb736e5596ad7d0b31c5a7c47fd8fbcb647 SHA512 36bc5250525eb0a7dbc97795197bf146eba538798a46b25a775efb4d95ab80cd677749b0e68f932b6eb59d37be44b0cf95133af71cf2b8c2e30f2cf63a67569d +MISC metadata.xml 497 BLAKE2B 61a5625cb9ba5c27423b5296f359fcbaec867b1cbcac63b160e4c68ff94f4ef2875a38082c3143e46848faf59030033efde9b10a25a8ee09ff35e229a1dca248 SHA512 67525810cf430907bbf63db81865b99c5d42c91bf7ad0f863d062ad5a0e78d1ec19d642ba93ef195e57297ee34d6e5102babdce1b5fb13567c6ce933502e811c diff --git a/dev-db/freetds/freetds-1.4.17.ebuild b/dev-db/freetds/freetds-1.4.17.ebuild deleted file mode 100644 index 223ac9092819..000000000000 --- a/dev-db/freetds/freetds-1.4.17.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Tabular Datastream Library" -HOMEPAGE="https://www.freetds.org/" -SRC_URI="https://www.freetds.org/files/stable/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos" - -IUSE="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs" -# iODBC and unixODBC are mutually-exclusive choices for -# the ODBC driver manager. Future versions of FreeTDS -# will throw an error if you specify both. -REQUIRED_USE="?? ( iodbc odbc )" - -RESTRICT="test" - -COMMON_DEPEND="app-alternatives/awk - gnutls? ( net-libs/gnutls:= ) - iconv? ( virtual/libiconv ) - iodbc? ( dev-db/libiodbc ) - kerberos? ( virtual/krb5 ) - odbc? ( dev-db/unixODBC ) - ssl? ( dev-libs/openssl:0= )" -DEPEND="${COMMON_DEPEND}" - -# bind-tools is needed because the osql script calls "host". -RDEPEND="${COMMON_DEPEND} - net-dns/bind-tools" - -src_configure() { - econf \ - --enable-shared \ - --disable-static \ - $(use_enable debug) \ - $(use_enable iconv libiconv) \ - $(use_enable kerberos krb5) \ - $(use_enable mssql msdblib) \ - $(use_with iodbc) \ - $(use_with odbc unixodbc "${EPREFIX}/usr") \ - $(use_with iconv libiconv-prefix "${EPREFIX}/usr") \ - $(use_with gnutls) \ - $(use_with ssl openssl "${EPREFIX}/usr") -} - -src_install() { - default - - find "${D}" -name '*.la' -delete || die -} diff --git a/dev-db/freetds/freetds-1.4.23.ebuild b/dev-db/freetds/freetds-1.4.26.ebuild index 28268059925d..f70647b245a1 100644 --- a/dev-db/freetds/freetds-1.4.23.ebuild +++ b/dev-db/freetds/freetds-1.4.26.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ DESCRIPTION="Tabular Datastream Library" HOMEPAGE="https://www.freetds.org/" SRC_URI="https://www.freetds.org/files/stable/${P}.tar.bz2" -LICENSE="GPL-2" +LICENSE="GPL-2+ LGPL-2+" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos" IUSE="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs" @@ -15,11 +15,11 @@ IUSE="debug gnutls iconv kerberos mssql iodbc odbc ssl static-libs" # the ODBC driver manager. Future versions of FreeTDS # will throw an error if you specify both. REQUIRED_USE="?? ( iodbc odbc )" -# Nearly wired up as of 1.4.23 but had link failures +# Nearly wired up as of 1.4.26 but had link failures like +# all_types: hidden symbol `tds_convert' isn't defined RESTRICT="test" -COMMON_DEPEND=" - app-alternatives/awk +DEPEND=" gnutls? ( net-libs/gnutls:= ) iconv? ( virtual/libiconv ) iodbc? ( dev-db/libiodbc ) @@ -27,33 +27,35 @@ COMMON_DEPEND=" odbc? ( dev-db/unixODBC ) ssl? ( dev-libs/openssl:= ) " -DEPEND="${COMMON_DEPEND}" # bind-tools is needed because the osql script calls "host". RDEPEND=" - ${COMMON_DEPEND} - net-dns/bind-tools + ${DEPEND} + net-dns/bind " +DOCS=( {NEWS,README}.md ) + src_configure() { - econf \ - --enable-shared \ - $(use_enable debug) \ - $(use_enable iconv libiconv) \ - $(use_enable kerberos krb5) \ - $(use_enable mssql msdblib) \ - $(use_with iodbc) \ - $(use_with odbc unixodbc "${EPREFIX}/usr") \ - $(use_with iconv libiconv-prefix "${EPREFIX}/usr") \ - $(use_with gnutls) \ + local myeconfargs=( + --enable-shared + $(use_enable debug) + $(use_enable iconv libiconv) + $(use_enable kerberos krb5) + $(use_enable mssql msdblib) + $(use_with gnutls) + $(use_with iodbc) + $(use_with iconv libiconv-prefix "${EPREFIX}/usr") + $(use_with odbc unixodbc "${EPREFIX}/usr") $(use_with ssl openssl "${EPREFIX}/usr") + ) + econf "${myeconfargs[@]}" } src_test() { # These tests need a running database. local XFAIL_TESTS=( corrupt dataread dynamic1 nulls - t0001 t0002 t0003 t0004 t0005 t0006 - toodynamic utf8_1 utf8_2 utf8_3 + t000{1..6} toodynamic utf8_{1..3} ) emake check XFAIL_TESTS="${XFAIL_TESTS[*]}" @@ -62,5 +64,5 @@ src_test() { src_install() { default - find "${D}" -name '*.la' -delete || die + find "${D}" -type f -name '*.la' -delete || die } diff --git a/dev-db/freetds/metadata.xml b/dev-db/freetds/metadata.xml index 778555752459..9c4e377a99c7 100644 --- a/dev-db/freetds/metadata.xml +++ b/dev-db/freetds/metadata.xml @@ -3,6 +3,9 @@ <pkgmetadata> <!-- maintainer-needed --> <upstream> + <bugs-to>https://github.com/FreeTDS/freetds/issues</bugs-to> + <changelog>https://github.com/FreeTDS/freetds/blob/master/NEWS.md</changelog> + <doc>https://www.freetds.org/docs.html</doc> <remote-id type="cpe">cpe:/a:freetds:freetds</remote-id> <remote-id type="github">FreeTDS/freetds</remote-id> </upstream> diff --git a/dev-db/influx-cli/Manifest b/dev-db/influx-cli/Manifest index 38d52dcd0f93..cce954ccec03 100644 --- a/dev-db/influx-cli/Manifest +++ b/dev-db/influx-cli/Manifest @@ -1,4 +1,7 @@ DIST influx-cli-2.7.3-deps.tar.xz 52915924 BLAKE2B 38ca630eb4445dfdd66ed47362cbad220e727c8ddab64eb262e4859577155038650e5d14fcdc6fd8f44c541db07d1b79503c7d9ec5fdd52595198293edf3850e SHA512 c2fa4b7d5d744a85de11f97e3172c9d51b2c1c7b2e31d35fbd15a6ba2b6c12cd4d265216ced0bd27d150d5d3ee619e7d972b67c63cfdbdfdfb69d84d966d881c DIST influx-cli-2.7.3.tar.gz 442354 BLAKE2B 3c69e6a2510a4b82830134b930ebc62446848f19cad302f35796853cebd53002963a2d9015512dbf60a4a24e86f237af1ce62c698231150a66331cd8718f2c69 SHA512 d2ffd56c7a1dee24e48afdf487e79b3f125f897fe1c642cccf64a9544134dd6692ebd40415624418597341c16c1afbd444b949c9e3d1bb825ebed5e3f8392dfa +DIST influx-cli-2.7.5-vendor.tar.xz 2851976 BLAKE2B 7c408252255bfe2dd1fbe203c47bc442925ca0a15dfa017ffb387ed8f038166fe91031e2bb497eb97a5cc3112935b56290cf85eeba64fad8d4164cc10f765372 SHA512 44d6d9ea60b3c3dac4d93d1092c5f0d8681b314e16d7a3a627ed29c378a5dec65a96626297d51e23989d091993c8c0bdac4469e712228c9a1088a6568098a432 +DIST influx-cli-2.7.5.tar.gz 443950 BLAKE2B 2e5b3e046683ba928269e1cc2d4a8d7664e0f71ae3cca84f719ccdb0902a5105d61aedf323c16f64e14e725163c01aeab41ad344d39cde276d25e866149ff1f9 SHA512 cae26640e7382aa22a4a7ed024cd62f098f592c1be98bec7d1469c0e1ccdcb5e3eee3c0dd08d4ee972e16e96c054e6c8f0cdfcfe27ce88e939219196dada9d67 EBUILD influx-cli-2.7.3.ebuild 607 BLAKE2B c4ba4dee85c09e92d79141901a4e819ee2c8adb2b6336ea407e81ccc44788e6327b43d5ae5ece9de6cf1abd8831d6357218ca33ee358183075785b8958110d19 SHA512 c84b3fef27f685c483db75447708ab70faf36b50893a3c07046669b30a4c7c9cbfe4973bec0547dc5771a4b762f124010257dfa97c621b9dd9bd1b6907e1e261 +EBUILD influx-cli-2.7.5-r1.ebuild 916 BLAKE2B b2fcd2e85294733523d00ee23836c39515b1650276926360c86c4f554c72836e4d41ac47c15d3d1082c9a9e459f2ea582dee5ab80b91797ffe0ee7768890f93c SHA512 7c35335c5e53de8ebcbfe266906512bbac574d4ade26063744d60aaba6bb113947a0ffefb299c4e94be6bb18d2eed739dc4c1d93735d8a08f3d67625be8a945a MISC metadata.xml 335 BLAKE2B ccdc9654f7819519bea209895c0a001e37c8297a7de8a55e283ab6ba9427fa4838c04f2d93f303b9d510e72538d076b7c768689be13ce9a384ab645c41cdf25f SHA512 9d5fafd31f2aa729643aa0c2535a0d2f35019706ae246fe5b1d85a388bdfb006a676853a29ea601e042fd39dcb6a4007d94176793d79eb50d9ba632e3c11aa5e diff --git a/dev-db/influx-cli/influx-cli-2.7.5-r1.ebuild b/dev-db/influx-cli/influx-cli-2.7.5-r1.ebuild new file mode 100644 index 000000000000..06363cd9be0e --- /dev/null +++ b/dev-db/influx-cli/influx-cli-2.7.5-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module shell-completion +MY_PV="${PV/_rc/-rc.}" + +DESCRIPTION="The command line for influxdb" +HOMEPAGE="https://github.com/influxdata/influx-cli" + +SRC_URI="https://github.com/influxdata/influx-cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-vendor.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +# Previous versions ship they own client +DEPEND="!<dev-db/influxdb-2.0.0" +RDEPEND="${DEPEND}" + +src_compile() { + unset LDFLAGS + emake + + cd bin/$(go env GOOS)/$(go env GOARCH)/ || die + ./influx completion zsh > influx-completion.zsh || die +} + +src_install() { + cd bin/$(go env GOOS)/$(go env GOARCH) || die + + dobin influx + # bash ones are provided by bash-completion package + newzshcomp influx-completion.zsh _influx +} diff --git a/dev-db/litecli/Manifest b/dev-db/litecli/Manifest index 6027c8b38c44..7c23793733ef 100644 --- a/dev-db/litecli/Manifest +++ b/dev-db/litecli/Manifest @@ -1,5 +1,5 @@ -DIST litecli-1.12.3.gh.tar.gz 884895 BLAKE2B eb4aeb8e268ae5d878aee960be68d86085ee87a1089d2f80e1f7be01c31b030ce12432656452867efc9a5b915b1c15ae69d1ab9b461a16586a1d76e001e4d51a SHA512 2b9dda031984d142a9341b19446d2cca366be98058ff57874e66fc60ee936b27f0b2900d7b00dffed058fd985028236148594372dac6a0010894d0502d7db04a DIST litecli-1.13.2.tar.gz 888874 BLAKE2B 88880027a9f6b30ce266c3e2989379121229a6332e9841822876c7ae76560f6b5b758cea2e7fac1b8355c1070e33f48fa6d18da329724474eb508fb9687535f1 SHA512 c1134e86d60390f70553984cc6c4bf166879c08f225da8162ea0c27e579b65051cb4bbc51be5894967f09bef807d1c721e6d3550ecfe2a25c7f73eb226373e73 -EBUILD litecli-1.12.3.ebuild 934 BLAKE2B e9714145a29e3e0f83b5362a46434f996a670affa564246a8d3bbc1dc979c42db1b7c872bef61063c1bb57c29bc92cd599989366356c7d48cc910164c8f55824 SHA512 d426940c7c7d598b77c1321fa39401cc79bcbf2bf5b4acc9ca7d5cc5b119026e401030d5ec72e4ffe9aa01d0937a84684c3ac8c6166859bc3cf1c4109276a2df +DIST litecli-1.14.4.tar.gz 894515 BLAKE2B 1cb218906a790802cc940f22cf8333d0b6645d0be4f8cc48f126459785768a7e53194500a104656a1458e72cd8b4f4996eb3f6978620950bcbc5c70f6cb4beb0 SHA512 8e380b5ffa3ebc9bed2a9a7ef1a250803fcac1531e9d7a324df2b62f82845083e588e8a5355128bdc48a294b0ac2937a91affbbd02bb26f50532fe1209bad593 EBUILD litecli-1.13.2.ebuild 937 BLAKE2B 509c095207acb63b2e99edd7b47f34fe9be8df1349450310267fbcfba557f224b35a4b7e03564d9b49ef4771011dbfeba9026a6f4b8dc67b00dd01a4d170f6be SHA512 22d103a2587909eb21cb59a5026e443915d6e161faba608ac6779bead147f15fd7b47d7360fd4678e050dc675253717f667076fa65f1f47b2b82cf9614f171de +EBUILD litecli-1.14.4.ebuild 939 BLAKE2B f688b01c7e676d2f853e4bd8baf7400a42667f9625bbb7470bee6d1e65139eaff6dca7e76bf86721a4c01d6f9bcdef5817e561bfa857cb2e3662f3c65901f00b SHA512 8066451e91795ecef521fbd44861ab55c266de0c930ad6246d262e60de888913f3a80039dcfd859717fd7c809cd23bf248a3b1c1ec695ed16291282be986253f MISC metadata.xml 558 BLAKE2B d0cc893d86444b930e255201d88d240ff83d534ffd502065bac82633b1575b175a430b795cc7cec00c31cbea33880f452b379361b5ea5abddd5ee386a12ee17b SHA512 44172f757590bb2c27a00b8d919c3f994f7f28b88c08ecc0b3d63d145fc5e773656b762a3997f512d61e1563826a62a87f9eaa2107063db422e3f100347e912b diff --git a/dev-db/litecli/litecli-1.12.3.ebuild b/dev-db/litecli/litecli-1.14.4.ebuild index d12d59e02200..0368b9e36c5a 100644 --- a/dev-db/litecli/litecli-1.12.3.ebuild +++ b/dev-db/litecli/litecli-1.14.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,15 +6,15 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{10..13} ) PYTHON_REQ_USE="sqlite" -inherit distutils-r1 +inherit distutils-r1 pypi DESCRIPTION="CLI for SQLite with auto-completion and syntax highlighting" HOMEPAGE="https://litecli.com/ https://github.com/dbcli/litecli" -SRC_URI="https://github.com/dbcli/litecli/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" +#SRC_URI="https://github.com/dbcli/litecli/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" RDEPEND=" >=dev-python/click-4.1[${PYTHON_USEDEP}] diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index 0bf583bc4a94..f1df715c5c1e 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -7,17 +7,22 @@ AUX my.cnf.distro-client 643 BLAKE2B 5ffd286907ee28c92c85bbcc9a6266555733f1115f2 AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882 DIST mariadb-10.11.10-patches-01.tar.xz 5300 BLAKE2B 842dd7002220ab6c164e50adcb2c0184752c1080e4c2c2609c431d8867b2ccf5b910b61d3f9a5f1e9b979d34423a5dbab1c3bced1e5d8b2af780addc9baddff5 SHA512 23a8e6d58927cadd39c84653069880039c4cbe6226d920550f3abdd995c0656013fef994cf4d23d34902c3cce7aa92a2819d5ef7f7c23ee9eca8a2720f4f6afa DIST mariadb-10.11.10.tar.gz 104463642 BLAKE2B c6101ea5094c5bb78cf55ba37026d2e18f48e59a54eef1849051acc2c64111b82b9eba73b909fe0f07d111521433b42d84f6d155bcdf6e4ed50c186767b078db SHA512 3a8655384813ba515ce185e8a03427785fbea75b3226e2a1db02839dd66c22622ba27eeb2ca7b3d840bba43720a4393bbf71eb4b2b9e41ab837629e89a8b5976 +DIST mariadb-10.11.11.tar.gz 105754084 BLAKE2B d722867840e01faeff3a4d7b3cb8f18bec45c4cf1dc75b207c3068a943b7db3b6d956cd04b4d878658f4e3d721dd1e2c7429a9a2c10689b7ff602f33d18a929a SHA512 d9c154207a9f435ce08d5fbfe31814a739e577c656ef9996cf7e60c2cad8b4c07e2de8d94b6191fefa2b5cbde56437b586f85f144d3b4fcec8533449ed8411ac +DIST mariadb-10.6-columnstore-with-boost-1.85.patch.xz 2848 BLAKE2B a0eb598ff34b65756cb730f0682d2c065adae828f04f7abe25255396be9c03788b232d7d2412d069b0887db94468d6cc378fbc077b9557f1bcb30d069b04a518 SHA512 843de29130e370b89c001b819d14647b95505e0aa1878728c8775e567527691c57c92e2040512aa55462eaf7859911981351e9c41ca81672bb9f68f8e8b86318 DIST mariadb-10.6.13-patches-01.tar.xz 4984 BLAKE2B 625d04310b02aad4fec4b633e9fab06636364f3c5ed3cb88e89acd4224786c3c9ed478b636ac699e77a888b73dab12cb279df41d6095e93e9c4ae3a159570286 SHA512 1e6ac167bfd77570e8ff5955aaa9a101d9387ac4857d856f1fb8c9a489c4c2a154481b9385584435e8dc95baef0dd3ef6831c7de2d6f004401cc338edcaa9d12 DIST mariadb-10.6.15.tar.gz 98204031 BLAKE2B 4534b82f1c1e16ce2c7c21879714e24b20fada36ef10a8a0dbe770c1d99055822fcaf146646b19b459cfd948bff0662d23f1f661a843919f90a354838bda7ee6 SHA512 61b5af8c2f8bd2f641aaa708941563d5f6ecc118acc9a154c009c3ae1d50e7360ae59241f87e5c2111775a3ffeb42a64f4853e9c7096b58d68a3695b5d0ef97c DIST mariadb-10.6.16-patches-01.tar.xz 4956 BLAKE2B a178930f7abe474e1419509c0bbabf783e1b931cfc3f4b4bddf426d9671d4e69e62a800d759f424f957562091c634049e594332ab15dc758e98d26c48ba69d1d SHA512 42969e6881cf2548c48fcce7f8439c9d56596ef038d55affcada45f4cd42a3666617f5786b69fe9ba42f11b06e85f43b722f2190aa7ed5badb461c48282751e5 DIST mariadb-10.6.17.tar.gz 99067793 BLAKE2B 9df7592eb11a92fc4cbf4f1913e11f7ae652effde44358ee930726473a40fc26e46e02dc79e8b16068df37c82afe6b3141305624174d2e44c53107065c57b1ee SHA512 e07cf3e90d93d6139969875b11d6df3210b2c9f69257688b392843a7caed0dc3b75ba8904384fd0a55c24ece624e04b68c005a3731ee68f3957787a27b52ad56 DIST mariadb-10.6.20-patches-01.tar.xz 5304 BLAKE2B dd038f4f60e9410965111fd912b5c59ad9bfb32e1a5be96279bcae77716c1a190d69c7bb56427e4e432cd544826377dae6703323515ea5d3632f9d65fd553965 SHA512 f8b492af00ae9ee968bc5bc294739570dc915c98d43eb23970f2a2686b4a8d0e3fa8728f230b01c58743845916e43cde3345ca2bea6a2fa307e4b5b49c58e5c9 DIST mariadb-10.6.20.tar.gz 102697156 BLAKE2B 8bd665406c3462890a783276f4946c92d8824f9b134ffc912908b8404c83aad2342f86391ff1a827420e0dc7221adfa0203eb76fceb1cd3dffc53acc421242cc SHA512 de5465551fa837b6834b8435a5f04f894c2c2d5d0fdb7a05373728e166755a384f19cebd4e87910240929d3657d361b3943616246b4fcf0d97cf706e317ece96 -DIST mariadb-11.4.4-patches-01.tar.xz 5300 BLAKE2B dbebe4e5068c8ce56dc11527e37aea16727723d7ac9351865e8761e95209900ca50782ab2ce44fd86ad2e70f59b6ffa9c0758f158c48870e343ce37bca37b9fb SHA512 af51163404c699e7580ffd1fa931f86dafa7e6471641ba40f7072a04b6f1f4df0e89cc89926be6062810d18c55b97e3c696367ae483fbabab0227e69d7866f99 -DIST mariadb-11.4.4.tar.gz 111017581 BLAKE2B 0680c7d0a93b60dc02bd5cba49fcc050245606edc6a14aead7995b5f4baa15d731b857d5f1ca4bec2febd1b0a0062c5162ff9a8231397a40c9a740db4e5264d0 SHA512 dfa4c137d67c11c997bf67bceb27d072c51831f35e2ad438fe2f234cb530eb74e3283429aef620036db06943d7309dec36a4d015f578fd2a1f933637681841fb -EBUILD mariadb-10.11.10.ebuild 42933 BLAKE2B 65fd393487e0a401e22a215cfd5846b2fda891a168c0bcdb2b2c53bee9acca7325e13262ad30242be2c4f06da52445bcb3d99b7b0387bbf8f7d5c449dcb6dfa6 SHA512 069b9f5f0ce373868fa86735a3619c795167e7aff660648d270f38dc607c7d6006466e24282c05d985c0f4f5486e18706d9f028ac6ee01bb5de208acc13d0746 -EBUILD mariadb-10.6.15.ebuild 42828 BLAKE2B 3d02a9a306819fee4d70481d97f8d2ae246864477a54a71199e69419f26e09ed20c7c3d7805940784c5d5e277d49c7b27b38211c001167b496324f6aec37681c SHA512 7ff2877e1254c86190595ac6283f1a2b37f63eb37c579fe53b1eb05e51a7ea1f8dae9444e31964bb7b0caee03524d74f5bb3d03aebe6ea4ea222bd82f781ec64 -EBUILD mariadb-10.6.17.ebuild 42881 BLAKE2B 1aa3df34c120f431a6713ee196310f4fff3357a9309ea2f70bbfeb5e03eb25e15941c1cd6501ac91222f28c71b2f5f8eda3a989e74d4496552648a4d967a330d SHA512 9287cce1af28095569a5fe8464fbd2585b045b537d19df86fe96183ef72bce3282a74f315af49c6fc49f4f3674a24652f433c0091c7f2440bc65d8a09e72188e -EBUILD mariadb-10.6.20.ebuild 42758 BLAKE2B 0594e11bdae6fe1417253d099ed2ddd5a6f9c8303b203950a2f027bcde8a092ef3e1715cf37d6cabf97a72a23ee92031bef26eeabef28b4f431a2dd0c4d005d1 SHA512 2fc023f42a4c2d40d4ae64af31515a656d4a8b0c20a9f2be3dcfae5630984747a216f6e748eb0548a36557adf9c8ec14c80699e908dc261e8c721d7da7f0ece4 -EBUILD mariadb-11.4.4.ebuild 42928 BLAKE2B e201fadfeaad71c0798a533c505f2caf63fb7a066d862bcf2747c0b132f4705af6d7fa76283099e470d21afa6404dff7522a42555e74cc6689f86a4bfac9a145 SHA512 9f22b43a551f7f30c00702e9bc59b4d1bd0bf25c5a33e5ef2eee155521fd72a844873bd07ae6407b44dce8fb1c99f68196c7e8e7cb99693654ea90cbaceeae39 +DIST mariadb-10.6.21.tar.gz 103982296 BLAKE2B 3ee32c333fcdf4f5514745095c9f168c94355c07e3388f9300f441ded4dfc97dc9f6b9b1c7958f78236614e11f73989c725cc19b3bd71d008a32dcbb9f639362 SHA512 fe74a6fbf409723d69b35481a57d00fb04a2c560ad503ae50ff7b9d41b650dda32fe997c50303428e79a546e5c7fe91872fe3436cc3b7323f13a7138e04f5a53 +DIST mariadb-11.4.5-patches-01.tar.xz 5712 BLAKE2B d155c2314908e14e2df3edb6b9410b62949d6562425c4f719b145553272e4b367c9a8503a63931c19ef0bfd6726685856dd78cd59672d489b70e460f00548ef9 SHA512 98381019ed4ad41bb52cb40842db8c6bd464d4b506926165aacd74a7c298cc819a6b4d5e6ab5750780bd273486118dfe6e8879d036537d996673431197d5d429 +DIST mariadb-11.4.5.tar.gz 112382453 BLAKE2B c6678b4ff0d087d73602956d345a222bbb8c27752fd9d6e0cf7edc77e02abfccfd3a5685158d61d3faeebd6830b546eeec8a23aee8d44d969a232c0a233ea2a1 SHA512 65b74e5443c2b7e8bc6a4c2a22838e3440bdbfef9c8fa6ed2b142e3ed0121d77a049c1054b05859ff8232386894ae0e7429d1a646ecf503e9c01c4952c83c51a +EBUILD mariadb-10.11.10.ebuild 43115 BLAKE2B ef36833c80a522230eaf9578134c0a30555f0a1b78b49091c86206b592a8bc8e6ada385d43ea03acd02a36f7cd7d1e3a8fcd8cb70c878b92c01aaf2be99a38e7 SHA512 1e707d35a22d75553282b40f9ed8ad4fe5a6c078f926467034f3474bbd63f61314043c8706e74671a703093c50cbfb09863705ec869ccaa5c91b1f4515952218 +EBUILD mariadb-10.11.11.ebuild 43013 BLAKE2B d451149adaecdad5c7734a1e470d7e517bd4f78c834d9a6b45f1fb6aaaee40e8f82c83ede6b6faa1d0ff771384d55dca4495b43162b4ace7641474e8e7caef12 SHA512 9d860912c75ab776ef01624d339bfaaa1694f7b3bdaffc500479d9350e2c1d9fb540a99a1b32316955c6d1d62cadab8fdd89c680dea127df51e0eed74946323e +EBUILD mariadb-10.6.15.ebuild 43161 BLAKE2B 527f38680dcc1819e2858afc63cfb43ed7228ff64f838d28055e674bf005f4365fa4d9e664a0c4686a17201c4ed461b8872a2845b7aedf9c3458b8689ce058cb SHA512 1e0e950453bca96b5158c0e73b04980ef122cf88aa6d19a40abe36a477e88d0de7422472d2565daaa1781da0cc6acca648a975977bc6afde5bd9ae2b4113ddec +EBUILD mariadb-10.6.17.ebuild 43063 BLAKE2B 455c9dc50d0edb90eb994cea74af5294ab9a089871bf91b0300d16b1166d42637d27b8e7ff16fd1a22e9309f494f9578b663ae4497a220787398477f08aa0a52 SHA512 e139afbc3a85fdfab77c49e5793f8f2ec9f0d2838a3563bd7b19368c5effcb05e710a463713907472705ab28deaf3d65c054915bd164be9a2ac5f118e1f90d86 +EBUILD mariadb-10.6.20.ebuild 43085 BLAKE2B 6c40746b9c0ec218aa444bf2adb9a7fdd40038a059f83c91bfaad46a304a0a998006a859dae72c6ffdf3b402597d446edeff6b79ae2afc83061f75d12bb0b7a9 SHA512 c23ecfc9cef9294ed94a3ff90c6383ba42a41ddcc2671b2c0c66ff82813d84b07eda375e07aa8912e8d724f3190a7616b9da965f25383d8a06986e5353c582d6 +EBUILD mariadb-10.6.21.ebuild 42988 BLAKE2B 05b2114d5282ad6405a0d0a40c1dd7a23037081946577438234ca60686d0d8a9bcc599ecdf15f3093c095feb4410d9e5b860bfa49e511ca53148ddbbb62391a0 SHA512 89f028283c4145f219821eb548b369f887b2da62f914e930a367d1a32842d44249197669efb3090890e71e2942de3ae4254a6e5ca0524a5a744db91f870431bb +EBUILD mariadb-11.4.5.ebuild 42895 BLAKE2B 857698694c86a3f432cdc38f9ae67691941ebaa1b40cc9e7db24223ac0c112e55f9dce52a15394730292cab58a502ccb2d3f153d3ae86ff765655ab0167b5119 SHA512 5c2e04d989fdcdb4498ca97825628bd42c31b031807ccf2804d1978070aacacf1ef8c79f7c9446c57a4615f779f265a9f1a00b19605a378aad1f86dbe1586f9f MISC metadata.xml 2415 BLAKE2B 15e491cb0881203b21f66652af9e420582e3992a610bde08dfae2d076c417b298529eafd659adaa4cdeecd70b0c10c83796f8dfd8fbdede7489c48fdd2bdb015 SHA512 ecc641157ada5ad6d84b534b6a40e27e59ef428668d61f3908817735d31d4828dd0327343bf4ad13a5f6a1bc306cc46137388489176c3116f2a0e0946471b49b diff --git a/dev-db/mariadb/mariadb-10.11.10.ebuild b/dev-db/mariadb/mariadb-10.11.10.ebuild index e6a6d95ff35f..f5faf1ebd85e 100644 --- a/dev-db/mariadb/mariadb-10.11.10.ebuild +++ b/dev-db/mariadb/mariadb-10.11.10.ebuild @@ -14,6 +14,7 @@ HOMEPAGE="https://mariadb.org/" SRC_URI=" mirror://mariadb/${P}/source/${P}.tar.gz https://dev.gentoo.org/~arkamar/distfiles/${P}-patches-01.tar.xz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz " # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -123,7 +124,10 @@ RDEPEND="${COMMON_DEPEND} !dev-db/mariadb:11.4 selinux? ( sec-policy/selinux-mysql ) server? ( - columnstore? ( dev-db/mariadb-connector-c ) + columnstore? ( + dev-db/mariadb-connector-c + !dev-libs/thrift + ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 @@ -220,6 +224,7 @@ src_prepare() { eapply "${WORKDIR}"/mariadb-patches eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch + eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch eapply_user diff --git a/dev-db/mariadb/mariadb-10.11.11.ebuild b/dev-db/mariadb/mariadb-10.11.11.ebuild new file mode 100644 index 000000000000..8a17a1d039a3 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.11.11.ebuild @@ -0,0 +1,1344 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +inherit systemd flag-o-matic prefix toolchain-funcs \ + multiprocessing java-pkg-opt-2 cmake eapi9-ver + +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +HOMEPAGE="https://mariadb.org/" +SRC_URI=" + mirror://mariadb/${P}/source/${P}.tar.gz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.11.10-patches-01.tar.xz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz +" +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +LICENSE="GPL-2 LGPL-2.1+" +SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc + test xml yassl" + +RESTRICT="!bindist? ( bindist ) !test? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam ) + test? ( extraengine )" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# +# libfmt-10 contains a bug which was fixed in libfmt-11, see +# https://jira.mariadb.org/browse/MDEV-32815, bug 946074 +# libfmt-11.1 works with # FMT_STATIC_THOUSANDS_SEPARATOR +# differently, bug 946924 +COMMON_DEPEND=" + dev-libs/libfmt:= + || ( + <dev-libs/libfmt-10 + =dev-libs/libfmt-11.0* + ) + >=dev-libs/libpcre2-10.34:= + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + >=sys-libs/zlib-1.2.3:0= + virtual/libcrypt:= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kerberos? ( virtual/krb5 ) + kernel_linux? ( + dev-libs/libaio:0= + sys-libs/liburing:= + sys-process/procps:0= + ) + server? ( + app-arch/bzip2 + app-arch/xz-utils + backup? ( app-arch/libarchive:0= ) + columnstore? ( + app-arch/snappy:= + dev-libs/boost:= + dev-libs/libxml2:2= + ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy:= ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( + dev-libs/boost:= + dev-libs/judy:0= + ) + pam? ( sys-libs/pam:0= ) + s3? ( net-misc/curl ) + systemd? ( sys-apps/systemd:= ) + ) + systemtap? ( >=dev-debug/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + >=dev-libs/openssl-1.0.0:0= + ) +" +BDEPEND="app-alternatives/yacc" +DEPEND="${COMMON_DEPEND} + server? ( + extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) + test? ( acct-group/mysql acct-user/mysql ) + ) + static? ( sys-libs/ncurses[static-libs] ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mysql !dev-db/percona-server + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 + !dev-db/mariadb:10.6 + !dev-db/mariadb:10.7 + !dev-db/mariadb:10.8 + !dev-db/mariadb:10.9 + !dev-db/mariadb:10.10 + !dev-db/mariadb:11.0 + !dev-db/mariadb:11.1 + !dev-db/mariadb:11.2 + !dev-db/mariadb:11.3 + !dev-db/mariadb:11.4 + selinux? ( sec-policy/selinux-mysql ) + server? ( + columnstore? ( + dev-db/mariadb-connector-c + !dev-libs/thrift + ) + extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) + galera? ( + sys-apps/iproute2 + =sys-cluster/galera-26* + sst-rsync? ( sys-process/lsof ) + sst-mariabackup? ( net-misc/socat[ssl] ) + ) + !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) + ) +" +# For other stuff to bring us in +# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL +PDEPEND="perl? ( dev-perl/DBD-MariaDB )" + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1) + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if has test ${FEATURES} ; then + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + fi + fi + + java-pkg-opt-2_pkg_setup +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mariadb-patches + eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch + eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch + eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch + + eapply_user + + _disable_plugin() { + echo > "${S}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S}/storage/${1}/CMakeLists.txt" || die + } + + if use jemalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt" + elif use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit sql_errlog auth_ed25519 ) + local test_plugins=( audit_null auth_examples daemon_example fulltext + debug_key_management example_key_management versioning ) + if ! use server; then # These plugins are for the server + for plugin in "${server_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + fi + + if ! use test; then # These plugins are only used during testing + for plugin in "${test_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + _disable_engine test_sql_discovery + echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die + fi + + _disable_engine example + + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + if use mroonga ; then + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + else + _disable_engine mroonga + fi + + # Fix static bindings in galera replication + sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \ + "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die + sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \ + "${S}"/wsrep-lib/src/CMakeLists.txt || die + + # Fix galera_recovery.sh script + sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ + scripts/galera_recovery.sh || die + + sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \ + "${S}"/scripts/mysql_install_db.sh || die + + cmake_src_prepare + java-pkg-opt-2_src_prepare +} + +src_configure() { + # bug #855233 (MDEV-11914, MDEV-25633) at least + filter-lto + # bug 508724 mariadb cannot use ld.gold + tc-ld-is-gold && tc-ld-force-bfd + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + # It fails on alpha without this + use alpha && append-ldflags "-Wl,--no-relax" + + # bug #945352 + append-cflags -std=gnu17 + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + local mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=bin + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_LIBFMT=system + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_CLIENT_ED25519=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC + -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + mycmakeargs+=( + -DDTRACE="${BROOT}"/usr/bin/stap-dtrace + ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + mycmakeargs+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + + if use server ; then + # Connect and Federated{,X} must be treated special + # otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_CONNECT=NO + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO + ) + fi + + mycmakeargs+=( + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_AWS_KEY_MANAGEMENT=NO + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_S3=$(usex s3 YES NO) + -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR="" + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8mb4 + -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not + # increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then + touch "${S}"/mysql-test/unstable-tests || die + fi + + cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die + + local -a disabled_tests + disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" ) + disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" ) + disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" ) + disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" ) + disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" ) + disabled_tests+=( "main.func_time;0;Dependent on time test was written" ) + disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" ) + disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" ) + disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" ) + disabled_tests+=( "main.stat_tables;0;Sporadically failing test" ) + disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" ) + disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" ) + disabled_tests+=( "mariabackup.*;0;Broken test suite" ) + disabled_tests+=( "perfschema.nesting;23458;Known to be broken" ) + disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" ) + disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" ) + disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" ) + disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" ) + disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" ) + disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" ) + disabled_tests+=( "spider.*;0;Fails with network sandbox" ) + disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" ) + + if ! use latin1 ; then + disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" ) + disabled_tests+=( "main.information_schema;0;Requires USE=latin1" ) + disabled_tests+=( "main.sp2;24177;Requires USE=latin1" ) + disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" ) + disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" ) + fi + + local test_infos_str test_infos_arr + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_infos_str test_infos_arr + + # run mysql-test tests + pushd "${TESTDIR}" &>/dev/null || die + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests" + + [[ -z "${failures}" ]] || die "Test failures: ${failures}" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # Manually install supporting files that conflict with other packages + # but are needed for galera and initial installation + exeinto /usr/libexec/mariadb + doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" + + if use pam ; then + keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir + fi + fi + + # Conflicting files + conflicting_files=() + + # We prefer my_print_defaults from dev-db/mysql-connector-c + conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" ) + + # Remove bundled mytop in favor of dev-db/mytop + conflicting_files+=( "${ED}/usr/bin/mytop" ) + conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" ) + + local conflicting_file + for conflicting_file in "${conflicting_files[@]}" ; do + if [[ -e "${conflicting_file}" ]] ; then + rm -v "${conflicting_file}" || die + fi + done + + # Fix a dangling symlink when galera is not built + if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then + rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die + fi + + # Remove dangling symlink + rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die + + # Remove broken SST scripts that are incompatible + local scriptremove + for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do + if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then + rm "${ED}/usr/bin/${scriptremove}" || die + fi + done +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}" + + if use server ; then + if use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + + if use galera ; then + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + if ver_replacing -lt "10.4.0" ; then + ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster." + ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4" + ewarn "for more information" + fi + fi + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +pkg_config() { + _getoptval() { + local section="${1}" + local option="--${2}" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + + local values=() + local parameters=( $(eval "${cmd[@]}" 2>/dev/null) ) + for parameter in "${parameters[@]}" + do + # my_print_defaults guarantees output of options, one per line, + # in the form that they would be specified on the command line. + # So checking for --option=* should be safe. + case ${parameter} in + ${option}=*) + values+=( "${parameter#*=}" ) + ;; + esac + done + + if [[ ${#values[@]} -gt 0 ]] ; then + # Option could have been set multiple times + # in which case only the last occurrence + # contains the current value + echo "${values[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template '${template}'" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db" + if [[ ! -x "${mysql_install_db_binary}" ]] ; then + die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_TMPDIR=${MYSQL_TMPDIR%/} + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then + # Only create directory when MYSQL_LOG_BIN is an absolute path + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then + # Only test when MYSQL_LOG_BIN is an absolute path + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + # Only create directory when MYSQL_RELAY_LOG is an absolute path + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then + # Only test when MYSQL_RELAY_LOG is an absolute path + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null) + [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir" + + # Limit access + chmod 0770 "${SETUP_TMPDIR}" || die + chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die + + local mysql_install_log="${SETUP_TMPDIR}/install_db.log" + local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log" + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then + # Absolute path for binary log files specified + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then + # Absolute path for relay log files specified + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + echo + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x${pwd1}" != "x${pwd2}" ]] ; then + die "Passwords are not the same!" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" ) + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="${SETUP_TMPDIR}/tz.sql" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + local cmd=( + "${mysql_install_db_binary}" + "${mysqld_options[@]}" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--rpm" + "--cross-bootstrap" + "--skip-test-db" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + local x=${RANDOM} + local socket="${PID_DIR}/mysqld.${x}.sock" + [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!" + local pidfile="${PID_DIR}/mysqld.${x}.pid" + [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + rm -r "${SETUP_TMPDIR}" || die + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/mariadb/mariadb-10.6.15.ebuild b/dev-db/mariadb/mariadb-10.6.15.ebuild index da35494bb8d6..77f2113e1848 100644 --- a/dev-db/mariadb/mariadb-10.6.15.ebuild +++ b/dev-db/mariadb/mariadb-10.6.15.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -11,7 +11,8 @@ inherit systemd flag-o-matic prefix toolchain-funcs \ HOMEPAGE="https://mariadb.org/" SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz - https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz" + https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.13-patches-01.tar.xz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" @@ -115,7 +116,10 @@ RDEPEND="${COMMON_DEPEND} !<virtual/libmysqlclient-18-r1 selinux? ( sec-policy/selinux-mysql ) server? ( - columnstore? ( dev-db/mariadb-connector-c ) + columnstore? ( + dev-db/mariadb-connector-c + !dev-libs/thrift + ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 @@ -219,6 +223,7 @@ src_prepare() { eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch eapply "${FILESDIR}"/${PN}-10.6.11-include.patch eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch + eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch eapply_user @@ -365,6 +370,12 @@ src_configure() { mycmakeargs+=( -DWITH_SSL=bundled ) fi + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + mycmakeargs+=( + -DDTRACE="${BROOT}"/usr/bin/stap-dtrace + ) + fi + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION mycmakeargs+=( -DWITH_READLINE=$(usex bindist 1 0) diff --git a/dev-db/mariadb/mariadb-10.6.17.ebuild b/dev-db/mariadb/mariadb-10.6.17.ebuild index d790e913d96a..7e0f8b9b9aa1 100644 --- a/dev-db/mariadb/mariadb-10.6.17.ebuild +++ b/dev-db/mariadb/mariadb-10.6.17.ebuild @@ -11,7 +11,8 @@ inherit systemd flag-o-matic prefix toolchain-funcs \ HOMEPAGE="https://mariadb.org/" SRC_URI="mirror://mariadb/${PN}-${PV}/source/${P}.tar.gz - https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.16-patches-01.tar.xz" + https://github.com/hydrapolic/gentoo-dist/raw/master/mariadb/mariadb-10.6.16-patches-01.tar.xz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" @@ -115,7 +116,10 @@ RDEPEND="${COMMON_DEPEND} !<virtual/libmysqlclient-18-r1 selinux? ( sec-policy/selinux-mysql ) server? ( - columnstore? ( dev-db/mariadb-connector-c ) + columnstore? ( + dev-db/mariadb-connector-c + !dev-libs/thrift + ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 @@ -219,6 +223,7 @@ src_prepare() { eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch eapply "${FILESDIR}"/${PN}-10.6.17-libxml-2.12.patch + eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch eapply_user diff --git a/dev-db/mariadb/mariadb-10.6.20.ebuild b/dev-db/mariadb/mariadb-10.6.20.ebuild index b2c78c893b35..cd65ded471b8 100644 --- a/dev-db/mariadb/mariadb-10.6.20.ebuild +++ b/dev-db/mariadb/mariadb-10.6.20.ebuild @@ -14,6 +14,7 @@ HOMEPAGE="https://mariadb.org/" SRC_URI=" mirror://mariadb/${P}/source/${P}.tar.gz https://dev.gentoo.org/~arkamar/distfiles/${P}-patches-01.tar.xz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz " # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -21,7 +22,7 @@ S="${WORKDIR}/mysql" LICENSE="GPL-2 LGPL-2.1+" SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -119,7 +120,10 @@ RDEPEND="${COMMON_DEPEND} !<virtual/libmysqlclient-18-r1 selinux? ( sec-policy/selinux-mysql ) server? ( - columnstore? ( dev-db/mariadb-connector-c ) + columnstore? ( + dev-db/mariadb-connector-c + !dev-libs/thrift + ) extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) galera? ( sys-apps/iproute2 @@ -222,6 +226,7 @@ src_prepare() { eapply "${WORKDIR}"/mariadb-patches eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch + eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch eapply_user @@ -368,6 +373,12 @@ src_configure() { mycmakeargs+=( -DWITH_SSL=bundled ) fi + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + mycmakeargs+=( + -DDTRACE="${BROOT}"/usr/bin/stap-dtrace + ) + fi + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION mycmakeargs+=( -DWITH_READLINE=$(usex bindist 1 0) diff --git a/dev-db/mariadb/mariadb-10.6.21.ebuild b/dev-db/mariadb/mariadb-10.6.21.ebuild new file mode 100644 index 000000000000..23869316a4c1 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.6.21.ebuild @@ -0,0 +1,1345 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +inherit systemd flag-o-matic prefix toolchain-funcs \ + multiprocessing java-pkg-opt-2 cmake eapi9-ver + +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +HOMEPAGE="https://mariadb.org/" +SRC_URI=" + mirror://mariadb/${P}/source/${P}.tar.gz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6.20-patches-01.tar.xz + https://dev.gentoo.org/~arkamar/distfiles/${PN}-10.6-columnstore-with-boost-1.85.patch.xz +" +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +LICENSE="GPL-2 LGPL-2.1+" +SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc + test xml yassl" + +RESTRICT="!bindist? ( bindist ) !test? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam ) + test? ( extraengine )" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + >=dev-libs/libpcre2-10.34:= + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + >=sys-libs/zlib-1.2.3:0= + virtual/libcrypt:= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kerberos? ( virtual/krb5 ) + kernel_linux? ( + dev-libs/libaio:0= + sys-libs/liburing:= + sys-process/procps:0= + ) + server? ( + app-arch/bzip2 + app-arch/xz-utils + backup? ( app-arch/libarchive:0= ) + columnstore? ( + app-arch/snappy:= + dev-libs/boost:= + dev-libs/libxml2:2= + ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy:= ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( + dev-libs/boost:= + dev-libs/judy:0= + ) + pam? ( sys-libs/pam:0= ) + s3? ( net-misc/curl ) + systemd? ( sys-apps/systemd:= ) + ) + systemtap? ( >=dev-debug/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + >=dev-libs/openssl-1.0.0:0= + ) +" +BDEPEND="app-alternatives/yacc" +DEPEND="${COMMON_DEPEND} + server? ( + extraengine? ( jdbc? ( >=virtual/jdk-1.8 ) ) + test? ( acct-group/mysql acct-user/mysql ) + ) + static? ( sys-libs/ncurses[static-libs] ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 + !dev-db/mariadb:10.7 + !dev-db/mariadb:10.8 + !dev-db/mariadb:10.9 + !dev-db/mariadb:10.10 + !dev-db/mariadb:10.11 + !dev-db/mariadb:11.0 + !dev-db/mariadb:11.1 + !dev-db/mariadb:11.2 + !dev-db/mariadb:11.3 + !dev-db/mariadb:11.4 + !<virtual/mysql-5.6-r11 + !<virtual/libmysqlclient-18-r1 + selinux? ( sec-policy/selinux-mysql ) + server? ( + columnstore? ( + dev-db/mariadb-connector-c + !dev-libs/thrift + ) + extraengine? ( jdbc? ( >=virtual/jre-1.8 ) ) + galera? ( + sys-apps/iproute2 + =sys-cluster/galera-26* + sst-rsync? ( sys-process/lsof ) + sst-mariabackup? ( net-misc/socat[ssl] ) + ) + !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) + ) +" +# For other stuff to bring us in +# dev-perl/DBD-MariaDB is needed by some scripts installed by MySQL +PDEPEND="perl? ( dev-perl/DBD-MariaDB )" + +QA_CONFIG_IMPL_DECL_SKIP=( + # These don't exist on Linux + pthread_threadid_np + getthrid +) + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1) + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if has test ${FEATURES} ; then + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + fi + fi + + java-pkg-opt-2_pkg_setup +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mariadb-patches + eapply "${FILESDIR}"/${PN}-10.6.11-gssapi.patch + eapply "${FILESDIR}"/${PN}-10.6.12-gcc-13.patch + eapply "${WORKDIR}"/${PN}-10.6-columnstore-with-boost-1.85.patch + + eapply_user + + _disable_plugin() { + echo > "${S}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S}/storage/${1}/CMakeLists.txt" || die + } + + if use jemalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC jemalloc)" >> "${S}/sql/CMakeLists.txt" + elif use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd LINK_PUBLIC tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit sql_errlog auth_ed25519 ) + local test_plugins=( audit_null auth_examples daemon_example fulltext + debug_key_management example_key_management versioning ) + if ! use server; then # These plugins are for the server + for plugin in "${server_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + fi + + if ! use test; then # These plugins are only used during testing + for plugin in "${test_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + _disable_engine test_sql_discovery + echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die + fi + + _disable_engine example + + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + if use mroonga ; then + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + else + _disable_engine mroonga + fi + + # Fix static bindings in galera replication + sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \ + "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die + sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \ + "${S}"/wsrep-lib/src/CMakeLists.txt || die + + # Fix galera_recovery.sh script + sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ + scripts/galera_recovery.sh || die + + sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \ + "${S}"/scripts/mysql_install_db.sh || die + + cmake_src_prepare + java-pkg-opt-2_src_prepare +} + +src_configure() { + # bug #855233 (MDEV-11914, MDEV-25633) at least + filter-lto + # bug 508724 mariadb cannot use ld.gold + tc-ld-is-gold && tc-ld-force-bfd + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + # It fails on alpha without this + use alpha && append-ldflags "-Wl,--no-relax" + + # bug #945352 + append-cflags -std=gnu17 + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + local mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=bin + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_CLIENT_ED25519=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC + -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + mycmakeargs+=( + -DDTRACE="${BROOT}"/usr/bin/stap-dtrace + ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + mycmakeargs+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + + if use server ; then + # Connect and Federated{,X} must be treated special + # otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_CONNECT=NO + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO + ) + fi + + mycmakeargs+=( + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_AWS_KEY_MANAGEMENT=NO + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_S3=$(usex s3 YES NO) + -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR="" + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8mb4 + -DDEFAULT_COLLATION=utf8mb4_unicode_520_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not + # increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + if [[ ! -f "${S}/mysql-test/unstable-tests" ]] ; then + touch "${S}"/mysql-test/unstable-tests || die + fi + + cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die + + local -a disabled_tests + disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" ) + disabled_tests+=( "innodb_gis.1;25095;Known rounding error with latest AMD processors" ) + disabled_tests+=( "innodb_gis.gis;25095;Known rounding error with latest AMD processors" ) + disabled_tests+=( "main.gis;25095;Known rounding error with latest AMD processors" ) + disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" ) + disabled_tests+=( "main.func_time;0;Dependent on time test was written" ) + disabled_tests+=( "main.mysql_upgrade;27044;Sporadically failing test" ) + disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" ) + disabled_tests+=( "main.selectivity_no_engine;26320;Sporadically failing test" ) + disabled_tests+=( "main.stat_tables;0;Sporadically failing test" ) + disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" ) + disabled_tests+=( "main.upgrade_MDEV-19650;25096;Known to be broken" ) + disabled_tests+=( "mariabackup.*;0;Broken test suite" ) + disabled_tests+=( "perfschema.nesting;23458;Known to be broken" ) + disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" ) + disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" ) + disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" ) + disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" ) + disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" ) + disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" ) + disabled_tests+=( "spider.*;0;Fails with network sandbox" ) + disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" ) + + if ! use latin1 ; then + disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" ) + disabled_tests+=( "main.information_schema;0;Requires USE=latin1" ) + disabled_tests+=( "main.sp2;24177;Requires USE=latin1" ) + disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" ) + disabled_tests+=( "main.upgrade_MDEV-19650;24178;Requires USE=latin1" ) + fi + + local test_infos_str test_infos_arr + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_infos_str test_infos_arr + + # run mysql-test tests + pushd "${TESTDIR}" &>/dev/null || die + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests" + + [[ -z "${failures}" ]] || die "Test failures: ${failures}" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # Manually install supporting files that conflict with other packages + # but are needed for galera and initial installation + exeinto /usr/libexec/mariadb + doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" + + if use pam ; then + keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir + fi + fi + + # Conflicting files + conflicting_files=() + + # We prefer my_print_defaults from dev-db/mysql-connector-c + conflicting_files=( "${ED}/usr/share/man/man1/my_print_defaults.1" ) + + # Remove bundled mytop in favor of dev-db/mytop + conflicting_files+=( "${ED}/usr/bin/mytop" ) + conflicting_files+=( "${ED}/usr/share/man/man1/mytop.1" ) + + local conflicting_file + for conflicting_file in "${conflicting_files[@]}" ; do + if [[ -e "${conflicting_file}" ]] ; then + rm -v "${conflicting_file}" || die + fi + done + + # Fix a dangling symlink when galera is not built + if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then + rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die + fi + + # Remove dangling symlink + rm "${ED}/usr/$(get_libdir)/libmariadb.a" || die + + # Remove broken SST scripts that are incompatible + local scriptremove + for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do + if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then + rm "${ED}/usr/bin/${scriptremove}" || die + fi + done +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}" + + if use server ; then + if use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + + if use galera ; then + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + if ver_replacing -lt "10.4.0" ; then + ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster." + ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4" + ewarn "for more information" + fi + fi + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +pkg_config() { + _getoptval() { + local section="${1}" + local option="--${2}" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + + local values=() + local parameters=( $(eval "${cmd[@]}" 2>/dev/null) ) + for parameter in "${parameters[@]}" + do + # my_print_defaults guarantees output of options, one per line, + # in the form that they would be specified on the command line. + # So checking for --option=* should be safe. + case ${parameter} in + ${option}=*) + values+=( "${parameter#*=}" ) + ;; + esac + done + + if [[ ${#values[@]} -gt 0 ]] ; then + # Option could have been set multiple times + # in which case only the last occurrence + # contains the current value + echo "${values[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template '${template}'" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_install_db_binary="${EROOT}/usr/bin/mysql_install_db" + if [[ ! -x "${mysql_install_db_binary}" ]] ; then + die "'${mysql_install_db_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_TMPDIR=${MYSQL_TMPDIR%/} + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ "${MYSQL_LOG_BIN}" == /* && ! -d "${MYSQL_LOG_BIN}" ]] ; then + # Only create directory when MYSQL_LOG_BIN is an absolute path + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then + # Only test when MYSQL_LOG_BIN is an absolute path + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ "${MYSQL_RELAY_LOG}" == /* && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + # Only create directory when MYSQL_RELAY_LOG is an absolute path + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then + # Only test when MYSQL_RELAY_LOG is an absolute path + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local SETUP_TMPDIR=$(mktemp -d "/tmp/${PN}-config.XXXXXXXXX" 2>/dev/null) + [[ -z "${SETUP_TMPDIR}" ]] && die "Failed to create setup tmpdir" + + # Limit access + chmod 0770 "${SETUP_TMPDIR}" || die + chown ${MYSQL_USER} "${SETUP_TMPDIR}" || die + + local mysql_install_log="${SETUP_TMPDIR}/install_db.log" + local mysqld_logfile="${SETUP_TMPDIR}/mysqld.log" + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ "${MYSQL_LOG_BIN}" == /* ]] ; then + # Absolute path for binary log files specified + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ "${MYSQL_RELAY_LOG}" == /* ]] ; then + # Absolute path for relay log files specified + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + echo + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x${pwd1}" != "x${pwd2}" ]] ; then + die "Passwords are not the same!" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" ) + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="${SETUP_TMPDIR}/tz.sql" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + local cmd=( + "${mysql_install_db_binary}" + "${mysqld_options[@]}" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--rpm" + "--cross-bootstrap" + "--skip-test-db" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql/user.frm" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + local x=${RANDOM} + local socket="${PID_DIR}/mysqld.${x}.sock" + [[ -f "${socket}" ]] && die "Randomness failed; Socket ${socket} already exists!" + local pidfile="${PID_DIR}/mysqld.${x}.pid" + [[ -f "${pidfile}" ]] && die "Randomness failed; Pidfile ${pidfile} already exists!" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${SETUP_TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + rm -r "${SETUP_TMPDIR}" || die + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/mariadb/mariadb-11.4.4.ebuild b/dev-db/mariadb/mariadb-11.4.5.ebuild index 70b4bbbc8a0a..574ca4b42667 100644 --- a/dev-db/mariadb/mariadb-11.4.4.ebuild +++ b/dev-db/mariadb/mariadb-11.4.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ SUBSLOT="18" JAVA_PKG_OPT_USE="jdbc" inherit systemd flag-o-matic prefix toolchain-funcs \ - multiprocessing java-pkg-opt-2 cmake + multiprocessing java-pkg-opt-2 cmake eapi9-ver DESCRIPTION="An enhanced, drop-in replacement for MySQL" HOMEPAGE="https://mariadb.org/" @@ -21,7 +21,7 @@ S="${WORKDIR}/mysql" LICENSE="GPL-2 LGPL-2.1+" SLOT="$(ver_cut 1-2)/${SUBSLOT:-0}" -#KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) # # libfmt-10 contains a bug which was fixed in libfmt-11, see # https://jira.mariadb.org/browse/MDEV-32815, bug 946074 -# libfmt-11.1 works with # FMT_STATIC_THOUSANDS_SEPARATOR +# libfmt-11.1 works with FMT_STATIC_THOUSANDS_SEPARATOR # differently, bug 946924 COMMON_DEPEND=" dev-libs/libfmt:= @@ -349,9 +349,9 @@ src_configure() { -DSUFFIX_INSTALL_DIR="" -DWITH_UNITTEST=OFF -DWITHOUT_CLIENTLIBS=YES - -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_DIALOG=$(usex test DYNAMIC OFF) -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF - -DCLIENT_PLUGIN_CLIENT_ED25519=OFF + -DCLIENT_PLUGIN_CLIENT_ED25519=$(usex test DYNAMIC OFF) -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF ) @@ -587,12 +587,12 @@ src_test() { disabled_tests+=( "perfschema.nesting;23458;Known to be broken" ) disabled_tests+=( "perfschema.prepared_statements;0;Broken test suite" ) disabled_tests+=( "perfschema.privilege_table_io;27045;Sporadically failing test" ) - disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" ) disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" ) disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" ) disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" ) disabled_tests+=( "spider.*;0;Fails with network sandbox" ) disabled_tests+=( "sys_vars.wsrep_on_without_provider;25625;Known to be broken" ) + disabled_tests+=( "sysschema.v_privileges_by_table_by_level;0;Fails with network sandbox, see MDEV-36030") if ! use latin1 ; then disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" ) @@ -792,15 +792,10 @@ pkg_postinst() { elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." elog "This option should then be removed for subsequent starts." einfo - if [[ -n "${REPLACING_VERSIONS}" ]] ; then - local rver - for rver in ${REPLACING_VERSIONS} ; do - if ver_test "${rver}" -lt "10.4.0" ; then - ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster." - ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4" - ewarn "for more information" - fi - done + if ver_replacing -lt "10.4.0" ; then + ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster." + ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4" + ewarn "for more information" fi fi fi diff --git a/dev-db/mongodb-compass-bin/Manifest b/dev-db/mongodb-compass-bin/Manifest index fe445d814c10..9081ae4f19ff 100644 --- a/dev-db/mongodb-compass-bin/Manifest +++ b/dev-db/mongodb-compass-bin/Manifest @@ -1,3 +1,7 @@ DIST mongodb-compass_1.45.2_amd64.deb 114271168 BLAKE2B ec330d75f86ec6bec81ffb57266b54833859785867e1fb375a1ae1f57de9a6fff7215da7f67766ed1bc603c4a12a43605701af8aa26e8672f57721abecd3403f SHA512 cd249a3bb7c3290031caba21af038281ca62a9a2aa4322f0dadc32411c1292c37f5f2d4cc1aa664e6d3c17fb5cbe366fc76d68304041758116f58064fe1bfb88 +DIST mongodb-compass_1.45.3_amd64.deb 114199008 BLAKE2B e3a3c79277757038dd36f5160e9ac8340cd701b9d34dec5c6c07473fea1c3dc59c419f30d3985f4818d61b8191d475a770630504bd24e8a0c02bbff19a5a6391 SHA512 25f0bd3130fab11cb71afa42ea63b8d2f5dc80eab28c615a12ed198580b3891bd9b02847ebe8dc4f92aa1329ef6f2232d6e1cb97f9b50fd1addfa9a8d9544f40 +DIST mongodb-compass_1.45.4_amd64.deb 114319260 BLAKE2B b9849d5d53002dafa4f8bb1ec2bd2950aeed935f8fbfde1f8c8c3927477673f48725b88d21ed7d5681dbdd63d85210444354a6c0b2d334f310ce2b1eb2ae7398 SHA512 457ee8891839db5d45f3aef388a18f8a8c17055ca936987af121a5d5108d7ce138f37ed1599bdc9fe8219aa9d0b61c204848cae8473542834ac1c42978c34e95 EBUILD mongodb-compass-bin-1.45.2.ebuild 1278 BLAKE2B d41adef1d811f150fd37013ad076bb0b2ff2e43c05626ca7767649ae5924ea7daa87ba3d5efd2148f988caf1306455bf51cbecc7bd3ddcbca05d1386a07a2d77 SHA512 2e99db9007159b2e4e4099b0b2aa66eecac496359df19a5c73556ebbb8bccb6bda93c8ef44bc13e348b332a0659d03496e9e36e06e5ca3f1d81feb38978951ee +EBUILD mongodb-compass-bin-1.45.3.ebuild 1278 BLAKE2B d41adef1d811f150fd37013ad076bb0b2ff2e43c05626ca7767649ae5924ea7daa87ba3d5efd2148f988caf1306455bf51cbecc7bd3ddcbca05d1386a07a2d77 SHA512 2e99db9007159b2e4e4099b0b2aa66eecac496359df19a5c73556ebbb8bccb6bda93c8ef44bc13e348b332a0659d03496e9e36e06e5ca3f1d81feb38978951ee +EBUILD mongodb-compass-bin-1.45.4.ebuild 1278 BLAKE2B d41adef1d811f150fd37013ad076bb0b2ff2e43c05626ca7767649ae5924ea7daa87ba3d5efd2148f988caf1306455bf51cbecc7bd3ddcbca05d1386a07a2d77 SHA512 2e99db9007159b2e4e4099b0b2aa66eecac496359df19a5c73556ebbb8bccb6bda93c8ef44bc13e348b332a0659d03496e9e36e06e5ca3f1d81feb38978951ee MISC metadata.xml 334 BLAKE2B eab2f1899e5f4a2848417001fc41857c70844a4cbb01eea892f8a23b324c7faf0a11aa6066582add9e8493238728b3a4f6a3e57b676c7dd6a07484bb15c79909 SHA512 95bd0e74a4188839c2dcde628bd4635e6f216ffd1b54825571045c2199d8ae6e0a9fcaf93edfdf3506bb5b297fa720339b85780f8f910eb567e8e555004d0d5c diff --git a/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.45.3.ebuild b/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.45.3.ebuild new file mode 100644 index 000000000000..a6af371e3ef6 --- /dev/null +++ b/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.45.3.ebuild @@ -0,0 +1,56 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop unpacker wrapper xdg + +DESCRIPTION="GUI for MongoDB" +HOMEPAGE="https://mongodb.com/compass https://github.com/mongodb-js/compass" +SRC_URI="https://github.com/mongodb-js/compass/releases/download/v${PV}/mongodb-compass_${PV}_amd64.deb" +S=${WORKDIR} + +LICENSE="SSPL-1" +SLOT="0" +KEYWORDS="-* ~amd64" + +RDEPEND=" + dev-libs/nss + dev-libs/openssl:0/3 + media-libs/alsa-lib + media-libs/mesa + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/zlib + virtual/secret-service + x11-libs/cairo + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango +" +QA_PREBUILT=" + usr/lib/mongodb-compass/.* +" + +src_install() { + insinto /usr/lib/mongodb-compass + doins -r usr/lib/mongodb-compass/. + + fperms +x "/usr/lib/mongodb-compass/MongoDB Compass" + fperms 4755 /usr/lib/mongodb-compass/{chrome_crashpad_handler,chrome-sandbox} + + domenu usr/share/applications/mongodb-compass.desktop + doicon usr/share/pixmaps/mongodb-compass.png + + make_wrapper mongodb-compass "'/usr/lib/mongodb-compass/MongoDB Compass'" +} diff --git a/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.45.4.ebuild b/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.45.4.ebuild new file mode 100644 index 000000000000..a6af371e3ef6 --- /dev/null +++ b/dev-db/mongodb-compass-bin/mongodb-compass-bin-1.45.4.ebuild @@ -0,0 +1,56 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop unpacker wrapper xdg + +DESCRIPTION="GUI for MongoDB" +HOMEPAGE="https://mongodb.com/compass https://github.com/mongodb-js/compass" +SRC_URI="https://github.com/mongodb-js/compass/releases/download/v${PV}/mongodb-compass_${PV}_amd64.deb" +S=${WORKDIR} + +LICENSE="SSPL-1" +SLOT="0" +KEYWORDS="-* ~amd64" + +RDEPEND=" + dev-libs/nss + dev-libs/openssl:0/3 + media-libs/alsa-lib + media-libs/mesa + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/zlib + virtual/secret-service + x11-libs/cairo + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango +" +QA_PREBUILT=" + usr/lib/mongodb-compass/.* +" + +src_install() { + insinto /usr/lib/mongodb-compass + doins -r usr/lib/mongodb-compass/. + + fperms +x "/usr/lib/mongodb-compass/MongoDB Compass" + fperms 4755 /usr/lib/mongodb-compass/{chrome_crashpad_handler,chrome-sandbox} + + domenu usr/share/applications/mongodb-compass.desktop + doicon usr/share/pixmaps/mongodb-compass.png + + make_wrapper mongodb-compass "'/usr/lib/mongodb-compass/MongoDB Compass'" +} diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest index 0501396ecbae..b243b11557af 100644 --- a/dev-db/mongodb/Manifest +++ b/dev-db/mongodb/Manifest @@ -27,5 +27,5 @@ AUX mongos.initd-r3 422 BLAKE2B 90872d0d8cdc5e33e3eebee848f58a2db0511d48b496ba93 DIST mongodb-5.0.26.gh.tar.gz 57252091 BLAKE2B a4663a4dbac90118b56646816b178680a6bd99be6abb582fdfdb662c8ddf14eb9db18ed97260a37b2d04bf11715e6cfaa34bb12c4f4b08426e3afa90908f0b3c SHA512 efd56649006bb61070a2f255e8d843e4ddab33562ec9454afe55848dcc3ce8ee90431f70c9362b14e52c4a49a162ea3075a869a6fd71f63efdd5f4358703fea4 DIST mongodb-5.0.30.gh.tar.gz 57312372 BLAKE2B 72b026115cf3c8b1b81857bc5bffcd5b72bae4b581a7ada598bc7bbe594f264f581212159788113c5709ab751dd8a57943a3cc9b78f0d31aeb50375fa1da2c28 SHA512 97642da12cf199fa3f17825b1eb20e4d9bc1f65c8950f54b36347af11b6964cdd2007d11b01147d0c253077ef14121de52517c1739b433b49a9cbbe2596d9d05 EBUILD mongodb-5.0.26.ebuild 6157 BLAKE2B 375b4e2395216f0d4651c7ef249cd44e4d6e0b3ed9b6a2d4d831c7e0673094e4846bd87e95aac7bec802f2a6808ea93fa4880b5959f856c3207422137af07b01 SHA512 51e6cb8780a43e4603757602a806f3dab019c46135ce9df7a1907ee6a92a45b619fa933cfe722f3891bde7cdb4015203807f4b2f4c3b9285f4b203c6e299c46d -EBUILD mongodb-5.0.30.ebuild 6219 BLAKE2B 3a9d4b7c7f41f7efa1cd4d09d8b9bf3cc701986aa70de2a2f00129f99ea5b252e094146bcfa63e005916c5fe15c2d0e20b64e06f9c2db2b9b9c0d4323ac597d0 SHA512 75d94fdd14a116e9c90bfe7413ec053a43906d0364cb2123d9be6e0611d9850cf5ad096a9bde03a47f23046366709c3d7195844e2a4b9f110eafebc0c20c0288 +EBUILD mongodb-5.0.30.ebuild 6212 BLAKE2B 3719f1b506db6ddba9b9f678820340ee8562bb3eacb38ae605b68f0c57bb349d5b2d9dd408299e723d1876f27072da27893f19d456f9cc6867de7e0f0dd47342 SHA512 0e693f07d47297d560a7b7b3bc02599d5e7357d112d8965631388b7eab4e146597679270c7e394b81b9807250dbdadde2e147465e1cc564125e7945ac9d9dfa9 MISC metadata.xml 990 BLAKE2B 59df82d7c6895609ad70e11bac3aec67c2cb76c5221e71c853cd09c77783acf720bf5ccfae1e998e03cfc15b88560dc30b71ee35ed19a971c39bb840aa622391 SHA512 1c05e1ff3cabed908f254b5166e7396a7b85c63e3589025048d9537c395d3b753706f0c5cb5c09a6766cd8e9d586981eaeb342bfc6a6d14eedcd47da00a2401c diff --git a/dev-db/mongodb/mongodb-5.0.30.ebuild b/dev-db/mongodb/mongodb-5.0.30.ebuild index a361c0984bfd..d19d17ed7480 100644 --- a/dev-db/mongodb/mongodb-5.0.30.ebuild +++ b/dev-db/mongodb/mongodb-5.0.30.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ CHECKREQS_DISK_BUILD="2400M" CHECKREQS_DISK_USR="512M" CHECKREQS_MEMORY="1024M" -inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs +inherit check-reqs eapi9-ver flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs MY_PV=r${PV/_rc/-rc} MY_P=mongo-${MY_PV} @@ -99,7 +99,7 @@ pkg_pretend() { fi if [[ -n ${REPLACING_VERSIONS} ]]; then - if ver_test "$REPLACING_VERSIONS" -lt 4.4; then + if ver_replacing -lt 4.4; then ewarn "To upgrade from a version earlier than the 4.4-series, you must" ewarn "successively upgrade major releases until you have upgraded" ewarn "to 4.4-series. Then upgrade to 5.0 series." diff --git a/dev-db/mycli/Manifest b/dev-db/mycli/Manifest index f1e417279314..be690daa6cbf 100644 --- a/dev-db/mycli/Manifest +++ b/dev-db/mycli/Manifest @@ -1,5 +1,5 @@ DIST mycli-1.27.2.gh.tar.gz 286537 BLAKE2B 7bff978f9a08561c33f5327f13b8b69226e5c735527a607190a3c5d75f091b9f76b8d432e7a3e315ff250995e0baea7f7e0bede17e0b1cc6654939b7ec82b0ae SHA512 fdf0342b0e850b5232c815e73f44f22c7ea162201588681ccf2f4107b84b87f01fff3999a9720fef454239192356f074f47642ddc760af18973a2aaaac4676cd DIST mycli-1.29.2.tar.gz 293270 BLAKE2B c50b45f217f9b358334cd28a975e5de7b1f70903bf32ee719e03e067b13df13b856a24b9631d2b37a7ad668a82307b030cce1111f0a2ffe625cf9756680eee31 SHA512 13279ec14a0310323f1e407147749e8c628d9cc60688080e691ccfd9cdffd4d8d840a18b6a81075e08247b8a64a19808fbedf2898ab0b2e80ec2906182f23f28 EBUILD mycli-1.27.2.ebuild 1965 BLAKE2B e9e2eee903dd6ff7ea763901ced695724ddfe707950882f095f5a057219dbf1b1e63b21cee0717d44580613aae60a24fac87b9e54541ebae2854ab7f53caca40 SHA512 276048144af05d33c7a2333e4d30ceb9100038e7f156219e3e68e6405fdddedb0ec2b11cff1a9d1b2fb7b64901410f7a4410cdfaa00ad1d7ff28693435e57d5f -EBUILD mycli-1.29.2.ebuild 2061 BLAKE2B 8ffd19cf7c6736e32124cfeb126ee66c4df24ea5e5da18f6153584285c31b64e19d08bb2d97aa87dacfa01954ed431412932c517923ee6e54d15f5bc256a08d8 SHA512 d9846a43d659ee1829da1f7b8d0dc7530b8592cad4a801ed49ca4b49ac22f14947aa11646682a1a8e53232396c4eeb5f55e51e4be10c606dee7c0f44f3ccf144 +EBUILD mycli-1.29.2.ebuild 2073 BLAKE2B e9513f85ae075e699b8c9b1c411e0c59e895d7526f03ec8135aa83d019f1011de6f569a112e83167fca83c53b2d103aa604c1662c349d38a09d9edd1df4061a0 SHA512 13df0915588b5639e25768b6eac33317cbe34289be6b0badefcf5140f207dc9a53ef34be77af77b0fa8a48484a7350cdfa99c9acba75bddac06de1b8901be252 MISC metadata.xml 626 BLAKE2B 754538c528392717c6f22b1988d8d901458eaa053d90fdcc6a96c30408a6f9e661bbd8da4dfd57e8edc71e715028e493d7c3b3994ae7b337556881294c771095 SHA512 1d08dd18cdc6e1ab95e80b5234ed6f64c6b9f69346c86bde183c8bbee1940fd54c6a958b03e9b142dceb6d7e61eae2d47c3c5012a9e368a4ec6617c7539729d5 diff --git a/dev-db/mycli/mycli-1.29.2.ebuild b/dev-db/mycli/mycli-1.29.2.ebuild index dc64bce44339..a886468b6d31 100644 --- a/dev-db/mycli/mycli-1.29.2.ebuild +++ b/dev-db/mycli/mycli-1.29.2.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="ssh" RDEPEND=" diff --git a/dev-db/mydumper/Manifest b/dev-db/mydumper/Manifest index 0f23206f5f9a..33ccf54fae44 100644 --- a/dev-db/mydumper/Manifest +++ b/dev-db/mydumper/Manifest @@ -2,11 +2,13 @@ AUX mydumper-0.13.1-atomic.patch 965 BLAKE2B 789b72fc49a8362466b7081ea6f112d373e AUX mydumper-0.15-Do-not-overwrite-the-user-CFLAGS.patch 984 BLAKE2B 6b47af57b37adf29e273c9ce4384e75efe9ad4ed89ff54bf93ac491d7149f240b4b67263886c30acc6f69c60fe05cdf14572da781614d7a2697ddd5defeb1d4d SHA512 959c56f38912844e7e10aced0e9bde14ea5db68962de83b0649647ebd348c94a0999e17845cd2b2f565f5e14c942930b9c7b7020247378d211d9894cb977a8ac AUX mydumper-0.15-fix-call-to-open.patch 1341 BLAKE2B 8d7080f694fe99eb70c79519877873ce4e237015647b8997590df3dd95c3307e3b818ead2f8735405b3040049844b85d83d277b169a8662709a6199b6eb3f681 SHA512 e9baeeb10d61f129df457106be56ab379b9cf948aee2bf9f5f68cabf14a8876d749459ad6c42280e67ed5caf3ad6735bae39901a6c16cf93f65677b9d8e464c1 AUX mydumper-0.16-cmake-docs.patch 603 BLAKE2B 1895470dead622ad0ce19dda66cc95a5353c322d522527a65abe875931f7bd2bc07bc4da01efbf776fd1df4be6a258a0cd0840b94281d52e57b0197f60a9b3a2 SHA512 d2f7a2ee5d6c4ef7b6746a991a4e19df25600a6eebce71c815be6ca7ea78ab7a35a2af28ae6055044d58f79666474ff334e856c4a27520b63a92f5884a9328a9 +AUX mydumper-0.18-Do-not-overwrite-the-user-CFLAGS.patch 727 BLAKE2B df69e00da8ced07703c34247da8a4f7bfd16184e499346b7cb1239a903d400c398e8d479f5289a4250d3a46d1633aacd701dab28fbb874ae8c58299ec05510d8 SHA512 5473f5d1f2ff7aa8cdbb7d768ed081a09128eabffa114738e269aaa3288322e747b2d05bcd0525464781e181f4d516de8179a3088cbf7392dd4d6fdc8d8a309e DIST mydumper-0.15.2-8.tar.gz 186389 BLAKE2B 84e08fa6460a156771f598a8a0c98c79089490f9f2fe3b90fa49efd519e2270468fe86287bab03612006489a3a1d5ab2442e76cc0f4825c8df95acec30a1c4ba SHA512 f6ca5c5756944bd2704e8a25432db1fbe14ed2a1e88b549c0799c3e0c251e524523ed39797b0b2c15c9d65c0e6e5ce3d93a60a17c77090732a8f909ab24a0126 DIST mydumper-0.16.11-2.tar.gz 192249 BLAKE2B 5e3a79d38fd6a346804d1b3b0edd60da13a031abc5d7b6cc5a0b1ea625af3979bc134b3946acc9228f4f0cba3583912c6d2a52bba9552ef65d374646ee335334 SHA512 4cb9272be1c13d31841fab928627f71868167e04f64e9742807326a1a2054b04fad2a65da2c5d703627cf760259760393bc8a8beca7066986c3a7af8cb1f181f DIST mydumper-0.16.11-2_docs.tar.gz 914231 BLAKE2B e9e163848a3b54317162fdb172b4f1d1daa867c2178f21ad61a597c4a3c7604a11a238874f2d208c7c702637318c63da1c12f040b64a57f572affb9a6af139c1 SHA512 af72d87b7460ebc37d72d2b368c8c296e42dc3bbb1ee517566cb9e10564bb81d0ec3eaf57fe1adb524f33bd152634e9fa8b0fd74e8da38e6de490fd8936ed967 -DIST mydumper-0.16.7-5.tar.gz 192080 BLAKE2B dac0d0700ad7a68b3bffdb13f6cb674e75b868715822ef791eb00d64ce4a41335b5f54fc4a166ee527356a4f4c5311c01aabb1c8e0c91d964b4bca5b30a546c0 SHA512 ab7f06557814318352b1a511ff06f9e094dac43d3d5638977074aa8a79c3a9b83114aa15fcafcd0a39945a8c497c725b0a8221759d55aedb424eb048f10653d8 +DIST mydumper-0.18.1-1.tar.gz 199785 BLAKE2B a21404e73ae7b992c53371512015d50056bef68b3920e3e9131995be918965e7410f2901cb049addee52b044e110373ee98239eb6962516c416ae1ec26f54449 SHA512 41fede2070986cc8c8e713613f081b4041cf4c4be2973fdc3a733540e1c741e9831e29e9300bdeef76f543743093def6b0af459c0cd69fa518972a1d7922cff4 +DIST mydumper-0.18.1-1_docs.tar.gz 943632 BLAKE2B 9e0879b092a1ce1073751c3d3174bce812cfb35ff4e3a58846ca61cc7655c84d426e68b32f2091a4788a796d7e5fb80abcaa07c5c5fed9317faf5dabaa1c59b5 SHA512 0df911f03a97ca6b5bc65ccea3bedae36a94690e7b53f9014972e860af37c8b7814832a9759cf91f642770452e2016e3ae3fd8dd0852108727f491e5f9d22cd1 EBUILD mydumper-0.15.2.8-r1.ebuild 1265 BLAKE2B 221ab1b3ca989ea53a26bc0216c60538b3be6b1293e6a30e888b1a3f9525a91a58517a763e91e3ccddb573c8ca4c8b0bc0fe9347c55c314423cad5456c7bf8aa SHA512 0902075b31384658fe192618cf8f5bc149dd16b03150d50183bdf7ac43b71dc0ce031235f4aef90951c79c74b1e38fa94bee95aa97e9a4ddcb69b744f729b5b7 -EBUILD mydumper-0.16.11.2.ebuild 1374 BLAKE2B 662d52dd2e61b35aba12d4274c0a2d77addfac79cd1046d5be16f2a30ab16085a64f9b83a535de05acb8f5bd7dc1096ab4f2a1cc3458d8da564ef5e8db4265e2 SHA512 bd2269d2358c91e77aa67124f48de50cdb8825c3a75a9340bf415c8154a17bad515ae42211d5870d480d921b51bc21df7308bdde287ac78b73eb61da076cdaf3 -EBUILD mydumper-0.16.7.5.ebuild 771 BLAKE2B eae39daf3cf031f83509a99b99a218bee7bb07964a6d8ae841027b240810fb4734b84ffbd28820e83c87a5a52c6ea29b86f5fb732b7fc9ebe5a22189ead5b69f SHA512 b26145add4df7afc92a2f815256869c47554e988f06eed8451b6bf09516a4583e69c03a47231c5ee5e183249e078c6803523e98184ca2f119e60af8e43422f6a +EBUILD mydumper-0.16.11.2.ebuild 1373 BLAKE2B 6c5bd846d35123affa053cff178549e16c94c34797d7dbe9c41fd3cf8804a1591765b31465688e49ba18cddc9908f07af87c44e6c37059df9923e2c390be598d SHA512 4fd48ef15d4f55d40e01a38ca6101d09dfc338a17473fd3c9cdc5e55259134ae70d3401d20a1f420fcfbc2b60ef3de699c387f738ef11c46de985e4ed4c589f3 +EBUILD mydumper-0.18.1.1.ebuild 1562 BLAKE2B 455e64468b9b19e118c3b83823a2bf6804462c0a029202eed832979155f9cce907abc74048a2a98916a639a9df8771aef4b68c0744f16e8ebeba02fcb4a99301 SHA512 b3fdd772d9a88b2813a72b2f2257bb906ee60d63003a98a3f7165bf54edf9adfbcb61f097b3d8cbf13619e5635638929571a5cca4e3a77c9cb18c7073c639f55 MISC metadata.xml 480 BLAKE2B b046228a8aea053cdd034cb3ce0e28e3fd666fe9a600b7bb82a36083fff6686559a6746518ff8c41002476ac8214ff45376c5b08fa9e71c1e2ed1ed890b68091 SHA512 8d71ae229741c263328195baec3917d9c496d9afeff591e3c66ef8744776d8cbc53f17ff526255e61139338b03f5027e19142108dd9c37c0871a6510f72a8661 diff --git a/dev-db/mydumper/files/mydumper-0.18-Do-not-overwrite-the-user-CFLAGS.patch b/dev-db/mydumper/files/mydumper-0.18-Do-not-overwrite-the-user-CFLAGS.patch new file mode 100644 index 000000000000..3747d5dda73c --- /dev/null +++ b/dev-db/mydumper/files/mydumper-0.18-Do-not-overwrite-the-user-CFLAGS.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3fa5fde..c115b6e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,7 +44,7 @@ if (MARIADB_FOUND AND NOT MARIADB_SSL AND WITH_SSL) + set(WITH_SSL OFF) + endif() + +-set(CMAKE_C_FLAGS "-std=gnu99 -Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wno-strict-aliasing -Wextra -Wshadow -g -Werror ${MYSQL_CFLAGS}") ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Wno-deprecated-declarations -Wunused -Wwrite-strings -Wno-strict-aliasing -Wextra -Wshadow -g -Werror ${MYSQL_CFLAGS}") + include_directories(${MYDUMPER_SOURCE_DIR} ${MYSQL_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${PCRE2_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} ) + + OPTION(WITH_ASAN "Build with ASAN" OFF) diff --git a/dev-db/mydumper/mydumper-0.16.11.2.ebuild b/dev-db/mydumper/mydumper-0.16.11.2.ebuild index 0190ed1f92dd..bc4a9a15fdc6 100644 --- a/dev-db/mydumper/mydumper-0.16.11.2.ebuild +++ b/dev-db/mydumper/mydumper-0.16.11.2.ebuild @@ -17,7 +17,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" IUSE="doc" RDEPEND=" diff --git a/dev-db/mydumper/mydumper-0.16.7.5.ebuild b/dev-db/mydumper/mydumper-0.16.7.5.ebuild deleted file mode 100644 index 245b0197d96c..000000000000 --- a/dev-db/mydumper/mydumper-0.16.7.5.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -MY_PV="$(ver_rs 3 -)" -MY_P="${PN}-${MY_PV}" - -DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL" -HOMEPAGE="https://github.com/mydumper/mydumper" -SRC_URI="https://github.com/mydumper/mydumper/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND="app-arch/zstd - dev-db/mysql-connector-c:= - dev-libs/glib:2 - dev-libs/libpcre - dev-libs/openssl:= - sys-libs/zlib:=" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}/${PN}-0.13.1-atomic.patch" #654314 - "${FILESDIR}/${PN}-0.15-Do-not-overwrite-the-user-CFLAGS.patch" -) diff --git a/dev-db/mydumper/mydumper-0.18.1.1.ebuild b/dev-db/mydumper/mydumper-0.18.1.1.ebuild new file mode 100644 index 000000000000..fb8e1465300f --- /dev/null +++ b/dev-db/mydumper/mydumper-0.18.1.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +MY_PV="$(ver_rs 3 -)" +MY_P="${PN}-${MY_PV}" +DOCS_COMMIT="b260deb19d8cf88a5e57abc0d271673a4bea254d" + +DESCRIPTION="A high-performance multi-threaded backup (and restore) toolset for MySQL" +HOMEPAGE="https://github.com/mydumper/mydumper" +SRC_URI="https://github.com/mydumper/mydumper/archive/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz + https://github.com/mydumper/mydumper_docs/archive/${DOCS_COMMIT}.tar.gz -> ${MY_P}_docs.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +RDEPEND=" + app-arch/zstd + dev-db/mysql-connector-c:= + dev-libs/glib:2 + dev-libs/libpcre + dev-libs/openssl:= + sys-libs/zlib +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( + dev-python/furo + dev-python/sphinx-inline-tabs + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-0.13.1-atomic.patch" #654314 + "${FILESDIR}/${PN}-0.18-Do-not-overwrite-the-user-CFLAGS.patch" + "${FILESDIR}/${PN}-0.16-cmake-docs.patch" +) + +src_prepare() { + # copy in docs + rm -rv "${WORKDIR}"/"${MY_P}"/docs || die + mv -v "${WORKDIR}/${PN}_docs-${DOCS_COMMIT}" "${WORKDIR}/${MY_P}/docs" || die + + # https://pypi.org/project/sphinx-copybutton/ not yet in Gentoo + sed -i "s/'sphinx_copybutton',//g" "${WORKDIR}/${MY_P}/docs/_build/conf.py.in" || die + + # fix doc install path + sed -i -e "s|share/doc/mydumper|share/doc/${PF}|" docs/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=(-DBUILD_DOCS=$(usex doc)) + cmake_src_configure +} diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest index b1ec9b808566..0d55653b0557 100644 --- a/dev-db/mysql-connector-c++/Manifest +++ b/dev-db/mysql-connector-c++/Manifest @@ -1,5 +1,10 @@ AUX mysql-connector-c++-8.0.27-mysqlclient_r.patch 1070 BLAKE2B 339951ae0df13467247168052a9928d2d0f72dca1c97f6d78eb604372e45ed1a14564a05f1bdd54e5848d669520ac43a2129b3c337c776a71a6670da09c74d04 SHA512 c141b81fc755ef4b586debe473b9bd0f903d4575314327a319ad584263a09281290bc5c95b683c11932fded730ca3962b8450be8a916db3c86391ad3edb52305 AUX mysql-connector-c++-8.0.33-jdbc.patch 265 BLAKE2B e421e01de9ca66f159c9000ebbbb1d5bc8a1755a9f982952ffe8c200e370ea24626c6bd2795af80425b58fa6efda502656a02967611014153fbab6a95eb1d025 SHA512 5a06851d0b2a8d86af0b1a0f102af5044e19ad3a1a277c898fb83a0bee546a7a36a17ec6af747d306428eeedffef5fd298dafd940151c6a1e26b35049eb2ed9f +AUX mysql-connector-c++-9.2.0-gcc-15-cstdint.patch 353 BLAKE2B b8f0a82fd456d3df45f33f99ae616f720bc228b90adfd245c84d361ca52502da829fb34570aea758516899b2ac692d2d91a837cefd1a2db99bd6337a567222ee SHA512 08fb86e998343ef25b860311559b9ac5154edbb970f73cec3bd7a604f9fe87c42f717bbf89c6dc94cf6c2678e4db2462c6a93613ede9a31b8131ebdfe41d06a1 +AUX mysql-connector-c++-9.2.0-hookup-tests.patch 1725 BLAKE2B 89987d1ab10386e66e1a03bd44d951b3a71604d6daa90fa4d0c8d85dc51f74b5450a7e47b8308759a0b8680a41d01718c64da11b4bb98bff36accaf0d0760cf3 SHA512 b7d17ad8d381fd9d961faa23a6525e3d141efb1673681c99386e2599fc019c619a217026ac1e737054f22506e96d15c0faa5cf486f12c9a7c73312924f06126b +AUX mysql-connector-c++-9.2.0-test-iomanip.patch 341 BLAKE2B a232c3e8caacde935f1cbf506e87d7e6948b5deb2e536b129a06b4d4183ff5f8e9762c09dc2be355ae924a97f0b7266cf786b1129dce26ac40e5cfbbbc06f925 SHA512 aba114f61f5d89c48d777e473c44b07969aad74f0efe80a3b9403d99e5903f1ab7795c0866829593e14d05a45ca6b55446a5118c409b22263b99336e3d2c537a DIST mysql-connector-c++-8.0.33-src.tar.gz 4531693 BLAKE2B b8f426742fa343ebc1f1da5ba1fbf7dfc0db39493bafd0f5d16e355d43277d78ff27b183edad31792a7591ac59bbfb4033f3498dc646883988cba189535a8ddf SHA512 a625a28f63161c97d727d90e7b1211273fe931ae1325c2fbeca16e770761e3159abdcaba1fb6eb1a557674fd817bf266875a089c8c2ea4d2dd1553e6fa887ef1 +DIST mysql-connector-c++-9.2.0-src.tar.gz 4784018 BLAKE2B 74ddf9d4d7bf6b679d8cbacae1de848c0957cb5ab196dfc1ed42927bff9924b12f73f6e58ceeb07b586fd60a79bd0313c395e21393c303ddaa0f525d7d8c5375 SHA512 bbd829ba426772702c8109e8706e5e542bc2a102dae6cddc0ba4f9f6d26952b4652210930d9a983cfadd3a72cf95ba430a401eeb100d766de69ddc2ec6eefa71 EBUILD mysql-connector-c++-8.0.33-r1.ebuild 1495 BLAKE2B 63c33ddbae99b67dfae008f5a84707c79d9100ebac6268dab63b8bb131bd3e685c3d2e7787edbab9198b3f3d5285d019881f92b96bafac5859b885643275ebe4 SHA512 ffccd040bf1974b014a96f52852cdf6f2d314dc02ce3f202fbb8ce6d8cf9e665f9670425ee489680cf7df5e11aae30a2ae80b89e3404daa375ae118c54d592fa +EBUILD mysql-connector-c++-9.2.0.ebuild 4986 BLAKE2B 22265e622b6c6d1c0e1293bfa9415e7c459e4ba1551669e49d8bf3a77fd4b2e04ecfa222cc23d804b596577b6435c9c6ee2bb614dd5127360e8d27b9310b58d1 SHA512 b30777928501f270ff890cc162c49c5beaecc4cff5c5f90dd3bad92b131af1b9610be4bdcd73915982f632744402ffc24824d10f135864f50959eda6c9934cfc MISC metadata.xml 427 BLAKE2B 6467a6f2f5b106904e37a7d305ef49d6d43a07ac94f958e4f02406ea6d118feb7ba6cb6a036226e419b5ee732500e9cfda2d332a41f8d3635eadd3d3f826c868 SHA512 dfc7271b8c49ad4bd9672c098c9ef29144488f2dd92caec9ab54d0f01a849b4507662c2d5788da102e373da31d8b33b55697ad9b22dfd64e1d9dfdc082e576a0 diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-gcc-15-cstdint.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-gcc-15-cstdint.patch new file mode 100644 index 000000000000..8e4bd1811f75 --- /dev/null +++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-gcc-15-cstdint.patch @@ -0,0 +1,16 @@ +https://bugs.gentoo.org/863188 + +diff --git a/include/mysqlx/common/value.h b/include/mysqlx/common/value.h +index 4f1b7a38..c30bbd0a 100644 +--- a/include/mysqlx/common/value.h ++++ b/include/mysqlx/common/value.h +@@ -39,7 +39,7 @@ + PUSH_SYS_WARNINGS + #include <string> + POP_SYS_WARNINGS +- ++#include <cstdint> + + namespace mysqlx { + MYSQLX_ABI_BEGIN(2,0) + diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-hookup-tests.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-hookup-tests.patch new file mode 100644 index 000000000000..ba3cb5aaf7c8 --- /dev/null +++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-hookup-tests.patch @@ -0,0 +1,64 @@ +From 8d344b6c4ebb1f0029aecaee9cb0b5522e7db27e Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Sat, 8 Mar 2025 00:05:15 +0200 +Subject: [PATCH] Build correctly against shared library gtest + +Not upstreamable as is. +--- a/cdk/cmake/gtest.cmake ++++ b/cdk/cmake/gtest.cmake +@@ -132,19 +132,8 @@ MESSAGE("gtest location: ${gtest_location}") + MESSAGE("gtest_main location: ${gtest_main_location}") + + +-add_library(gtest STATIC IMPORTED) +-add_library(gtest_main STATIC IMPORTED) +- +-set_target_properties(gtest PROPERTIES +- IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" +- IMPORTED_LOCATION "${gtest_location}" +-) +- +-set_target_properties(gtest_main PROPERTIES +- IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" +- IMPORTED_LINK_INTERFACE_LIBRARIES "gtest" +- IMPORTED_LOCATION "${gtest_main_location}" +-) ++add_library(gtest ALIAS GTest::gtest) ++add_library(gtest_main ALIAS GTest::gtest_main) + + # + # Setup configuration-specific locations for Win +@@ -193,11 +182,5 @@ IF(WIN32) + + ENDFOREACH(Config) + +-ELSE(WIN32) +- +- # On unix gtest depends on pthread library +- set_property(TARGET gtest APPEND PROPERTY INTERFACE_LINK_LIBRARIES pthread) +- set_property(TARGET gtest APPEND PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES pthread) +- + ENDIF(WIN32) + +-- +2.48.1 + +From 1d0f1fbb800517583029b6bc88d285bcb1245111 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Sat, 8 Mar 2025 00:06:41 +0200 +Subject: [PATCH] Hook cdk unittests to ctest + +--- a/cdk/cmake/testing.cmake ++++ b/cdk/cmake/testing.cmake +@@ -370,6 +370,8 @@ IF(WITH_TESTS) + COMMENT "# Generating test group definitons." + ) + ++ gtest_discover_tests(${target_run_unit_tests}) ++ + ENDIF() + ENDMACRO(ADD_TEST_TARGET) + +-- +2.48.1 + diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-test-iomanip.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-test-iomanip.patch new file mode 100644 index 000000000000..ae9b58f519ea --- /dev/null +++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-test-iomanip.patch @@ -0,0 +1,15 @@ +Implicit requirement due to use of std::setw + +diff --git a/devapi/tests/session-t.cc b/devapi/tests/session-t.cc +index 758a0b8f..138cdcac 100644 +--- a/devapi/tests/session-t.cc ++++ b/devapi/tests/session-t.cc +@@ -35,6 +35,7 @@ + #include <thread> + #include <map> + #include <sstream> ++#include <iomanip> + + using std::cout; + using std::endl; + diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-9.2.0.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-9.2.0.ebuild new file mode 100644 index 000000000000..64517a13b8e8 --- /dev/null +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-9.2.0.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +URI_DIR="Connector-C++" +DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)" +HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/" +SRC_URI=" + https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz +" +S="${WORKDIR}/${P}-src" + +LICENSE="Artistic GPL-2" +# See ABI_VERSION(s) is version.cmake +SLOT="0/2.10" # ABI_VERSION_MAJOR/JDBC_ABI_VERSION_MAJOR +# -ppc, -sparc for bug #711940 +KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86" +IUSE="+legacy test" + +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/openssl:= + sys-libs/zlib + legacy? ( + >=dev-db/mysql-connector-c-8.0.27:= + ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-cpp/gtest + ) +" +BDEPEND=" + test? ( + >=dev-db/mysql-8[server] + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch + "${FILESDIR}"/${PN}-8.0.33-jdbc.patch + "${FILESDIR}"/${PN}-9.2.0-gcc-15-cstdint.patch + "${FILESDIR}"/${PN}-9.2.0-test-iomanip.patch + "${FILESDIR}"/${PN}-9.2.0-hookup-tests.patch +) + +src_prepare() { + cmake_src_prepare + + # ignores MAKEOPTS and runs recursive make -j$(nproc). Clobbers jobs badly + # enough that your system immediately freezes. + # + # https://bugs.gentoo.org/921309 + # https://bugs.mysql.com/bug.php?id=115734 + sed -i 's/prc_cnt AND NOT/FALSE AND NOT/' cdk/cmake/dependency.cmake || die +} + +src_configure() { + # sanity check subslot to kick would be drive by bumpers + local detected_abi + detected_abi="$(awk '$1 ~ "set.*ABI_VERSION_MAJOR" {printf("%s.",$2)}' version.cmake)" + detected_abi="${detected_abi%.}" + if [[ "${SLOT#0/}" != "${detected_abi}" ]]; then + die "Sub slot ${SLOT#0/} doesn't match upstream specified ABI ${detected_abi}." + fi + + local mycmakeargs=( + -DBUNDLE_DEPENDENCIES=OFF + # Cannot handle protobuf >23, bug #912797 + #-DWITH_PROTOBUF=system + -DWITH_LZ4=system + -DWITH_SSL=system + -DWITH_ZLIB=system + -DWITH_ZSTD=system + -DWITH_JDBC=$(usex legacy) + -DWITH_TESTS=$(usex test) + ) + + if use legacy ; then + mycmakeargs+=( + -DMYSQLCLIENT_STATIC_BINDING=0 + -DMYSQLCLIENT_STATIC_LINKING=0 + ) + fi + + cmake_src_configure +} + +# NOTE: Test failures in jdbc may be a sign of issues in mysql-connector-c. +src_test() { + local CMAKE_SKIP_TESTS=( + # Test that configures, builds and install a test project again. It gets caught on the install phase. + Link_test + # Only ipv4 will work as only the ipv4 local address is specified. A future task for someone... + # https://dev.mysql.com/doc/refman/8.4/en/x-plugin-options-system-variables.html#sysvar_mysqlx_bind_address + Sess.ipv6 + # FIXME: + # not ok 15 - preparedstatement::queryAttributes # assertEquals(int) failed in + # /var/tmp/portage/dev-db/mysql-connector-c++-9.2.0/work/mysql-connector-c++-9.2.0-src/jdbc/test/unit/classes/preparedstatement.cpp, + # line #1582 expecting '200' got '0' + jdbc_test_preparedstatement + ) + + local -x MYSQL_HOST="127.0.0.1" + local -x MYSQL_PORT="5555" + local -x MYSQL_USER="$(whoami)" + local -x MYSQL_PASSWORD="insecure" + local -x XPLUGIN_PORT="5556" + + einfo "Creating mysql test instance" + mkdir -p "${T}"/mysql || die + mysqld \ + --no-defaults \ + --initialize-insecure \ + --user root \ + --basedir="${EPREFIX}/usr" \ + --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die + + einfo "Starting mysql test instance ..." + mysqld \ + --no-defaults \ + --character-set-server=utf8 \ + --bind-address=${MYSQL_HOST} \ + --port=${MYSQL_PORT} \ + --socket="${T}"/mysqld.sock \ + --mysqlx-bind-address=${MYSQL_HOST} \ + --mysqlx-port=${XPLUGIN_PORT} \ + --mysqlx-socket="${T}"/mysqlx.sock \ + --pid-file="${T}"/mysqld.pid \ + --datadir="${T}"/mysql 1>"${T}"/mysqld.log 2>&1 & + + # wait for it to start + local i + for (( i = 0; i < 10; i++ )); do + [[ -S ${T}/mysqld.sock ]] && break + sleep 1 + done + [[ ! -S ${T}/mysqld.sock ]] && die "mysqld failed to start" + + einfo "Configure mysql test instance ..." + # https://github.com/mysql/mysql-connector-cpp/blob/trunk/jdbc/test/CJUnitTestsPort/README + mysql -u root \ + -e "CREATE USER ${MYSQL_USER} IDENTIFIED BY '${MYSQL_PASSWORD}'; GRANT ALL PRIVILEGES ON *.* TO ${MYSQL_USER} WITH GRANT OPTION;" \ + -S "${T}/mysqld.sock" \ + -h ${MYSQL_HOST} \ + -P ${MYSQL_PORT} || die + mysql -u root \ + -S "${T}/mysqld.sock" \ + -h ${MYSQL_HOST} \ + -P ${MYSQL_PORT} < "${S}"/jdbc/test/CJUnitTestsPort/cts.sql || die + + # Do tests with one job for proper clean up in database tests. + nonfatal cmake_src_test -j1 + local ret=${?} + + einfo "Stopping mysql test instance ..." + pkill -F "${T}"/mysqld.pid || die + # wait for it to stop + local i + for (( i = 0; i < 10; i++ )); do + [[ -S ${T}/mysqld.sock ]] || break + sleep 1 + done + + rm -rf "${T}"/mysql || die + + [[ ${ret} -ne 0 ]] && die +} + +src_install() { + cmake_src_install + einstalldocs + + # cmake package config file appears to be broken in multiple ways + rm "${ED}/usr/mysql-concpp-config.cmake" || die + rm "${ED}/usr/mysql-concpp-config-version.cmake" || die +} diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest index 5817a482d48e..5dbe04a1f846 100644 --- a/dev-db/mysql-connector-c/Manifest +++ b/dev-db/mysql-connector-c/Manifest @@ -2,5 +2,7 @@ AUX mysql-connector-c-8.0.19-do-not-install-comp_err.patch 307 BLAKE2B 864c07e9d AUX mysql-connector-c-8.0.27-res_n.patch 1635 BLAKE2B f75811958a6415bf45aa571a8da14c371500216a197602dec19b8b565bc219f98e8feb9bc660d81e32c4af7f39abb626af405d33a7f478617c8ee96c5b4453b8 SHA512 bb6315f0ac540d0723dffd9f8c2bdad9b9b1c0a3d706f80fd3bbdc9c7f276a8dda2754df94f6cb4ffecb0c3b0e65edc96c90b171eb0a4e5032fe6583e56ade85 AUX mysql-connector-c-8.0.36-always-build-decompress-utilities.patch 607 BLAKE2B 67196391d8d9a042087129cda2d7aa67903e73aa9446f32e831eef5b97d7c48cdf1c9774af19c814e82ee6a7524ae8ec481a8bb5a998f4e4fc67238b8cb89c14 SHA512 f020448bbe67d6ad262a444af4c36efc3b2dd7d1a2fa21145f1018e5dd20c1ab447e4171ad23536fbeb1ba3a1a2bdbc8e58c7bce9608ab858889e1f4e2426c64 DIST mysql-boost-8.0.36.tar.gz 438154682 BLAKE2B 066c9dd7f2804ad29808c3bfcf5eae53466f7c40cf1386a9c1f26a0b45dcc3eda8d9618de36e8008e5e4d58b726d6c8ca85aec8d1eda8981f5a49e495b32f046 SHA512 a6c1c009a322b7e7aa2aa607573060414c847c77d48f44a24058ffb89673621f2ebbcc1a4448fa841a87ff721159cc8eaf44a57721c7dc233c130691c16a9d4a +DIST mysql-boost-8.0.41.tar.gz 488749630 BLAKE2B 4d8c084ec9e95bb6d57573adbb998d4917d76fc77dc599c246b6f2ebbffccd2d2fd1ef8b615caa6bd7d4fa6646b55d5912f98f93d81f64fd4fc4162bf60aa9a2 SHA512 e5bb314082be6bf037808ea7a2130c8e2b44491a6c54bc3f611d823be5285021d05093afca71c3d33da6dece2bac3a8e24da5198080060407d8c4dbfeeea8a99 EBUILD mysql-connector-c-8.0.36.ebuild 3193 BLAKE2B d27adfacf052bfee9e17642b5b07c78c408be52f11b73f36bd213522c62d542e0708abb53c4f58cdb99df6be460354d749efb4b34f0e812536889c9a3ee8d5e1 SHA512 81d17293faa94dc938dc165caec455ec619efbaa73fd676e3ab20ef2ee7ea5174afcf47f65d5cb6c370f2d4fa1d912c4c940d02dc39f44dc260898b4822c202d +EBUILD mysql-connector-c-8.0.41.ebuild 3273 BLAKE2B d578815ef5edbda6707169993a9e4d2b907662d4a0e30547c327df0353db8f919da8852a9cd40794e2232dd3ab1654ad3cb7c830bfad1c06ac58fc43c9e28c38 SHA512 72530e0e83bffe2a663bc00d4aa8cdeab9ec1e528cc6229845fee2891b71ef255eb1b404842fe51f5417765c808ec7ad60e0e4827f63b4df78234eb46be6696a MISC metadata.xml 240 BLAKE2B cc93ae4da8408b221c296e092d9db6ae3879754ade669d81c1218d53a5f007c6b7717bda6f92dbb0af38ff9b5e45f44e91503b12d3603d9955ec7d5a2a67399b SHA512 0f41c32ce3d736e061302252f14913d7425bc97e19d0c2f3b80c50637ab3521aa6cfc67f82e5f70f91174cddb36bb5622837dc18fd9db3bf75eb860359aade27 diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.41.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.41.ebuild new file mode 100644 index 000000000000..006029d59e49 --- /dev/null +++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.41.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib flag-o-matic + +DESCRIPTION="C client library for MariaDB/MySQL" +HOMEPAGE="https://dev.mysql.com/downloads/" + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/mysql/mysql-server.git" + + inherit git-r3 +else + SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${PV}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + + S="${WORKDIR}/mysql-${PV}" +fi + +LICENSE="GPL-2" +SLOT="0/21" +IUSE="ldap static-libs" + +RDEPEND=" + >=app-arch/lz4-1.9.4:=[${MULTILIB_USEDEP}] + app-arch/zstd:=[${MULTILIB_USEDEP}] + dev-libs/openssl:=[${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.13:=[${MULTILIB_USEDEP}] + ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +# Avoid file collisions, #692580 +RDEPEND+=" + !<dev-db/mysql-5.6.45-r1 + !=dev-db/mysql-5.7.23* + !=dev-db/mysql-5.7.24* + !=dev-db/mysql-5.7.25* + !=dev-db/mysql-5.7.26-r0 + !=dev-db/mysql-5.7.27-r0 + !<dev-db/percona-server-5.7.26.29-r1 +" + +DOCS=( README ) + +# Wrap the config script +MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + +PATCHES=( + "${FILESDIR}"/${PN}-8.0.36-always-build-decompress-utilities.patch + "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch + "${FILESDIR}"/${PN}-8.0.27-res_n.patch +) + +src_prepare() { + sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "scripts/CMakeLists.txt" || die + + # All these are for the server only. + # Disable rpm call which would trigger sandbox, #692368 + sed -i \ + -e '/MYSQL_CHECK_LIBEVENT/d' \ + -e '/MYSQL_CHECK_RAPIDJSON/d' \ + -e '/MYSQL_CHECK_ICU/d' \ + -e '/MYSQL_CHECK_EDITLINE/d' \ + -e '/MYSQL_CHECK_CURL/d' \ + -e '/ADD_SUBDIRECTORY(man)/d' \ + -e '/ADD_SUBDIRECTORY(share)/d' \ + -e '/INCLUDE(cmake\/boost/d' \ + -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \ + CMakeLists.txt || die + + # Skip building clients + echo > client/CMakeLists.txt || die + + # Forcefully disable auth plugin + if ! use ldap ; then + sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die + echo > libmysql/authentication_ldap/CMakeLists.txt || die + fi + + cmake_src_prepare +} + +multilib_src_configure() { + # Code is now requiring C++17 due to + # https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08 + append-cxxflags -std=c++17 + + # LTO leads to double free in mysql-connector-c++ tests + filter-lto + + local mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO=-DNDEBUG + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-DNDEBUG + -DINSTALL_LAYOUT=RPM + -DINSTALL_LIBDIR=$(get_libdir) + -DWITH_DEFAULT_COMPILER_OPTIONS=OFF + -DENABLED_LOCAL_INFILE=ON + -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock" + # Automagically uses LLD with not using LTO (bug #710272, #775845) + -DUSE_LD_LLD=OFF + -DWITH_LZ4=system + -DWITH_NUMA=OFF + -DWITH_SSL=system + -DWITH_ZLIB=system + -DWITH_ZSTD=system + -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient + -DSHARED_LIB_PATCH_VERSION="0" + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DWITHOUT_SERVER=ON + -DWITH_BUILD_ID=OFF + ) + + cmake_src_configure +} + +multilib_src_install_all() { + doman \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 + + if ! use static-libs ; then + find "${ED}" -name "*.a" -delete || die + fi +} diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest index 32f99b3ee9b9..97c9e7ecb764 100644 --- a/dev-db/mysql-workbench/Manifest +++ b/dev-db/mysql-workbench/Manifest @@ -5,6 +5,8 @@ DIST antlr-4.11.1-complete.jar 3547867 BLAKE2B 24e9799a402302fd13ebd91028a8e3b81 DIST antlr-4.13.2-complete.jar 2140045 BLAKE2B b810c171c7bcce7e259beda70a2efbee7868188432868953229dd4457f977b162f384823ccce2ac497dd472fe80d05930d28b6eae865b88fd8bc70def86df131 SHA512 22569a011d207fb8f33e7e71162542a5748cc3daa67eec59cbdc2aeb0894c331dfb8b6100ea88529c6cea72672cbddd77ca6134ddf331685d68b3e72b4e0a914 DIST mysql-workbench-community-8.0.38-src.tar.gz 59069184 BLAKE2B ace0afbab46c106200da5234595065766798d97f57008261c166f97bed842f185e1bba90e0c60b9acf4843b54261b5aa49c8a3a6b096e72597443fcb1a011217 SHA512 9fa18d3a66111461dd47dec05ea8dfa214dac85017d51358e694d56cb05439d96a91f675e105cfbecc70c456127964a81ddb2a5a2951457196b20b10dcb6f502 DIST mysql-workbench-community-8.0.40-src.tar.gz 59113554 BLAKE2B 3e0f86015ba6999284c9bee42e01ad2723b7e3292a67311f29bd0dc630b0bb14a82b8cef9509e1809de82b8330f5ea99594c413e347368a0dc26d69c89366021 SHA512 81f2db45f2dba2a546e02b3cb2eb1ab2e0dc142fa76f6579c0b6069e43cbdfe9cb1fb626aac435031e92aa2fa08cc00b311e7737043623b3d12291df48de9779 +DIST mysql-workbench-community-8.0.41-src.tar.gz 59311496 BLAKE2B 0882f9d210dd963ca7094c433ae92fb69534982e576e0c60f87bc551335f92ad522d1226900ad2c79cfe631a0ee11e26513bd0cab7cd97cc60ff2f98a47f65c8 SHA512 5d14b14e4ccb004963a7af470057d9bd779b514609864fdc2b6b181155d2fd948725a4a32e89452596ee685808c25db1915bee83db5a48218e125c18a7523559 EBUILD mysql-workbench-8.0.38.ebuild 2999 BLAKE2B e9e6452fe944e8ae846e8e60f1d9642a268074eccfcdc63637effb1cd77bc253b01d54b1225105180d01a394341cf1c87a5a49a9198546b02ec1b7e55e1f1481 SHA512 f34ec499aca287e946ff01ed51010b5e6a77a4a5a850b935448f8e3f30ff03d5c3f05daa371eb806160100de7f7ad7d61d24a5cc9f9c60c6a7982aa10c324028 EBUILD mysql-workbench-8.0.40.ebuild 3000 BLAKE2B 2506732059ffb12f85341dd21e0550b3e16947d8c1d2c204524063c31a86ebbebb826f2bd1c68faa06d782c2518fa1086cc5c0cbcf4e30a408e67179155c8ff4 SHA512 1450460c1ba62fed9cb2fee891d2ff3e272190a6c01ba7bd421539c0884ffb643c032ba316a858d83ea99c8693f2cd1aa032c1071fdbef2777327bf808f5dfc3 +EBUILD mysql-workbench-8.0.41.ebuild 2939 BLAKE2B 37ba0c6c78871b57f0048ed9858752d0089eaeafd02e2f9bb27efc331e219b59b41c615eaa48ccfda892f9d5d90d78ddab190b6e34058795b50c14e7b6e109a5 SHA512 426e93eda4d9ffd03676ca97a04db6c064e4bc1d51388d03a7dc105da0d87a7b96004046eafdadde34cb05ab2870e4cd7bdef07a242d5e93bdc2bd4ad5fb1514 MISC metadata.xml 312 BLAKE2B 8c491f0d45e24b9e367ef63f8822daf6925a17f8d44ff822b8faf7485f729524de02309b91e18411421b4533aa086853914c4a0b2a93d3fd5573a289fa1e3715 SHA512 01f2f645d167290bdb313e6c1c386b0426b41edd0ee9b50acf538a7353855c84321111ffd11c213c71424c7df73aa48b8fb9f3f2af914b595fb2961cc6b3186c diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.41.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.41.ebuild new file mode 100644 index 000000000000..01b80ca69e97 --- /dev/null +++ b/dev-db/mysql-workbench/mysql-workbench-8.0.41.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GCONF_DEBUG="no" + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="sqlite" + +ANTLR_VERSION=4.13.2 + +inherit gnome2 flag-o-matic python-single-r1 cmake + +MY_P="${PN}-community-${PV}-src" + +DESCRIPTION="MySQL Workbench" +HOMEPAGE="https://www.mysql.com/products/workbench/" +SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz + https://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar" +S="${WORKDIR}"/"${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="debug doc" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# glibc: deprecated mutex functions, removed in 2.36.0 +CDEPEND="${PYTHON_DEPS} + app-crypt/libsecret + dev-libs/glib:2 + >=dev-cpp/antlr-cpp-4.11.1:4= + dev-cpp/atkmm:* + dev-cpp/pangomm:1.4 + >=dev-cpp/glibmm-2.14:2 + dev-cpp/gtkmm:3.0 + >=net-libs/libssh-0.9.5:=[server] + x11-libs/pango + x11-libs/gtk+:3 + >=x11-libs/cairo-1.5.12[glib,svg(+)] + >=dev-libs/rapidjson-1.1.0 + dev-libs/libsigc++:2 + dev-libs/boost[nls] + >=dev-cpp/ctemplate-0.95 + >=dev-libs/libxml2-2.6.2:2 + dev-libs/libzip:= + dev-libs/libpcre[cxx] + >=sci-libs/gdal-1.11.1-r1:= + virtual/opengl + || ( sys-fs/e2fsprogs dev-libs/ossp-uuid ) + dev-libs/tinyxml[stl] + dev-db/mysql-connector-c:= + >=dev-db/mysql-connector-c++-8.0.27-r1:=[legacy(-)] + dev-db/vsqlite++ + || ( dev-db/libiodbc >=dev-db/unixODBC-2.3.11 ) + dev-python/pexpect + >=dev-python/paramiko-1.7.4 +" + +RDEPEND="${CDEPEND} + app-admin/sudo + >=sys-apps/net-tools-1.60_p20120127084908" + +DEPEND="${CDEPEND} + dev-lang/swig + >=virtual/jre-11 + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" + "${FILESDIR}/${PN}-8.0.19-mysql-connector-8.patch" + "${FILESDIR}/${PN}-8.0.33-gcc13.patch" +) + +src_unpack() { + unpack ${PN}-community-${PV}-src.tar.gz +} + +src_prepare() { + ## And avoid -Werror + sed -i -e 's/-Werror//' CMakeLists.txt || die + ## Fix doc install directory + sed -i -e "/WB_INSTALL_DOC_DIR/ s/mysql-workbench/${P}/ ; /WB_INSTALL_DOC_DIR/ s/-community//" CMakeLists.txt || die + + ## package is very fragile... + strip-flags + + cmake_src_prepare +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/924671 + # https://bugs.mysql.com/bug.php?id=115735 + filter-lto + + if has_version dev-db/libiodbc ; then + IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config" + fi + + if has_version dev-db/unixODBC ; then + UNIXODBC="-DUNIXODBC_CONFIG_PATH=/usr/bin/odbc_config" + fi + + append-cxxflags -std=c++11 + ANTLR_JAR_PATH="${DISTDIR}/antlr-${ANTLR_VERSION}-complete.jar" + local mycmakeargs=( + -DWITH_ANTLR_JAR=${ANTLR_JAR_PATH} + -DLIB_INSTALL_DIR="/usr/$(get_libdir)" + -DIODBC_INCLUDE_PATH="/usr/include/iodbc" + ${IODBC} + ${UNIXODBC} + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DMySQL_CONFIG_PATH="/usr/bin/mysql_config" + ) + cmake_src_configure +} diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index 7ebcf1750085..5576f1df39ca 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -13,7 +13,9 @@ DIST mysql-8.0.40-patches-01.tar.xz 8356 BLAKE2B ee67f391d7d76e2a49d772a946a0984 DIST mysql-boost-5.7.41.tar.gz 53266489 BLAKE2B 7201d6c53cf711bd121464fc85260e1799f7195f45706b91f3cb8d605fe2bd2639d532b4045a336645a553d9b0b1131cc45140a19483902e5dc37d3e2479b6f5 SHA512 88e1cc4864616ed92880a3f02285763aac2ddfc1cdeeff07e1502c97bbdfd31c9ed9d02f8f6381a352857a85241e4e4eb6bc0d978e3928a68ef49362f670482a DIST mysql-boost-8.0.37.tar.gz 445594692 BLAKE2B 105521985ec8c622a28b5e0f7f13e519b2d91af6ce7c2b483cf1c096aa79f156cc59eabb6281b485d6f558eb6e20a95d5edc349bbd72d1c4a2591eef59270f4c SHA512 4c6033d4f96990d3f324f0d5733273425ddf7cc11660e110e0dc848da6cfa47b7565c1eb0b5d1e08878a0ea2c7d1eb85b400ccca28e5b4383f7e9216ba3e1660 DIST mysql-boost-8.0.40.tar.gz 490502884 BLAKE2B 137a2060ede74449caf6a18dd1b54093668591a592eb0191b436aa289f2faae546eb9d4eaeeef17861a85f3eb34459997fe45c82b21ae07716913e2980c49e4b SHA512 fcece6e3c09dc4733767effb5c22a55e4add1c9f6b6b911e1eccdd0444f08dc5714b3c8b2a40c85a75a63ff117b6c9881904b6b4732b5ca9bef96de1cb2e284a +DIST mysql-boost-8.0.41.tar.gz 488749630 BLAKE2B 4d8c084ec9e95bb6d57573adbb998d4917d76fc77dc599c246b6f2ebbffccd2d2fd1ef8b615caa6bd7d4fa6646b55d5912f98f93d81f64fd4fc4162bf60aa9a2 SHA512 e5bb314082be6bf037808ea7a2130c8e2b44491a6c54bc3f611d823be5285021d05093afca71c3d33da6dece2bac3a8e24da5198080060407d8c4dbfeeea8a99 EBUILD mysql-5.7.41.ebuild 38684 BLAKE2B 49823400f31fb95cd8d0c7cea72899f47c38aaa9b20ec5822c9d68d56d3a2c1afa9df1999619afa4b4e2ff2a3a152b4a76cafe6204f5ae01d6a65e9cf87d5ce2 SHA512 63d34831a768b338fd25806346fa6786cbe0074255f113f5c9f731b0eebb880b73996efb2a53d042d8d57590f93e1bd74e501b2cfb481a632e4ac23f6bca16f0 EBUILD mysql-8.0.37.ebuild 41979 BLAKE2B df16fd4f3c8d052d936703a6917682ba0273509c6fa72a5b1194e15fcb52f718258485d08cd41fe22b6b8d033e520a6c988c951851409dada6aaf37f004fd572 SHA512 de864755fbbb756adb2cae3058a86ec718d42070495520531762843e0bcbcc98c96eeebea97839a55acffc161b951432fc862ac8bfd45aca5d64e0bb74c196b9 -EBUILD mysql-8.0.40.ebuild 42091 BLAKE2B 0170e7ee7058c591a5f45a0c59a028807c9a7d1c631229b9e61cbb71ac09580057fd06a6bbb3218d09b96dcc8af946e9fdc707f29f9791084704793de499eb9c SHA512 962ebbf903ace4b5ceaa86fa987a92de83f3542a822d0d40a674832026e478dcace3dc97a0207d618d8bfa2bba304ae7eecc905b7495673973b5188d13591eda +EBUILD mysql-8.0.40.ebuild 43113 BLAKE2B 56b6872790de9ac70d64157bf1f4ae3efc5e2a1fbbff118e4003aa6b3bbc2a00bd49faac3f114672fe0834d843b46cac4634bb5556f733c774ec2806d0e4f2ac SHA512 d73831695d58c8d8d78e3569d3c4fa3cb2e52b660e804e34a75cc97e38dc39358d9779d1dd616648152e1d8c812316dd27942712b226505fec9ce248c5d11c75 +EBUILD mysql-8.0.41.ebuild 42946 BLAKE2B c35dc927ac4d735d8a3df28923c4b4745f24e835369078363ab5a43542906653ffc913020fcacf24a308315b7895fbada8f1b6a741346971386301109ba7b431 SHA512 ba5c99190b900866136c19e08a27bee6a6bf106ee4ad82d3aed1cf36aca60ba3f6d18bef393da8ccb9283329bd24e94105f6b9e9a1ff99c1a8672a140e0a5919 MISC metadata.xml 1353 BLAKE2B ec0454ffdcce75567e9817fa199f1e6ec1ac73520001c299b794cbfebcd42f9e5abfcf9e6faec47bd0b04f40b03846798f1735e1561c91e4e3c0df48627fe4da SHA512 d5f33d05fd1505d13afa2e968cbfcbe1c6ad6a581468608ed1fd88daf1dd17dd66fbc55b8b6eceb42e2d03bd4327985ff7432c668f983775b103e4375b4ad8c6 diff --git a/dev-db/mysql/mysql-8.0.40.ebuild b/dev-db/mysql/mysql-8.0.40.ebuild index eeffe2b39ec6..5957c41998a9 100644 --- a/dev-db/mysql/mysql-8.0.40.ebuild +++ b/dev-db/mysql/mysql-8.0.40.ebuild @@ -391,15 +391,20 @@ src_test() { einfo "Official test instructions:" einfo "ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' ebuild ..." - if ! use server ; then - ewarn "Skipping server tests due to minimal build!" - return 0 - fi - # Ensure that parallel runs don't die local -x MTR_BUILD_THREAD="$((${RANDOM} % 100))" - local -x MTR_PARALLEL=${MTR_PARALLEL:-$(makeopts_jobs)} + # Use a tmpfs opportunistically, otherwise set MTR_PARALLEL to 1. + # MySQL tests are I/O heavy. They benefit greatly from a tmpfs, parallel tests without a tmpfs are flaky due to timeouts. + if mountpoint -q /dev/shm ; then + local VARDIR="/dev/shm/mysql-var-${MTR_BUILD_THREAD}" + local -x MTR_PARALLEL=${MTR_PARALLEL:-$(makeopts_jobs)} + else + ewarn "/dev/shm not mounted, setting default MTR_PARALLEL to 1. Tests will take a long time" + local VARDIR="${T}/vardir" + # Set it to one while allowing users to override it. + local -x MTR_PARALLEL=${MTR_PARALLEL:-1} + fi einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" # Disable unit tests, run them separately with eclass defaults @@ -419,7 +424,7 @@ src_test() { "${FILESDIR}"/my.cnf-8.0.distro-client \ "${FILESDIR}"/my.cnf-8.0.distro-server \ > "${T}"/my.cnf || die - local -X PATH_CONFIG_FILE="${T}/my.cnf" + local -x PATH_CONFIG_FILE="${T}/my.cnf" # Create directories because mysqladmin might run out of order mkdir -p "${T}"/var-tests{,/log} || die @@ -477,6 +482,10 @@ src_test() { "main.slow_log;0;Known failure - no upstream bug yet" "sys_vars.build_id_basic;0;Requires -DWITH_BUILD_ID=ON" + + # Fixed in 8.0.41 + # https://github.com/mysql/mysql-server/commit/8872c9a4530d35ab4299517708208d60b1db04ee + "main.time_zone;0;Relies on deprecated timezone name MET" ) if ! hash zip 1>/dev/null 2>&1 ; then @@ -498,7 +507,7 @@ src_test() { if use debug; then disabled_tests+=( - "innodb.dblwr_unencrypt;0;Known test failure -- no upstream bug yet" + "innodb.dblwr_unencrypt;0;Unstable test" ) fi @@ -572,24 +581,37 @@ src_test() { # Anything touching gtid_executed is negatively affected if you have unlucky ordering nonfatal edo perl mysql-test-run.pl \ --force --force-restart \ - --vardir="${T}/var-tests" --tmpdir="${T}/tmp-tests" \ + --vardir="${VARDIR}" --tmpdir="${T}/tmp-tests" \ --skip-test=tokudb --skip-test-list="${T}/disabled.def" \ - --retry-failure=2 --max-test-fail=0 + --max-test-fail=0 \ + --retry=3 --retry-failure=2 \ + --report-unstable-tests \ + --report-features retstatus_tests=$? + if [[ "${VARDIR}" != "${T}/var-tests" ]]; then + # Move vardir to tempdir. + mv "${VARDIR}" "${T}/var-tests" + # Clean up mysql temporary directory + rm -rf "${VARDIR}" 2>/dev/null + fi + + if [[ "${retstatus_tests}" -ne 0 ]]; then + eerror "Tests failed. When you file a bug, please attach the following items:" + eerror "The file that is created with this command:" + eerror "\t'find ${T}/var-tests -name '*.log' | tar -caf mysql-test-logs.tar.xz --files-from -'" + fi + popd &>/dev/null || die # Cleanup is important for these testcases. pkill -9 -f "${S}/ndb" 2>/dev/null pkill -9 -f "${S}/sql" 2>/dev/null - local failures="" - [[ ${retstatus_tests} -eq 0 ]] || failures="${failures} tests" - # bug #823656 cmake_src_test --test-command "--gtest_death_test_style=threadsafe" - [[ -z "${failures}" ]] || die "Test failures: ${failures}" + [[ "${retstatus_tests}" -ne 0 ]] && die "Test failures: mysql-test-run.pl" einfo "Tests successfully completed" } diff --git a/dev-db/mysql/mysql-8.0.41.ebuild b/dev-db/mysql/mysql-8.0.41.ebuild new file mode 100644 index 000000000000..f87dbab56247 --- /dev/null +++ b/dev-db/mysql/mysql-8.0.41.ebuild @@ -0,0 +1,1310 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs cmake edo flag-o-matic linux-info multiprocessing prefix toolchain-funcs + +MY_PV="${PV//_pre*}" +MY_P="${PN}-${MY_PV}" + +# Patch version +PATCH_SET=( https://github.com/parona-source/mysql-server/releases/download/mysql-8.0.40-patches-01/mysql-8.0.40-patches-01.tar.xz ) + +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +HOMEPAGE="https://www.mysql.com/" +# https://dev.mysql.com/downloads/mysql/ +SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz" +# https://downloads.mysql.com/archives/community/ +SRC_URI+=" https://cdn.mysql.com/archives/mysql-$(ver_cut 1-2)/mysql-boost-${MY_PV}.tar.gz" +SRC_URI+=" ${PATCH_SET[@]}" +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +LICENSE="GPL-2" +SLOT="8.0" +# -ppc for bug #761715 +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips -ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +IUSE="cjk cracklib debug jemalloc latin1 numa +perl profiling router selinux +server tcmalloc test test-install" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ?? ( tcmalloc jemalloc ) + cjk? ( server ) + jemalloc? ( server ) + numa? ( server ) + profiling? ( server ) + router? ( server ) + tcmalloc? ( server ) + test? ( server ) + test-install? ( server ) +" + +# Be warned, *DEPEND are version-dependent +# These are used for both runtime and compiletime +COMMON_DEPEND=" + >=app-arch/lz4-1.9.4:= + >=app-arch/zstd-1.2.0:= + >=dev-libs/openssl-1.0.0:= + sys-libs/ncurses:= + >=sys-libs/zlib-1.2.13:= + server? ( + dev-libs/icu:= + dev-libs/libevent:=[ssl,threads(+)] + net-libs/libtirpc:= + cjk? ( app-text/mecab ) + jemalloc? ( dev-libs/jemalloc:= ) + kernel_linux? ( + dev-libs/libaio + sys-process/procps + ) + numa? ( sys-process/numactl ) + tcmalloc? ( dev-util/google-perftools:= ) + ) +" + +DEPEND=" + ${COMMON_DEPEND} + server? ( net-libs/rpcsvc-proto ) +" +RDEPEND=" + ${COMMON_DEPEND} + !dev-db/mariadb + !dev-db/mariadb-galera + !dev-db/percona-server + !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:5.7 + selinux? ( sec-policy/selinux-mysql ) + !prefix? ( + acct-group/mysql + acct-user/mysql + dev-db/mysql-init-scripts + ) + test-install? ( + app-arch/zip + dev-lang/perl + dev-perl/Expect + dev-perl/JSON + sys-libs/timezone-data + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +# https://bugs.gentoo.org/623962 +# tests set TZ for tests leading to failures on musl if sys-libs/timezone-data isnt installed +BDEPEND=" + app-alternatives/yacc + virtual/pkgconfig + test? ( + acct-group/mysql + acct-user/mysql + app-arch/zip + dev-lang/perl + dev-perl/Expect + dev-perl/JSON + sys-libs/timezone-data + ) + +" + +PATCHES=( + "${WORKDIR}"/mysql-patches + # Needed due to bundled boost-1.77, this fix is included in boost-1.81 + "${FILESDIR}"/mysql-8.0.36-boost-clang-fix.patch + # Needed due to bundled boost-1.77, this fix is included in boost-1.79 + "${FILESDIR}"/mysql-8.0.37-fix-bundled-boost.patch + # Needed due to bundled abseil-cpp-20230802, this fix is included in abseil-cpp-20240722 + "${FILESDIR}"/mysql-8.0.37-fix-bundled-abseil.patch + # Needed due to bundled abseil-cpp-20230802, this fix is in no release as of 2025-01-09 + "${FILESDIR}"/mysql-8.0.40-fix-bundled-abseil-gcc15.patch +) + +mysql_init_vars() { + : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} + : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + MY_DATADIR="${MY_LOCALSTATEDIR}" + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use server ; then + CHECKREQS_DISK_BUILD="3G" + + if has test ${FEATURES} ; then + CHECKREQS_DISK_BUILD="10G" + + if use elibc_musl; then + # <parona@protonmail.com> i've seen it take 17GB on musl with FEATURES="test" USE="perl server" + CHECKREQS_DISK_BUILD="18G" + fi + fi + + check-reqs_pkg_pretend + fi + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + CHECKREQS_DISK_BUILD="3G" + + if has test ${FEATURES} ; then + CHECKREQS_DISK_BUILD="10G" + + if use elibc_musl; then + # <parona@protonmail.com> i've seen it take 17GB on musl with FEATURES="test" USE="perl server" + CHECKREQS_DISK_BUILD="18G" + fi + + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null) + if [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] ; then + die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!" + fi + + if use latin1 ; then + # Upstream only supports tests with default charset + die "Testing with USE=latin1 is not supported." + fi + fi + + if use kernel_linux && use numa ; then + linux-info_get_any_version + + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="\ +This package expects NUMA support in kernel which this system does not have at the moment; \ +Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi + + use server && check-reqs_pkg_setup + fi +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${MY_P}" "${S}" || die +} + +src_prepare() { + # Avoid rpm call which would trigger sandbox, #692368 + sed -i \ + -e 's/MY_RPM rpm/MY_RPM rpmNONEXISTENT/' \ + CMakeLists.txt || die + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove man pages for client-lib tools we don't install + rm \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die + + cmake_src_prepare +} + +src_configure() { + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + # Code requires C++17 due to https://github.com/mysql/mysql-server/commit/236ab55bedd8c9eacd80766d85edde2a8afacd08 + append-cxxflags -std=c++17 + + # Debug build type used extensively to add preprocessor definitions + use debug && CMAKE_BUILD_TYPE="Debug" + + local mycmakeargs=( + -Wno-dev # less noise + + # Building everything as shared breaks upstream assumptions. + # For example bundled abseil is excpected to be static and is therefore not installed. + # Breaking the assumption leading the mysql to being built against bundled abseil, + # but then dynamically linked against system abseil once installed. + -DBUILD_SHARED_LIBS=OFF + + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_PRIV_LIBDIR=$(get_libdir)/mysql/private + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" + + -DROUTER_INSTALL_PLUGINDIR="$(get_libdir)/mysqlrouter" + -DROUTER_INSTALL_LIBDIR="$(get_libdir)/mysqlrouter/private" + -DROUTER_INSTALL_LOGROTATEDIR="${EPREFIX}/etc/logrotate.d" + -DROUTER_INSTALL_DOCDIR="share/doc/${PF}" + + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + + # Enables -Werror + -DMYSQL_MAINTAINER_MODE=OFF + + # debug hack wrt #497532 + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usev !debug '-DNDEBUG' )" + + # Automagically uses LLD when not using LTO (bug #710272, #775845) + -DUSE_LD_LLD=OFF + + # Causes issues on musl bug #922808 + -DWITH_BUILD_ID=OFF + + # These are installed via dev-db/mysql-connector-c + -DWITHOUT_CLIENTLIBS=YES + + # Using bundled editline to get CTRL+C working + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_SSL=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + + -DWITH_CURL=system + -DWITH_BOOST="${S}/boost" + -DWITH_ROUTER=$(usex router ON OFF) + + -DWITH_ICU=system + -DWITH_LZ4=system + # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex + -DWITH_RAPIDJSON=bundled + -DWITH_ZSTD=system + + # This is the expected location for upstream RPM's and the script will search for location relative to it. + # Other locations will not work. + -DINSTALL_MYSQLTESTDIR=$(usex test-install 'share/mysql-test' 0) + ) + + if tc-is-lto ; then + mycmakeargs+=( -DWITH_LTO=ON ) + else + mycmakeargs+=( -DWITH_LTO=OFF ) + fi + + if [[ -n "${MYSQL_DEFAULT_CHARSET}" && -n "${MYSQL_DEFAULT_COLLATION}" ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + ewarn "Tests will probably fail!" + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8mb4 + -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci + ) + fi + + if use server ; then + mycmakeargs+=( + -DWITH_EXTRA_CHARSETS=all + -DWITH_DEBUG=$(usex debug) + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_LIBEVENT=system + # Cannot handle protobuf >23 bug #912797 + # 05/06/2024: protobuf has been updated, + # but it cannot handle abseil when building against system + # Currently bundles protobuf-25.1 + -DWITH_PROTOBUF=bundled + -DWITH_NUMA=$(usex numa ON OFF) + ) + + if use jemalloc ; then + mycmakeargs+=( -DWITH_JEMALLOC=ON ) + elif use tcmalloc ; then + mycmakeargs+=( -DWITH_TCMALLOC=ON ) + fi + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + ) + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +# Official test instructions: +# ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' \ +# ebuild mysql-X.X.XX.ebuild digest clean test install +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_tests + + einfo "Official test instructions:" + einfo "ulimit -n 16500 && USE='perl server' FEATURES='test userpriv' ebuild ..." + + # Ensure that parallel runs don't die + local -x MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + # Use a tmpfs opportunistically, otherwise set MTR_PARALLEL to 1. + # MySQL tests are I/O heavy. They benefit greatly from a tmpfs, parallel tests without a tmpfs are flaky due to timeouts. + if mountpoint -q /dev/shm ; then + local VARDIR="/dev/shm/mysql-var-${MTR_BUILD_THREAD}" + local -x MTR_PARALLEL=${MTR_PARALLEL:-$(makeopts_jobs)} + else + ewarn "/dev/shm not mounted, setting default MTR_PARALLEL to 1. Tests will take a long time" + local VARDIR="${T}/vardir" + # Set it to one while allowing users to override it. + local -x MTR_PARALLEL=${MTR_PARALLEL:-1} + fi + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + + # Disable unit tests, run them separately with eclass defaults + local -x MTR_UNIT_TESTS=0 + + # Increase test timeouts + # bug #923649 + # https://github.com/gentoo/gentoo/pull/35002#issuecomment-1926101030 + local -x MTR_SUITE_TIMEOUT=$(( 60 * 40 )) # minutes + local -x MTR_TESTCASE_TIMEOUT=60 # minutes + + # Include config for tests, this is for scenarios where mysql wasn't installed previously or if the + # configuration was from an older version. + sed \ + -e "s/@GENTOO_PORTAGE_EPREFIX@/${EPREFIX}/" \ + -e "s/@DATADIR@/${MY_DATADIR}/" \ + "${FILESDIR}"/my.cnf-8.0.distro-client \ + "${FILESDIR}"/my.cnf-8.0.distro-server \ + > "${T}"/my.cnf || die + local -x PATH_CONFIG_FILE="${T}/my.cnf" + + # Create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" || die + + local -a disabled_tests=( + "auth_sec.atomic_rename_user;103512;Depends on user running test" + "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" + "auth_sec.openssl_without_fips;94718;Known test failure" + + "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)" + "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)" + "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" + "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)" + "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)" + "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)" + "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)" + "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)" + "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)" + "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" + "gis.st_symdifference;5452;Known rounding error with latest AMD processors (PS)" + + "main.derived_limit;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.explain_tree;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.gis-precise;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.mysql_load_data_local_dir;0;Known test failure -- no upstream bug yet" + "main.select_icp_mrr;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_bugs;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_dupsweed;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_dupsweed_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_dupsweed_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_firstmatch;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_firstmatch_bka;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_firstmatch_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_mat_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.subquery_sj_all_bka_nobnl;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet" + "perfschema.statement_digest_query_sample;0;Test will fail on slow hardware" + + "rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch;0;Unstable test" + "rpl_gtid.rpl_multi_source_mtr_includes;97844;Unstable test" + "main.partition_datatype;0;Unstable test" + + "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware" + + "sys_vars.build_id_basic;0;Requires -DWITH_BUILD_ID=ON" + + "main.keyring_migration_password;0;Known test failure -- no upstream bug yet" + "innodb.upgrade_orphan;0;Known test failure -- no upstream bug yet" + ) + + if ! hash zip 1>/dev/null 2>&1 ; then + # No need to force dep app-arch/zip for one test + disabled_tests+=( + "innodb.discarded_partition_create;0;Requires app-arch/zip" + "innodb.partition_upgrade_create;0;Requires app-arch/zip" + ) + fi + + if has_version ">=dev-libs/openssl-3.2" ; then + # https://bugs.mysql.com/bug.php?id=113258 + # Fails still with 8.0.41 + disabled_tests+=( + "rpl.rpl_tlsv13;0;CCM8 ciphers have a lower security level with OpenSSL 3.2" + "auth_sec.wl15800_ciphers_tlsv13;0;CCM8 ciphers have a lower security level with OpenSSL 3.2" + ) + fi + + if use debug; then + disabled_tests+=( + "innodb.dblwr_unencrypt;0;Unstable test" + ) + fi + + local test_infos_str test_infos_arr + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_infos_str test_infos_arr + + local -a CMAKE_SKIP_TESTS=( + # timing test, can be unreliable + "routertest_harness_net_ts_timer" + + # Could not get local host address: Name or service not known(errno: -2) + "routertest_component_bootstrap" + "routertest_component_bootstrap_account" + "routertest_component_bootstrap_clusterset" + "routertest_component_config_overwrites" + "routertest_component_rest_api_enable" + "routertest_component_routing" + "routertest_component_sd_notify" + "routertest_component_state_file" + "routertest_integration_routing_direct" + "routertest_integration_routing_reuse" + "routertest_integration_routing_sharing" + "routertest_integration_routing_sharing_constrained_pools" + "routertest_integration_routing_sharing_restart" + + # TODO: ??? + "pfs_host-oom" + "pfs_user-oom" + "pfs" + ) + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage, please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from + # '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage, please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + # Enable force restart to ensure success when tests don't cleanup sufficiently. + # Anything touching gtid_executed is negatively affected if you have unlucky ordering + nonfatal edo perl mysql-test-run.pl \ + --force --force-restart \ + --vardir="${VARDIR}" --tmpdir="${T}/tmp-tests" \ + --skip-test=tokudb --skip-test-list="${T}/disabled.def" \ + --max-test-fail=0 \ + --retry=3 --retry-failure=2 \ + --report-unstable-tests \ + --report-features + retstatus_tests=$? + + if [[ "${VARDIR}" != "${T}/var-tests" ]]; then + # Move vardir to tempdir. + mv "${VARDIR}" "${T}/var-tests" + # Clean up mysql temporary directory + rm -rf "${VARDIR}" 2>/dev/null + fi + + if [[ "${retstatus_tests}" -ne 0 ]]; then + eerror "Tests failed. When you file a bug, please attach the following items:" + eerror "The file that is created with this command:" + eerror "\t'find ${T}/var-tests -name '*.log' | tar -caf mysql-test-logs.tar.xz --files-from -'" + fi + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + # bug #823656 + cmake_src_test --test-command "--gtest_death_test_style=threadsafe" + + [[ "${retstatus_tests}" -ne 0 ]] && die "Test failures: mysql-test-run.pl" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + mycnf_src="my.cnf-8.0.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8mb4|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" + + if use router ; then + rm -rf \ + "${ED}/usr/LICENSE.router" \ + "${ED}/usr/README.router" \ + "${ED}/usr/run" \ + "${ED}/usr/var" \ + || die + fi + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + # NOTE: $MY_LOGDIR contains $EPREFIX by default + [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}" + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog " \"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + einfo + else + einfo + elog "Upgrade process for ${PN}-8.x has changed. Please read" + elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html" + einfo + fi +} + +pkg_config() { + _getoptval() { + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") ) + + if [[ ${#results[@]} -gt 0 ]] ; then + # When option is set multiple times only return last value + echo "${results[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template '${template}'" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_TMPDIR=${MYSQL_TMPDIR%/} + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")" + if [[ -z "${mysql_install_log}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysql_install_log}" || die + chown ${MYSQL_USER} "${mysql_install_log}" || die + fi + + local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")" + if [[ -z "${mysqld_logfile}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysqld_logfile}" || die + chown ${MYSQL_USER} "${mysqld_logfile}" || die + fi + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + local -a config_files + + local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Client configuration '${config_file}' not found." + ewarn "Skipping configuration of default authentication plugin for client ..." + fi + + config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Server configuration '${config_file}' not found" + ewarn "Skipping configuration of default authentication plugin for mysqld ..." + fi + + if [[ ${#config_files[@]} -gt 0 ]] ; then + if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then + local user_answer + + echo + einfo "Please select default authentication plugin (enter number or plugin name):" + einfo "1) caching_sha2_password [MySQL 8.0 default]" + einfo "2) mysql_native_password [MySQL 5.7 default]" + einfo + einfo "For details see:" + einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password" + read -p " >" user_answer + echo + + case "${user_answer}" in + 1|caching_sha2_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password + ;; + 2|mysql_native_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password + ;; + '') + die "No authentication plugin selected!" + ;; + *) + die "Authentication plugin '${user_answer}' is unknown/unsupported!" + ;; + esac + + echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}" + + unset user_answer + fi + + local cfg_option cfg_option_tabs cfg_section + for config_file in "${config_files[@]}" ; do + cfg_option="default-authentication-plugin" + cfg_section="mysqld" + cfg_option_tabs="\t\t" + if [[ "${config_file}" == *client.cnf ]] ; then + cfg_option="default-auth" + cfg_section="client" + cfg_option_tabs="\t\t\t\t" + fi + + if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then + einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \ + "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!" + else + einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \ + "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!" + fi + done + unset cfg_option cfg_option_tabs cfg_section + fi + unset config_files config_file + + echo + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character!" + ewarn "(Do you have multiple password options set?)" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same!" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" ) + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + grep -E -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")" + [[ -z "${tz_sql}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--initialize-insecure" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + rm "${tz_sql}" || die + + local x=${RANDOM} + local socket="${EROOT}${PID_DIR}/mysqld${x}.sock" + local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest index af5c621ffcfd..dd904f398efd 100644 --- a/dev-db/pgpool2/Manifest +++ b/dev-db/pgpool2/Manifest @@ -15,6 +15,6 @@ EBUILD pgpool2-4.3.10.ebuild 2458 BLAKE2B 22f65c3a22c9b79dba97d5eb6ba24ef010a3e9 EBUILD pgpool2-4.3.8.ebuild 2456 BLAKE2B 7ac3722e1336c3b8447732fa2495b919fc91f56012aafc96bd19ca2ab2beea30b942f03341df33831c68c02b97673b0fa974a2930fca5bc8b787224ca7534d0a SHA512 6edb966973bc72d7284b6f15474758b16755da8b65befa094f79b51150d8be1dcf22d9e951abc1efdb1bd0cc9b58f9d11d751485479defe719deca463704e1fc EBUILD pgpool2-4.4.4.ebuild 2454 BLAKE2B a59c283e26abaaf4444c57cc9055465ecc5c4233dbabf8a072f47432e5d14f2d21f17068c09968584f01f70d29bfe95d490bd04dab487778c04cb473230b25da SHA512 4355cb8dde83e810a46cbb8859bfbb841bea03382e14cf7760eda76ec969d24ccedd35db6cea0d90107997369ca3f58cbdef78e66d12eda79beaef65685331a4 EBUILD pgpool2-4.4.5.ebuild 2452 BLAKE2B b95d99df5991a36c809e7f07145b0dc5872e92b897be9797c448268c99fed3c1ffcfda69c594ef64104f310e05df01b795c10a193fb6fdaa571d82ac5aecb2a3 SHA512 1cfdbf1ce126dd07a30f4907cbe6bec1751e93c4a2480ea1bd86f542633c13a411bc63576a3dfdbc09fe5d838590972432a1e458dca58972618eb8203f4276aa -EBUILD pgpool2-4.4.7.ebuild 2454 BLAKE2B 72c3f7bf2142e85be2d0c4d58f1e23537bcac20079436d95ab3da45f9150150e2a83a21d98b42999d1593dde041a6eb5d618203e293e7ac4c09446f7c1e87c82 SHA512 d2f5256914cc5aefdae9958a019b8e353ed1d603f3a0103c22c5c0834a00b01f75daa51c87255175675687a8f31e7ac4c62963b983aadcad167beb7d281abec5 -EBUILD pgpool2-9999.ebuild 2552 BLAKE2B 01e1997a789efb97126111830ab8022a25d47d6eb45a25545fe5a218644de73e7a8a54aca7f18881bfc25e60a0b2361dd0ced1a8682b065bf1619b3d5df14542 SHA512 b989b9385dcff0bf1fcdb876d6eac368a3e57ef6d2e6d376c4e4001c04373ab6e2464ff912d325eb5a8ef512655245cfcf5c1ec2c1f6b3e1016459c5c0982a80 +EBUILD pgpool2-4.4.7.ebuild 2443 BLAKE2B d6defbed2107f33030f264129e882484b4ea14716d8e8fbcb24c450e2a6771bbafc3ec481534f8f7a08d9f428fafcd9e0d6310dd448988cfe0adf3502307df5e SHA512 724cc3aaa99585c896582993f9b8e4e258b9db97b9bdda5b18f1c714f8cbc6432c0e8c12a7272ca1d9bfa1886c951cc61b144609b914bd0fd4cc7d21779b2d1a +EBUILD pgpool2-9999.ebuild 2541 BLAKE2B e8012736db822040d3ea55470102014c8136347aca4ba9e33bc66d072a33a564c908e1b8f48c711df66e200524a3dc5936515bc80b0f8ae55902be6d8afc11e6 SHA512 873b41c3305c23ceb747f776305572b421b1a6129b3b17869c6099ea982199fb11a78ed7f48caff7ca98f13b525af9c8a6ad23422297e3b7eb3a211a78162508 MISC metadata.xml 391 BLAKE2B c5855fde95e138709d778b50b897ea0dd75267547e89faf60988d1dfe78740c313291a226c30fdd618ef2893ad3dc11000b33026e04369fe294ca9ed1e18efb1 SHA512 374bd70841f1f13e2f8265f972e2debc7fb79a3f463efb897a75fd8ddc3163edf82c888d3d8d5bfede6c509fc27f67e74592599b8da8640035a5d4241cad98c1 diff --git a/dev-db/pgpool2/pgpool2-4.4.7.ebuild b/dev-db/pgpool2/pgpool2-4.4.7.ebuild index 8170c488c799..1d474610d775 100644 --- a/dev-db/pgpool2/pgpool2-4.4.7.ebuild +++ b/dev-db/pgpool2/pgpool2-4.4.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -48,11 +48,10 @@ src_prepare() { } src_configure() { - # -Werror=lto-type-mismatch - # https://bugs.gentoo.org/855248 - # https://github.com/pgpool/pgpool2/issues/42 - # - filter-lto + # bug #946410 + append-cflags -std=gnu17 + # Usual always_inline problem + filter-flags -fno-semantic-interposition postgres-multi_foreach econf \ --disable-rpath \ diff --git a/dev-db/pgpool2/pgpool2-9999.ebuild b/dev-db/pgpool2/pgpool2-9999.ebuild index aec380cbbd43..786ad47b5026 100644 --- a/dev-db/pgpool2/pgpool2-9999.ebuild +++ b/dev-db/pgpool2/pgpool2-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -53,11 +53,10 @@ src_prepare() { } src_configure() { - # -Werror=lto-type-mismatch - # https://bugs.gentoo.org/855248 - # https://github.com/pgpool/pgpool2/issues/42 - # - filter-lto + # bug #946410 + append-cflags -std=gnu17 + # Usual always_inline problem + filter-flags -fno-semantic-interposition postgres-multi_foreach econf \ --disable-rpath \ diff --git a/dev-db/pgrouting/Manifest b/dev-db/pgrouting/Manifest index fe925569c105..2de14b6380e5 100644 --- a/dev-db/pgrouting/Manifest +++ b/dev-db/pgrouting/Manifest @@ -1,5 +1,7 @@ DIST pgrouting-3.6.2.tar.gz 3873384 BLAKE2B 118d57018d344055e3a7d7daef07f0f8916918b907d7d7dd5d63e22c8df0315089ab6b52f6a70b5dea4390e9f432cec602c798f46557bac2aa69f69e4d5b8555 SHA512 9fe5649d022bc1330d9f70e42a69de45eaed9fce070f58594996516f295a7bc15c099b2c3ee1c25ee4b4f0d839de4c0cc74174972e7f7f0dc5fa4be395d58dd3 DIST pgrouting-3.7.0.tar.gz 3870824 BLAKE2B 19f5327dd76311e9ec1409c5e77fc59c599f2b22b847fb936f11e891d433fb43629dd2f2223cb923f45f7ebbcdd58cb749076851f3d0a980953e257adc3a3265 SHA512 8ebe82a6c0e6d2974d298fbdb2b3d48304da76395da5459183e8ade56b247e179b606fc3a6ab60478696a0dd9671be20995b1f13beb61df2393d4f36050baf23 +DIST pgrouting-3.7.3.tar.gz 3873167 BLAKE2B 987b6f746b277a9258e46d598e9eeb1a451de286de497b79fde7dd66ae0e44c6b75e7aecdf7d9a86505ae8c3615d3064fabfa67b21aca23e8b9c2af2be593751 SHA512 fdc46853268b7c54df73f50cfc1fad99fbfb6ef214ec5651fbae37e8f6335cb03c9fc95d6309f43ba3fb35d0c8453f64d1a7416cd4ff565e32864786484b8440 EBUILD pgrouting-3.6.2.ebuild 1045 BLAKE2B c6b72fdc6e01cfdb1b2feaf91865a481b4c05942b5d2c4794a3a5cb91627a6272b5fdb2f5022f269d0d03f7f866d59571e1418029b1fd669dffa090917ab4dd9 SHA512 9b7ee0a47e7f00283aece900f6eb71df9a6f5bd3e2f49723f74f09d23fe1cc51120850b5c0b1946265eb296c477dbd5ad3b5d862af661e76ddd55485091d83f6 EBUILD pgrouting-3.7.0.ebuild 1045 BLAKE2B 1313856606fb2ba9be42f2a93f7da6a197d3530fc0811d3634fbb54fed1164cd1e7dbf2afff9054945f81a62a42eaec05288f30f82ae1c0cd42971ac8845d1f2 SHA512 2c9f1168423c290d3221d54b52433b44d28893c7ab59ba84dfc00fa7493a98fc66913e3c9f3f1d26d161f925ccb41da636bc4c493afad2e766c6c08a0dcc8ae1 +EBUILD pgrouting-3.7.3.ebuild 1046 BLAKE2B b55146a03d42d367a7d33fb9fc6eb8ccb40b22420d75a71c4470912d4c7aefaae12afe35333c9f6db1671386eff536590a5a736bc34ed623c94cff2e63a1b48c SHA512 2c124a93be0f6d54cbc8d6b73bf984ce2a6e3b372ad82346007ce4792ba1cce40df29a3c5b725b98e6c3fbb3f9aa011fc43b5e1c1353d80d5f3b74eeae939611 MISC metadata.xml 375 BLAKE2B e6c25b3d8331162daad5c8cf73b35340bb5092e219d0300be1aa2b36f6d73044b7ddb883cf15e633f8837ef12716a779bfc968112cba418dfed9d106a86ce076 SHA512 b01c3c837b862519087f831bf7ab7de2add4a6fee5b8c7e78b551fe6c4bed59d3f30e7871defe16c25271fdafa5e1d8bc6da250ed22bd1f2476e05fcd3a3d7d0 diff --git a/dev-db/pgrouting/pgrouting-3.7.3.ebuild b/dev-db/pgrouting/pgrouting-3.7.3.ebuild new file mode 100644 index 000000000000..3cf51443437e --- /dev/null +++ b/dev-db/pgrouting/pgrouting-3.7.3.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_BUILD_TYPE="Release" + +POSTGRES_COMPAT=( {13..16} ) +POSTGRES_USEDEP="server" + +inherit cmake postgres-multi + +DESCRIPTION="pgRouting extends PostGIS and PostgreSQL with geospatial routing functionality" +HOMEPAGE="https://pgrouting.org/" +LICENSE="GPL-2 MIT Boost-1.0" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +SRC_URI="https://github.com/pgRouting/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +IUSE="" + +RDEPEND="${POSTGRES_DEP} + >=dev-db/postgis-2.0 + dev-libs/boost + sci-mathematics/cgal +" + +DEPEND="${RDEPEND}" +# Needs a running psql instance, doesn't work out of the box +RESTRICT="test" + +src_prepare() { + cmake_src_prepare + postgres-multi_src_prepare +} + +my_src_configure() { + local mycmakeargs=( -DPOSTGRESQL_BIN="$($PG_CONFIG --bindir)" ) + cmake_src_configure +} + +src_configure() { + postgres-multi_foreach my_src_configure +} + +src_compile() { + postgres-multi_foreach cmake_build +} + +src_install() { + postgres-multi_foreach cmake_src_install +} diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index 64d6d7424ae5..4c5f65fb1089 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -1,4 +1,3 @@ -AUX postgresql-12.1-no-server.patch 2965 BLAKE2B 168f39c02f0614c57a60c0ce3bb540e0d29dc407c569661d0cd29ddb57657bfada44aa90ca915c8474ca5541ac1f4cc152fbd70c105efcbe83f9e5b9f918eeb5 SHA512 5e025da1cb5f696821b19093ab893667426a08b1bbc8e3f748d34207730026625b61a8cfd2596af124080a4a292363546dce5b703ce6164efceceabc6b170aa2 AUX postgresql-13.3-riscv-spinlocks.patch 966 BLAKE2B 4834d47b01e1f8e122fa940a84e1e790686d96b538d27f253724f7be454c455c6853cdadf41da5cafeb8767012b45a6eef742685117afaaa78e0e9a930c728c8 SHA512 1c217ec177a1669fcaeffe2cce241b5ba2cba6425d9eee8bf50dce6626e70e2d063776e1ced4590cbf9ffc046ede02dbe4f06bdfb7bc4c3dcb0f028c128c15ea AUX postgresql-13.8-no-server.patch 2985 BLAKE2B 81a4a7c1d3c9e104ea7a575a14eecada57b62ed652b4401b459886250518179b1f68efd73246773cf7b745c298ac59f0e5f693f2ac0e6e0fd4a29c4c431e3715 SHA512 7a3fd3f8411c59b812da6deaf743247c0e728aca653fb66860a7a6e55704bc732327dcf917ce17fe089003740131d4d92879e171b4b9ff262fef0743f6f50122 AUX postgresql-14.5-no-server.patch 3018 BLAKE2B cbb900bcb7bcc8e788369829811da0d57a45682a77ac54f430cab7ebf6df9ff10489d50d129fa5b24bfff80929497b3107a8e650962b8e772d6b0bee610f05a9 SHA512 90e88567af5f30969e946295c4c058cd245bdd7dce01d48b70aa3dd000cf9e54570ed1b6bcc423a10ed0b7102047927da19bd26f5714e003ccffde967c77db26 @@ -9,17 +8,15 @@ AUX postgresql.confd-9.3 2477 BLAKE2B 0d42eedb99c951c8c60ed02abb5d4526bc288e8dd5 AUX postgresql.init-9.3-r1 4999 BLAKE2B f2bc23a51b6d9643bbc14320aaa9c41b7eb1df86f8b760b9146739b14060178a415fe49b77a47b6bc5522759759fa0aefa9f0050b340534a64c2f22f89c7825d SHA512 a0f003c7d00b9749b8b25fce8ac728869e0c8f5a3c87e699b62806207413d5abba8db1e9d35e801316fbfb0ee070eb3b6a099b7991065c21cdb27ca7dc164bed AUX postgresql.service-9.6-r1 1477 BLAKE2B 2a652d5b2892f3a52f484fcc0b4f4dad09cf4b46c3739c3f805072040a26128cb2ad9a25d4a7c9f109a95696d739538d379af6bac53c656f5c41af45b6110de5 SHA512 9e2b04923f6ebec1424c0f276c58a6a0c4933f2de5e2a9776169227729afd06ce5284461be8b6ed70e5aaff2a68b9f96c6893d867d35761c9977f9847ccfe93d AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438351194548c4fc8ea15308dfba3602d5a922cf49b46015198268a4a4528119d8a74dcef4cc4c1767c052 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8 -DIST postgresql-12.22.tar.bz2 21305304 BLAKE2B 136ac89a0f66bdc35b36e8acd7bc9264fab445ac0728e8d4d69903684810b392e1d3fd39f426b31cdceaa953a5de4f63ffe33c86b6643d5ffde12e32c9ecd4be SHA512 45e659e1c2efdaefb1cb467f936f5bdee6d08087089818bc315bbc39978307619d36e8613f65755c96949dbf6079e3efa8cf367e751d1f157d3e3650c3b4a3a8 -DIST postgresql-13.18.tar.bz2 21687645 BLAKE2B dd8c5906f7d53b5447e8c307960a5ff7cf25cec711a508acf80609e12f9411c9382753da313e31a546be528ff8263327befadcb5f8a40c3164a56f582710bc43 SHA512 2694ff9402683c90ccfbb53a465f6b6a09702b9b5b44e2db84a3a41175427d889d1b823897fd361b04a53dd3596289822e36a77215cb45dd972d79850fbdb97b -DIST postgresql-14.15.tar.bz2 22458243 BLAKE2B 4d5a1c253c5b015e68634ebe433dee421c5a1e1bac0cc5be2eb178001755656efd9642be2369d8b7a76fcbd4a127f40dd99d3c4624c137fca531558464df1a5d SHA512 227f9551167ee62e5185d6f6777e100ecc09f497b9ee1b5a8e659de8d4c237b0f9a97005706bbf64c3e839271e2630f6a417ba98dfce47bcb4c27e8641a7c6ef -DIST postgresql-15.10.tar.bz2 23138615 BLAKE2B d187afd9897feb8bb353dee705817781f099e7cc41eb915f096196ad228646fc65d706c488258d5ee9033b20d2204fd11f5e92e33387310394e7cc102f02b72e SHA512 73513f5f688f470aadd95dddef3b39b5d140d539bdf3171e053a89b3eed4c769f7951280468e9f11102f2de9fe8742bb38676c8d5d43418544b9482d83957ef4 -DIST postgresql-16.6.tar.bz2 24856956 BLAKE2B 2d6d6efcc4cb0027c03422c839856ac024d3824a7e7da42cafbb961616cdd078064e78b6eb1c98565240ab1f78eb52582f38c9ce80b3a98f9e65568b2c14e40c SHA512 ffd6d39fb7aed87241237d68af4934fba1b4ac1be4d3c2833e308e50c21a693796fe54b73e0905365d7557009c40049a23b966aa86765b969797434a0d4bd5f8 -DIST postgresql-17.2.tar.bz2 21408880 BLAKE2B 1afafbec5db26ab17f2410c40db38e30fc1413cd518d387bc01640232698407de97123d0c61e1ec4d32d1041055db874f04dd52ad3697f1b9993b1aff3c5156a SHA512 8e15e47c22d21e1cadc31249cf31af5abe34b8ab72930e58e5fe6124795ad237ca7b4fd3bf36b5f18589c4fc439dc2bab3045d9b4ba23d1846b4b2be6fd1cb69 -EBUILD postgresql-12.22.ebuild 13080 BLAKE2B f93d6444c5400325651e8e5218630a61ac38ac62c4ec9f4b1114e04510ba4aa038d5398e1444dd6f738d98cb07789ed7172e8852ade2be3cbfcc9b7f0fa17bee SHA512 9a9a8960ae4c0f2837348b27e6a59ead05c63f3c6fe8173411f5d65f3eccc6140b5b8f0efb5b1aa1c8f34788f9abda97037a6c1ae840d2b51022b89ac6e5eb57 -EBUILD postgresql-13.18.ebuild 13514 BLAKE2B 58468369244a1a10e1368f0e18818a042c3d3cdd8486e033d746e51e4f79cd89bf87a83bcc6784d0187222599b7ffe0b4dba74a2d57fe632ff5e5ff0e080a5f5 SHA512 1f14b4659e312b6e9520d5d27d654c578363af8e4ebe13d60c09a2ffdabaf38d20f648b461e15e196a7aab1ab0f8e7d2bfa434067a5be24dcb721cc398be76ca -EBUILD postgresql-14.15.ebuild 13505 BLAKE2B 69079efc24a73284f4f30d5f654220f028ca897320fb5de6c6f14488dd2fcd4e131d5d3ebb5aa76f4d9004bab29a9c4ffe37ec084043047a1862cbc676654400 SHA512 f8797cba502ec87701f438ffa3a5a193e581d5b91a9ffe0e81572e75081b29b7b4cc33dbc06490584b62a31cc4e71f3f81700b4f87814d20da44f60a3a922b6c -EBUILD postgresql-15.10.ebuild 13567 BLAKE2B 764b6bc95fa8034d3ee7a638c91abb449aeef4bfbbc26ac51446ee88b28d22bc8f57ce3cfc10bb3088b6757973afa2b34f33091ad7d97d7832d921db26e3ee70 SHA512 a053c3db9acc458b2494b6c3147cb57eef7d873193e9ead44efbe7b4d42ee6262a96ecb6018907b26a2779597e08f7a4d71f30da8291a7607f4b9fcf4e79414a -EBUILD postgresql-16.6.ebuild 13577 BLAKE2B 7e3868cd681a4e848b0937ff2d7a1da82f0b35e295aa092ea075264f717c37ddd31e4b4ac64d1ad128b57f318818f9bd9aeb327f1f6fdf6ebf73d8ebfbd0f543 SHA512 047796cecd6fe7d2da64d19676f5064589ebe31c7e459c15d9b5c0e3be83542e4b5035c610c94c6e606b8d21005b552f5c183efe7caa09bbea4d45d8d3f87466 -EBUILD postgresql-17.2.ebuild 14045 BLAKE2B 14a460faa1e78c76104680c7d373d0c8ad6f40973e0b529a5fb6568ab0e923203f634957463649203a1cf33d82dbfda7331d6612983bbd2e909f1dd2729510bc SHA512 850c98c36ba9389371c9d7183c7f0ee99dee9816b8fc2efde3abb813932c6cd7428049799be9dac69f67d9f6b91bffa6bcd7ad0c95335f6b15699e32f801acfa +DIST postgresql-13.20.tar.bz2 21730844 BLAKE2B ff5822ee32ae4335c92e035ea4ec8cb2fbf2028d9245f5ffdbf5257833345d40e89e3eb12f4d93d0600efc2c67917be18b434b61877e47b4accb4bd78e54bb60 SHA512 884ee8327b803c66679238525e7d51320ea537b41138d7fe8fd7e725631f734a61e53646d9cec78154f3f05a3b50e90508793a56a8f0f76699a53773930cb1d0 +DIST postgresql-14.17.tar.bz2 22488812 BLAKE2B e81c2416e69e3b31a69b5e8db32543c8aaff1b81f7163b3a204827d5ee4cffd08a5cc45bdc774a4ffd19d4b48dee5797842364bb9706ada945fd6ff415687486 SHA512 1cb7d16fbfbceaa6bf0acd4cf9bea3e8fc078fcc6c1f7baad1d66040e1467f59ac54858b11a26543b50e25d3f0db47e0c72539cde743c794d41fa9d2f97c22c1 +DIST postgresql-15.12.tar.bz2 23170228 BLAKE2B fa92c660a7963a0ad3024200ccf5efc5898d4ba639dcd2128afb3962567022d2829841d16af3566800d3332f6e68ea2da6811492df7fe013bb11bfc3671828bf SHA512 6ccb44cb7ff2133ccb03dfc6b49e26714d9aecb91f4b9d019a8f1e7d0d71ed0bf8101fbbda0185091e4688a557600f020a12306c389e819d731184c17e182717 +DIST postgresql-16.8.tar.bz2 24911337 BLAKE2B 03dadec5c74235d1250a5b5eea38630ea9675dc016defadf912cd837207facee000a611c62107035443ea28c491f12be84105dacec67eddf8bc48f3adf4f2097 SHA512 f44fdfe01fbf82f3ffe4c9fc860bd27e06dddfe43b6bd6d1c6e267d64086eb5517e23cc1b2b8895cb73e63fce76779993ea9785a97e6e348ed91b4c08bb0492d +DIST postgresql-17.4.tar.bz2 21519810 BLAKE2B d8095023ae85ba2a28479e4c1d6dac57ccb71471e6e3a74730052c368a71e66e3e84df36a1e1b85f3bd070141b9464aa9c4aad179f421ea8fea274a7975398af SHA512 43288a297c753d075405a7bd3fce17f6a260d6b0a80a156c1e6267e0ebd40c85b7bb929e893956a109eda4d93fa8936f43e981242c1fd67a91012cba5472026c +EBUILD postgresql-13.20.ebuild 13514 BLAKE2B b4c124a5ec7b63f3d1135ffe23d0ae584fd837faacce07d836267bc51c1fe7abdf8b567d2ff1f3de72cfac31184eded861a66f2b794be0b86074bc56acabec62 SHA512 23c62c2176e479e23245916a491f4cbd5a6332656cc00bd2d558edfae3cf3aa67b8196b7dd175f8dd122eb56b0a363edf006516bce1e6b24809e5e6607bf21ab +EBUILD postgresql-14.17.ebuild 13505 BLAKE2B f2c5466a8ba21322d68820f272644f11ab6546b312570cf1b1713d826639803da1a611bcb25f6a6f925ca56b5f4ab451b7010e150839560aa182d0f0f8ae5886 SHA512 97d711569b246b5c38d05ab62bd63560f323c895ffacf6f08717955dcb94025be0e5140e5482970ccd010b343de66fe1d61eca35ae8a1789bd66a23949fa770e +EBUILD postgresql-15.12.ebuild 13567 BLAKE2B 42441a3aafeb204dc40d0bc10c9ae45f04b987d7472a961fe30c75cbdb1563aa557188fea95b116b089638c6b46c72aa5a85ba7aabd8f3a72b33fd0abd84c5fc SHA512 927fe489b74aed4960f8bfa211f39677f8194c0022b41e6415beb6fedf0d95fbd2690acf62d5d282bc3a5d61465d41cd5a5cd4f5ee398ea9fbcc70d851cdfa18 +EBUILD postgresql-16.8.ebuild 13577 BLAKE2B 5857ab5c6faffdf8c3203e500e8d841f543bbc64884f8b348fd52371987baccb9df613f0671a9bb9d85f7d2c62a730acb3c2a3d16d1bd930c34564c6bada0176 SHA512 6f0cae5a30602b6371de9ac72dab2585d7538ca4e4c1aa56968208ecd91119682fb0976f4eacb811c5b1dd122f962219703a0845be4f530b349e385154657de0 +EBUILD postgresql-17.4.ebuild 14045 BLAKE2B 4bd6cd40f4b18a32481477d500ba09c64d2e8ed239958dd0f0fcaad02b004eaaa2d206e14e93f9eeb94f9c180162ab4d383fee26c7fb1a38d28bf3832cec8e58 SHA512 4c9082ddf43592190ebbe43b90226b4df06d93810c451d460557ea4ed02ea23fe571c8ebed8f221fd161fa87e898d5fcdb37a2f670865c8829ed06ad8bdb6490 EBUILD postgresql-9999.ebuild 14411 BLAKE2B b441f9e8269a267388b2fe361f3f7ec53fee0471b3c64c5a69d853fb869b8d0aa5f8fb768e628a7e3acc844841e465d0bce1452b2132be6d44270610d219ae37 SHA512 b637455bc50f6e0a0ccc6c1d7273da1b19fdd04bbaeebdaa119094ba78a27154a5d14c56aa18f5b04af39df64d70fef9e1d8c1a2972d755d5b57a43679048262 MISC metadata.xml 653 BLAKE2B b5b85d83ee78ac502e2707d156e2fadf6fea857160e2f48da51c755e221c52a14b9eb04354202287f4aba15c274c07ba7b0911c76fd034bfa774ce3500ccb165 SHA512 fd543af224f6f8677e138cb1db7154d2444295c45df8696e3584911943176023d8d1b179f6b16d88ffc6d290265ec1b2f4c902cf95cc79eb37599ae3635b0942 diff --git a/dev-db/postgresql/files/postgresql-12.1-no-server.patch b/dev-db/postgresql/files/postgresql-12.1-no-server.patch deleted file mode 100644 index d500d6726361..000000000000 --- a/dev-db/postgresql/files/postgresql-12.1-no-server.patch +++ /dev/null @@ -1,143 +0,0 @@ ---- a/contrib/Makefile -+++ b/contrib/Makefile -@@ -5,56 +5,9 @@ - include $(top_builddir)/src/Makefile.global - - SUBDIRS = \ -- adminpack \ -- amcheck \ -- auth_delay \ -- auto_explain \ -- bloom \ -- btree_gin \ -- btree_gist \ -- citext \ -- cube \ -- dblink \ -- dict_int \ -- dict_xsyn \ -- earthdistance \ -- file_fdw \ -- fuzzystrmatch \ -- hstore \ -- intagg \ -- intarray \ -- isn \ -- lo \ -- ltree \ - oid2name \ -- pageinspect \ -- passwordcheck \ -- pg_buffercache \ -- pg_freespacemap \ -- pg_prewarm \ -- pg_standby \ -- pg_stat_statements \ -- pg_trgm \ -- pgcrypto \ -- pgrowlocks \ -- pgstattuple \ -- pg_visibility \ -- postgres_fdw \ -- seg \ -- spi \ -- tablefunc \ -- tcn \ -- test_decoding \ -- tsm_system_rows \ -- tsm_system_time \ -- unaccent \ - vacuumlo - --ifeq ($(with_openssl),yes) --SUBDIRS += sslinfo --else --ALWAYS_SUBDIRS += sslinfo --endif - - ifneq ($(with_uuid),no) - SUBDIRS += uuid-ossp ---- a/src/backend/Makefile -+++ b/src/backend/Makefile -@@ -53,7 +53,7 @@ - - ########################################################################## - --all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP) -+all: generated-headers - - ifneq ($(PORTNAME), cygwin) - ifneq ($(PORTNAME), win32) -@@ -192,23 +192,7 @@ - - ########################################################################## - --install: all installdirs install-bin --ifeq ($(PORTNAME), cygwin) --ifeq ($(MAKE_DLL), true) -- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a' --endif --endif --ifeq ($(PORTNAME), win32) --ifeq ($(MAKE_DLL), true) -- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a' --endif --endif -- $(MAKE) -C catalog install-data -- $(MAKE) -C tsearch install-data -- $(MAKE) -C utils install-data -- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample' -- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample' -- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample' -+install: - - ifeq ($(with_llvm), yes) - install-bin: install-postgres-bitcode ---- a/src/bin/Makefile -+++ b/src/bin/Makefile -@@ -14,20 +14,8 @@ - include $(top_builddir)/src/Makefile.global - - SUBDIRS = \ -- initdb \ -- pg_archivecleanup \ -- pg_basebackup \ -- pg_checksums \ - pg_config \ -- pg_controldata \ -- pg_ctl \ - pg_dump \ -- pg_resetwal \ -- pg_rewind \ -- pg_test_fsync \ -- pg_test_timing \ -- pg_upgrade \ -- pg_waldump \ - pgbench \ - psql \ - scripts ---- a/src/Makefile -+++ b/src/Makefile -@@ -15,21 +15,12 @@ - SUBDIRS = \ - common \ - port \ -- timezone \ - backend \ -- backend/utils/mb/conversion_procs \ -- backend/snowball \ - include \ - interfaces \ -- backend/replication/libpqwalreceiver \ -- backend/replication/pgoutput \ - fe_utils \ - bin \ -- pl \ -- makefiles \ -- test/regress \ -- test/isolation \ -- test/perl -+ makefiles - - ifeq ($(with_llvm), yes) - SUBDIRS += backend/jit/llvm diff --git a/dev-db/postgresql/postgresql-12.22.ebuild b/dev-db/postgresql/postgresql-12.22.ebuild deleted file mode 100644 index 38d126fda22e..000000000000 --- a/dev-db/postgresql/postgresql-12.22.ebuild +++ /dev/null @@ -1,445 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10,11,12,13} ) -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 - -inherit flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd tmpfiles - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" - -SLOT=$(ver_cut 1) - -MY_PV=${PV/_/} -S="${WORKDIR}/${PN}-${MY_PV}" - -SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" - -LICENSE="POSTGRESQL GPL-2" -DESCRIPTION="PostgreSQL RDBMS" -HOMEPAGE="https://www.postgresql.org/" - -IUSE="debug doc icu kerberos ldap llvm nls pam perl python +readline - selinux +server systemd ssl static-libs tcl uuid xml zlib" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -CDEPEND=" ->=app-eselect/eselect-postgresql-2.0 -acct-group/postgres -acct-user/postgres -sys-apps/less -virtual/libintl -icu? ( dev-libs/icu:= ) -kerberos? ( virtual/krb5 ) -ldap? ( net-nds/openldap:= ) -llvm? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') ) -pam? ( sys-libs/pam ) -perl? ( >=dev-lang/perl-5.8:= ) -python? ( ${PYTHON_DEPS} ) -readline? ( sys-libs/readline:0= ) -server? ( systemd? ( sys-apps/systemd ) ) -ssl? ( >=dev-libs/openssl-0.9.6-r1:0= ) -tcl? ( >=dev-lang/tcl-8:0= ) -xml? ( dev-libs/libxml2 dev-libs/libxslt ) -zlib? ( sys-libs/zlib ) -" - -# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no -# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, -# the libc includes UUID functions. -UTIL_LINUX_LIBC=( elibc_{glibc,musl} ) - -nest_usedep() { - local front back - while [[ ${#} -gt 1 ]]; do - front+="${1}? ( " - back+=" )" - shift - done - echo "${front}${1}${back}" -} - -CDEPEND+=" -uuid? ( - ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} - $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} dev-libs/ossp-uuid) -)" - -DEPEND="${CDEPEND} -sys-devel/bison -app-alternatives/lex -nls? ( sys-devel/gettext ) -xml? ( virtual/pkgconfig ) -" - -RDEPEND="${CDEPEND} -selinux? ( sec-policy/selinux-postgresql ) -" - -pkg_setup() { - use llvm && llvm-r1_pkg_setup - - use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup - - use python && python-single-r1_pkg_setup -} - -src_prepare() { - # Set proper run directory - sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ - -i src/include/pg_config_manual.h || die - - # Rely on $PATH being in the proper order so that the correct - # install program is used for modules utilizing PGXS in both - # hardened and non-hardened environments. (Bug #528786) - sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die - - use server || eapply "${FILESDIR}/${PN}-12.1-no-server.patch" - - if use pam ; then - sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ - -i src/backend/libpq/auth.c || \ - die 'PGSQL_PAM_SERVICE rename failed.' - fi - - eapply_user -} - -src_configure() { - case ${CHOST} in - *-darwin*|*-solaris*) - use nls && append-libs intl - ;; - esac - - export LDFLAGS_SL="${LDFLAGS}" - export LDFLAGS_EX="${LDFLAGS}" - - local PO="${EPREFIX}" - - local i uuid_config="" - if use uuid; then - for i in ${UTIL_LINUX_LIBC[@]}; do - use ${i} && uuid_config="--with-uuid=e2fs" - done - [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" - fi - - econf \ - --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ - --datadir="${PO}/usr/share/postgresql-${SLOT}" \ - --includedir="${PO}/usr/include/postgresql-${SLOT}" \ - --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ - --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ - --with-system-tzdata="${PO}/usr/share/zoneinfo" \ - $(use_enable !alpha spinlocks) \ - $(use_enable debug) \ - $(use_with icu) \ - $(use_with kerberos gssapi) \ - $(use_with ldap) \ - $(use_with llvm) \ - $(use_with pam) \ - $(use_with perl) \ - $(use_with python) \ - $(use_with readline) \ - $(use_with ssl openssl) \ - $(usex server "$(use_with systemd)" '--without-systemd') \ - $(use_with tcl) \ - ${uuid_config} \ - $(use_with xml libxml) \ - $(use_with xml libxslt) \ - $(use_with zlib) \ - $(use_enable nls) -} - -src_compile() { - emake - emake -C contrib -} - -src_install() { - emake DESTDIR="${D}" install - emake DESTDIR="${D}" install -C contrib - - dodoc README HISTORY - - # man pages are already built, but if we have the target make them, - # they'll be generated from source before being installed so we - # manually install man pages. - # We use ${SLOT} instead of doman for postgresql.eselect - insinto /usr/share/postgresql-${SLOT}/man/ - doins -r doc/src/sgml/man{1,3,7} - if ! use server; then - # Remove man pages for non-existent binaries - serverman=( - initdb - pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby} - pg_{test_{fsync,timing},upgrade,waldump} - post{gres,master} - ) - for m in ${serverman[@]} ; do - rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" - done - fi - docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} - - # Create slot specific man pages - local bn f mansec slotted_name - for mansec in 1 3 7 ; do - local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" - - mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" - pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" - - for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do - bn=$(basename "${f}") - slotted_name=${bn%.${mansec}}${SLOT}.${mansec} - case ${bn} in - TABLE.7|WITH.7) - echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} - ;; - *) - echo ".so ${rel_manpath}/${bn}" > ${slotted_name} - ;; - esac - done - - popd > /dev/null - done - - insinto /etc/postgresql-${SLOT} - newins src/bin/psql/psqlrc.sample psqlrc - - # Don't delete libpg{port,common}.a (Bug #571046). They're always - # needed by extensions utilizing PGXS. - use static-libs || \ - find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ - -delete - - # Make slot specific links to programs - local f bn - for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ - -mindepth 1 -maxdepth 1) - do - bn=$(basename "${f}") - dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ - "/usr/bin/${bn}${SLOT/.}" - done - - if use doc ; then - docinto html - dodoc doc/src/sgml/html/* - fi - - if use server; then - sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ - "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} - - sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ - "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} - - if use systemd; then - sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ - "${FILESDIR}/${PN}.service-9.6-r1" | \ - systemd_newunit - ${PN}-${SLOT}.service - newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir - newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf - fi - - use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session - - if use prefix ; then - keepdir /run/postgresql - fperms 1775 /run/postgresql - fi - fi -} - -pkg_postinst() { - use server && use systemd && tmpfiles_process ${PN}-${SLOT}.conf - postgresql-config update - - elog "If you need a global psqlrc-file, you can place it in:" - elog " ${EROOT}/etc/postgresql-${SLOT}/" - - if use server ; then - elog - elog "Gentoo specific documentation:" - elog "https://wiki.gentoo.org/wiki/PostgreSQL" - elog - elog "Official documentation:" - elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" - elog - elog "The default location of the Unix-domain socket is:" - elog " ${EROOT}/run/postgresql/" - elog - elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" - elog "so that it contains your preferred locale in:" - elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}" - elog - elog "Then, execute the following command to setup the initial database" - elog "environment:" - elog " emerge --config =${CATEGORY}/${PF}" - - if [[ -n ${REPLACING_VERSIONS} ]] ; then - ewarn "If your system is using 'pg_stat_statements' and you are running a" - ewarn "version of PostgreSQL ${SLOT}, we advise that you execute" - ewarn "the following command after upgrading:" - ewarn - ewarn "ALTER EXTENSION pg_stat_statements UPDATE;" - fi - fi -} - -pkg_prerm() { - if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then - ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" - ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" - - ebegin "Resuming removal in 10 seconds (Control-C to cancel)" - sleep 10 - eend 0 - fi -} - -pkg_postrm() { - postgresql-config update -} - -pkg_config() { - use server || die "USE flag 'server' not enabled. Nothing to configure." - - [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \ - && source "${EROOT}/etc/conf.d/postgresql-${SLOT}" - [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/" - [[ -z "${DATA_DIR}" ]] \ - && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data" - - # environment.bz2 may not contain the same locale as the current system - # locale. Unset and source from the current system locale. - if [ -f "${EROOT}/etc/env.d/02locale" ]; then - unset LANG - unset LC_CTYPE - unset LC_NUMERIC - unset LC_TIME - unset LC_COLLATE - unset LC_MONETARY - unset LC_MESSAGES - unset LC_ALL - source "${EROOT}/etc/env.d/02locale" - [ -n "${LANG}" ] && export LANG - [ -n "${LC_CTYPE}" ] && export LC_CTYPE - [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC - [ -n "${LC_TIME}" ] && export LC_TIME - [ -n "${LC_COLLATE}" ] && export LC_COLLATE - [ -n "${LC_MONETARY}" ] && export LC_MONETARY - [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES - [ -n "${LC_ALL}" ] && export LC_ALL - fi - - einfo "You can modify the paths and options passed to initdb by editing:" - einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}" - einfo - einfo "Information on options that can be passed to initdb are found at:" - einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" - einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" - einfo - einfo "PG_INITDB_OPTS is currently set to:" - if [[ -z "${PG_INITDB_OPTS}" ]] ; then - einfo " (none)" - else - einfo " ${PG_INITDB_OPTS}" - fi - einfo - einfo "Configuration files will be installed to:" - einfo " ${PGDATA}" - einfo - einfo "The database cluster will be created in:" - einfo " ${DATA_DIR}" - einfo - - ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" - sleep 5 - eend 0 - - if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then - eerror "The given directory, '${DATA_DIR}', is not empty." - eerror "Modify DATA_DIR to point to an empty directory." - die "${DATA_DIR} is not empty." - fi - - einfo "Creating the data directory ..." - if [[ ${EUID} == 0 ]] ; then - mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs" - mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR" - chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown" - fi - - einfo "Initializing the database ..." - - if [[ ${EUID} == 0 ]] ; then - su - postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" - else - "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} - fi - - if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then - mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" - ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" - fi - - # unix_socket_directory has no effect in postgresql.conf as it's - # overridden in the initscript - sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf - - einfo "The autovacuum function, which was in contrib, has been moved to the main" - einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" - einfo "by default. You can disable it in the cluster's:" - einfo " ${PGDATA%/}/postgresql.conf" - einfo - if ! use systemd; then - einfo "The PostgreSQL server, by default, will log events to:" - einfo " ${DATA_DIR%/}/postmaster.log" - einfo - fi - if use prefix ; then - einfo "The location of the configuration files have moved to:" - einfo " ${PGDATA}" - einfo "To start the server:" - einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" - einfo "To stop:" - einfo " pg_ctl stop -D ${DATA_DIR}" - einfo - einfo "Or move the configuration files back:" - einfo "mv ${PGDATA}*.conf ${DATA_DIR}" - elif use systemd; then - einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" - einfo "instead of 'pg_ctl'." - else - einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" - einfo "instead of 'pg_ctl'." - fi -} - -src_test() { - if use server && [[ ${UID} -ne 0 ]] ; then - emake check - - einfo "If you think other tests besides the regression tests are necessary, please" - einfo "submit a bug including a patch for this ebuild to enable them." - else - use server || \ - ewarn 'Tests cannot be run without the "server" use flag enabled.' - [[ ${UID} -eq 0 ]] || \ - ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' - - ewarn 'Skipping.' - fi -} diff --git a/dev-db/postgresql/postgresql-13.18.ebuild b/dev-db/postgresql/postgresql-13.20.ebuild index 9ce45d60d6a0..7729f87d6ba4 100644 --- a/dev-db/postgresql/postgresql-13.18.ebuild +++ b/dev-db/postgresql/postgresql-13.20.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{10,11,12,13} ) -LLVM_COMPAT=( {15..19} ) +LLVM_COMPAT=( {15..20} ) LLVM_OPTIONAL=1 inherit flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd tmpfiles diff --git a/dev-db/postgresql/postgresql-14.15.ebuild b/dev-db/postgresql/postgresql-14.17.ebuild index 873a91c02486..6f039209b493 100644 --- a/dev-db/postgresql/postgresql-14.15.ebuild +++ b/dev-db/postgresql/postgresql-14.17.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{10,11,12,13} ) -LLVM_COMPAT=( {15..19} ) +LLVM_COMPAT=( {15..20} ) LLVM_OPTIONAL=1 inherit flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd tmpfiles diff --git a/dev-db/postgresql/postgresql-15.10.ebuild b/dev-db/postgresql/postgresql-15.12.ebuild index 10cae3267992..6df4844e003d 100644 --- a/dev-db/postgresql/postgresql-15.10.ebuild +++ b/dev-db/postgresql/postgresql-15.12.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{10,11,12,13} ) -LLVM_COMPAT=( {15..19} ) +LLVM_COMPAT=( {15..20} ) LLVM_OPTIONAL=1 inherit flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd tmpfiles diff --git a/dev-db/postgresql/postgresql-16.6.ebuild b/dev-db/postgresql/postgresql-16.8.ebuild index 3d5cd5b50a37..a9d7d1d4bb16 100644 --- a/dev-db/postgresql/postgresql-16.6.ebuild +++ b/dev-db/postgresql/postgresql-16.8.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{10,11,12,13} ) -LLVM_COMPAT=( {15..19} ) +LLVM_COMPAT=( {15..20} ) LLVM_OPTIONAL=1 inherit flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd tmpfiles diff --git a/dev-db/postgresql/postgresql-17.2.ebuild b/dev-db/postgresql/postgresql-17.4.ebuild index b6471017bb0d..4f42b00fe030 100644 --- a/dev-db/postgresql/postgresql-17.2.ebuild +++ b/dev-db/postgresql/postgresql-17.4.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{10,11,12,13} ) -LLVM_COMPAT=( {15..19} ) +LLVM_COMPAT=( {15..20} ) LLVM_OPTIONAL=1 inherit flag-o-matic linux-info llvm-r1 pam python-single-r1 systemd tmpfiles diff --git a/dev-db/psqlodbc/Manifest b/dev-db/psqlodbc/Manifest index 9f5e38f424be..d4931446c067 100644 --- a/dev-db/psqlodbc/Manifest +++ b/dev-db/psqlodbc/Manifest @@ -1,9 +1,3 @@ -DIST psqlodbc-11.01.0000.tar.gz 919372 BLAKE2B ce84b4bb210c4c3c3f2a3e9eae713c875e4bae491e20f207f740a02af69cb771f504de6b1da06fcd12306d986299e1537184a6787eac80e320eea6d8c13dc142 SHA512 57762bfa9925012946e56a3d5b815af00078299c121ba0142865c06f877cabf314512e4e6efc654589fb409c4dd2cbb9a3b7fd7aa1a6ace361879552774b11d7 -DIST psqlodbc-13.00.0000.tar.gz 940031 BLAKE2B 346a06b5b7b16ead1d87b7bdadcd050102b1b30e19d7bf236e134439711e4832b193241d6ea02b5628a64afbfad77b0c6d3bdf921fd3ae3a5cf696a58100e53c SHA512 c8d5cb0ce304e702f3c6f0b2e1c681df283973a8459a820f92df806814659eb15668c38a855a69b44cf5ebe459283bef1ca1cba44df0fe16a361e614f5481bc7 -DIST psqlodbc-15.00.0000.tar.gz 945814 BLAKE2B 0170ae9bcd1a77b0655b4d33543a7cca3551d845d8a36dd5d809567e7d7669defb278790f169a80757d41ffb5cbbfda68f0536f4fe25698e85a1fe570736409c SHA512 ae511edb9889e6cc7d05d11ee384db1aa1a52b9cac035b3449b03ab91ada5cc0d737fef34addd4be6a3ef839b68735874ee7125be9ae272328c44631fd2269e2 DIST psqlodbc-16.00.0000.tar.gz 946997 BLAKE2B 9a4d787b1a29bb8ce874473fb126db7677ebc5e37f502b34c877341aa04c77c8acbb4d2353929631c7949ef9b482091b2dfbddf6934005d66446797bf8abcc22 SHA512 ad971cd29e431225d03faf5ebc0ba7a9f17d20dd70106867f05df8dc1e509413d4db533101a1b3418480ad758b7626c178ec345c5ff7e9409f7fcfbea9427166 -EBUILD psqlodbc-11.01.0000.ebuild 690 BLAKE2B 9f70ec2a0c718567611936ac3cadadee457a2338bb3792ed4a14ff2f84ca4f7c70b1d63b2a731abac47530e17436af414f0c0864ee7aa58717efc2866116cea9 SHA512 308f135df50933cc6a0a41cfe5cc1468bad9e76163383e73101437eb8011d0e45dcdbf34ac50f4cda354aeb3357d439254baa2022e3952f92681c8509a36ad12 -EBUILD psqlodbc-13.00.0000.ebuild 727 BLAKE2B bcdb118196c22fdf7224888d82749c34552d3f968798d883ad7306bcde8ce15a9178dcc288781088822b6b952cbbb844b3031cfafd68d33b4f29a8f3bf166bbe SHA512 d0d5a2f32e1c1ba83b5af483eef438eec84616eb46939609789c475e40996df7a0d014d2b434874474cdc96de1834ef41458e4308b7f6b6ac7b22d5dc05d20e3 -EBUILD psqlodbc-15.00.0000.ebuild 727 BLAKE2B 99d9aef213a81973531cf93b8780970aed255f7597eefdbae065b5064faed127221d4b14f5004015f1264c90065d65c689fb1efe76b21730d3337e570c19804a SHA512 5991ac6e312f0f47438b95a4dc192d60a97e09a6e4bf56d0e1deb4f28c4b4c322dbd33ad061db13481a3923ac2ddc0f941f7079e6080abe0773ce96fec390808 -EBUILD psqlodbc-16.00.0000.ebuild 808 BLAKE2B 589e4c4e0c594f3b3134f7c5708ff4a4032e9eede25021afbb058603a760738941823c1e0c0c45e40c8a7786d548f01646be461cf375c64693b68a366c92ce9e SHA512 82e0a58e46367f6f1502d8818bcca630741dda0765ba115dbd09cdecb31c6e370488da279bfcafb5e49c97b646f7e12a7a58451474c899d85ced501845035b07 -MISC metadata.xml 389 BLAKE2B a8b15e826ffaaa01a299f5500c8d6ed57ffc4d387e4874af0f61d2a04b9e83dc825efc33bf254b1f1f712f6c151937eab607ba26ddd148a4c72bb090ded5c294 SHA512 cc7a0ea725654842c246f8a4d56cff2cd6186209f5232689845739d9ddde789df42bb914011df607313306afdf414a12f719e04517b5e7b58e4bb7f738d3bd12 +EBUILD psqlodbc-16.00.0000.ebuild 806 BLAKE2B d29585a457bee2f8bd7eb8a1f2eb2d01c5849f3c58a6726a1f6308d843034e4feaf80b32ea3740d1a2c8bbe37203c3b23016e5526361a23414deb9e3f1f36f58 SHA512 d71a7f32b8aaa36fac39ed7610ff85e95b638cc9a6bfd024cdb53b6a91e4b102dc4a16ff04aacd3eb158402ae909c46c5c60aad131ed12733a6165a410665776 +MISC metadata.xml 494 BLAKE2B 7d2a03027774a4b0ed698f354a4b94481084d735c54c2f1144626d9415fc6e84a7f0cf3cf042f9ebde74714f2128f3f238ad9b9395decd2637c5acc56f984418 SHA512 506f1c11f0b628abea1d849af201dbd237bad3658f0ce0119ad23abf06f7b3b86c1db9c71294f027436835dfa4b7637e908bd897a2d23eb9b2949fb3a741dc7f diff --git a/dev-db/psqlodbc/metadata.xml b/dev-db/psqlodbc/metadata.xml index 30ac10c32727..ed5be1480c95 100644 --- a/dev-db/psqlodbc/metadata.xml +++ b/dev-db/psqlodbc/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> -<email>pgsql-bugs@gentoo.org</email> -<name>PostgreSQL and Related Package Development</name> -</maintainer> -<use> -<flag name="iodbc">Use <pkg>dev-db/libiodbc</pkg>. Disable to use <pkg>dev-db/unixODBC</pkg>.</flag> -</use> + <maintainer type="project"> + <email>pgsql-bugs@gentoo.org</email> + <name>PostgreSQL and Related Package Development</name> + </maintainer> + <use> + <flag name="iodbc">Use <pkg>dev-db/libiodbc</pkg>. Disable to use <pkg>dev-db/unixODBC</pkg>.</flag> + </use> + <upstream> + <remote-id type="github">postgresql-interfaces/psqlodbc</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-db/psqlodbc/psqlodbc-11.01.0000.ebuild b/dev-db/psqlodbc/psqlodbc-11.01.0000.ebuild deleted file mode 100644 index 2e25f4eb74be..000000000000 --- a/dev-db/psqlodbc/psqlodbc-11.01.0000.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Official ODBC driver for PostgreSQL" -HOMEPAGE="https://odbc.postgresql.org/" -SRC_URI="https://ftp.postgresql.org/pub/odbc/versions/src/${P}.tar.gz" -SLOT="0" -LICENSE="LGPL-2" -KEYWORDS="amd64 x86" -IUSE="doc iodbc ssl threads" - -DEPEND="dev-db/postgresql:*[ssl?] - !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) -" -RDEPEND="${DEPEND}" - -src_configure() { - econf \ - $(use_with iodbc) \ - $(use_with !iodbc unixodbc) \ - $(use_enable threads pthreads) -} - -src_install() { - emake DESTDIR="${D}" install - - dodoc readme.txt - use doc && dodoc docs/*{html,jpg,txt} -} diff --git a/dev-db/psqlodbc/psqlodbc-13.00.0000.ebuild b/dev-db/psqlodbc/psqlodbc-13.00.0000.ebuild deleted file mode 100644 index eb5492ff004f..000000000000 --- a/dev-db/psqlodbc/psqlodbc-13.00.0000.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Official ODBC driver for PostgreSQL" -HOMEPAGE="https://odbc.postgresql.org/" -SRC_URI="https://ftp.postgresql.org/pub/odbc/versions/src/${P}.tar.gz" -SLOT="0" -LICENSE="LGPL-2" -KEYWORDS="~amd64 ~x86" -IUSE="doc iodbc ssl threads" - -DEPEND="dev-db/postgresql:*[ssl?] - !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) -" -RDEPEND="${DEPEND}" - -# No tests to run -RESTRICT="test" - -src_configure() { - econf \ - $(use_with iodbc) \ - $(use_with !iodbc unixodbc) \ - $(use_enable threads pthreads) -} - -src_install() { - emake DESTDIR="${D}" install - - dodoc readme.txt - use doc && dodoc docs/*{html,jpg,txt} -} diff --git a/dev-db/psqlodbc/psqlodbc-15.00.0000.ebuild b/dev-db/psqlodbc/psqlodbc-15.00.0000.ebuild deleted file mode 100644 index 3970af804572..000000000000 --- a/dev-db/psqlodbc/psqlodbc-15.00.0000.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="Official ODBC driver for PostgreSQL" -HOMEPAGE="https://odbc.postgresql.org/" -SRC_URI="https://ftp.postgresql.org/pub/odbc/versions/src/${P}.tar.gz" -SLOT="0" -LICENSE="LGPL-2" -KEYWORDS="~amd64 ~x86" -IUSE="doc iodbc ssl threads" - -DEPEND="dev-db/postgresql:*[ssl?] - !iodbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) -" -RDEPEND="${DEPEND}" - -# No tests to run -RESTRICT="test" - -src_configure() { - econf \ - $(use_with iodbc) \ - $(use_with !iodbc unixodbc) \ - $(use_enable threads pthreads) -} - -src_install() { - emake DESTDIR="${D}" install - - dodoc readme.txt - use doc && dodoc docs/*{html,jpg,txt} -} diff --git a/dev-db/psqlodbc/psqlodbc-16.00.0000.ebuild b/dev-db/psqlodbc/psqlodbc-16.00.0000.ebuild index eb924528a69d..6dc2af90535f 100644 --- a/dev-db/psqlodbc/psqlodbc-16.00.0000.ebuild +++ b/dev-db/psqlodbc/psqlodbc-16.00.0000.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ HOMEPAGE="https://odbc.postgresql.org/" SRC_URI="https://ftp.postgresql.org/pub/odbc/versions/src/${P}.tar.gz" LICENSE="LGPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="iodbc ssl threads" DEPEND="dev-db/postgresql:*[ssl?] diff --git a/dev-db/recutils/Manifest b/dev-db/recutils/Manifest index adf43a3dc33a..903f034c5c3f 100644 --- a/dev-db/recutils/Manifest +++ b/dev-db/recutils/Manifest @@ -8,6 +8,7 @@ AUX 1.9/0007-configure.ac-modernise.patch 3064 BLAKE2B a48d78f15b9da375453a94a60 AUX 1.9/0008-configure.ac-call-PKG_PROG_PKG_CONFIG-unconditionall.patch 1200 BLAKE2B eda53eee3379987fb93df87c028d06dc664fd2609b6130babac56ae096dbc0b4f6201fffcfa272ddcc13ce53c8a9a9925e2aa4bb3bc0f1dc95394d935c8e3aa0 SHA512 442b4d7b07279c641a19b74d4a552f1aa12ce769ca18ce7d8462415d91f0d412025060c9bea943007f676b0d9d535234d152ff8ea4877b221426dc1b55edc3a7 AUX 1.9/0009-Port-to-newer-mdbutils-0.9.0.patch 2173 BLAKE2B 27213a8fddc10ad9f075f80591d97699bcdecffc9274d4f6e6746b1456f124d9dcb743fae4252fdd245e11005ba0da510bdf1141e2d848db3ef7f219879cb93c SHA512 d75196de27d46489553230c7d21ab775a0dded704209adaef87df4ef8a62ef7322a98116ad6d0d869dc4ad12e11484b8d2da42e2a36f6d3c8153898fa8b3fd0c AUX 1.9/0010-configure.ac-use-pkg-config-to-find-curl.patch 1443 BLAKE2B c99a0d501273067f40552c8be3adfce22a4ee7f88f2a3f858eb52219811c703c97e31e106541d3c7513c4bdda02b8491c7b1b91ae24a6f43bcaa231de8688b40 SHA512 31842f8439778f45b72971c4a9a634e58d1c7424d1777f43d2dafd3ae122f04d6dcccf37521974e6ea99f58e18e6e5b35190fceba7e0266655f225d2908be00b +AUX recutils-1.9-add-const.patch 487 BLAKE2B eec770635e542e7e85cd0c7ea57d3e4301996fcdedb55f2cae05394a84438c3a5fa6e2581c6867d2df836f2cb45a3c2739fe20f52185d183166a147720fdb560 SHA512 17f6b273790b8645d8aa90ef6ae974563d1db3a0b3836a9247bb39af960e0ab90ea024425d7f6b45b41bf6dc0256002a9322912020aa03357cea722119ff2e70 DIST recutils-1.9.tar.gz 2759999 BLAKE2B 839dbcd36e7fe0ececbf3ef3a1b842890e876c6feda2bc003c921c53eba83b70f38baa5a536962253eec5b06eed29c6e301751d7b6586f0ef0c5ea35d94a44d7 SHA512 775b3b8925a4e5c6f04c6376291b966bdc271f172be2bca06b1f02155ecba12d916c22219f85fe0393f7f9f200f3788ab5fa5d522da2b84b2a0c0ec198318809 -EBUILD recutils-1.9.ebuild 1047 BLAKE2B 4248100bffedd08c52928a24797a44e2e67bb84948465d1bb66cb4cb0e50315681af8479696370bf6a854108ed6855d47e6cc238fee1ac407c968fe8bf5fa85d SHA512 513f3f984bfbd25ccaf83c72673c4429dd0ec5700f52817da48a8de80992fe258b6fcf2fa40b7cc466d30b442fa3afd30b01773df73b49629c43691758b698ba +EBUILD recutils-1.9-r1.ebuild 1205 BLAKE2B 3f16a4bbc4b1dd0a7712e147705359430777fe1b3de46cdd12ac6ebd94b55ae803a77bed49d689307f82f60999670b2c711d1ebaf3724c0d98ebcd8ac69c6e47 SHA512 fca1f74741cf168d14a268452ab8960ba021f900381aa1d66f3824406a012f1b0d9f6bc229d96d914e6f32a2aeaac1bb1e6b094ba183965e95a58241c4297688 MISC metadata.xml 624 BLAKE2B 99f308873f7c982a3b881053f9fec8a459ccb9003cec4d97364a73fee13cbe46b711d4e981ef0dc9c6bd24eaf8bd07a3d5fdc864a83ab4948da0c2d2cbe57745 SHA512 41bc9720c4d104c5502c9cfe197ac15526835d6c2b2ffbef34d2415ceaef6d43e9295f71c4b6a92ba89c88a210d79e6e70332071a9c083ffdd073d9a4563b1f3 diff --git a/dev-db/recutils/files/recutils-1.9-add-const.patch b/dev-db/recutils/files/recutils-1.9-add-const.patch new file mode 100644 index 000000000000..b8c14845d11e --- /dev/null +++ b/dev-db/recutils/files/recutils-1.9-add-const.patch @@ -0,0 +1,14 @@ +Cast bash-generated argv from char ** to const char ** so it would be of the same +type argv was declared +https://bugs.gentoo.org/941542 +--- a/bash/testrec.c ++++ b/bash/testrec.c +@@ -60,7 +60,7 @@ + + /* Get arguments and verify them. */ + +- argv = make_builtin_argv (list, &argc); ++ argv = (const char**)make_builtin_argv (list, &argc); + if ((argc != 3) + || ((strcmp (argv[0], "[%") == 0) && ((strlen (argv[2]) == 2) && ((argv[2][0] != '%') || (argv[2][1] != ']'))))) + { diff --git a/dev-db/recutils/recutils-1.9.ebuild b/dev-db/recutils/recutils-1.9-r1.ebuild index cff0821ae74e..df600fd416d6 100644 --- a/dev-db/recutils/recutils-1.9.ebuild +++ b/dev-db/recutils/recutils-1.9-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -37,6 +37,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PV} + "${FILESDIR}"/${P}-add-const.patch ) src_prepare() { @@ -63,3 +64,10 @@ src_test() { # tests have parallel issues emake -j1 check } + +src_install() { + default + + # Remove unneeded .la files (Bug #941097) + find "${ED}" -name '*.la' -type f -delete || die +} diff --git a/dev-db/spatialite/Manifest b/dev-db/spatialite/Manifest index 86cc725c5e52..9c122efe3125 100644 --- a/dev-db/spatialite/Manifest +++ b/dev-db/spatialite/Manifest @@ -1,3 +1,5 @@ +AUX spatialite-5.1.0-macro-surgery.patch 2355 BLAKE2B 4fc47fc60ef98a0f60d6eaae78d62196007d785c3a54619ef427d155c4e80a4f70e14e6690636bc981249fa0e38635a0d186b52b30f80cca7e327fd89eae0ec1 SHA512 771f9bfd40d02ade36179fefe15eaa1be582a64c2d8f6ae38774b9b53fdcccb70a36a67e4db8f0f88c3f79ed9085a6d2532e83d5af9986cc7a7be41ca35b78e2 DIST libspatialite-5.1.0.tar.gz 6517377 BLAKE2B 871e2be82dd1f02de76f0755b6ea7a53797dd9905fe481d6f56dcf8a87278f0a9326a3e0662620cbf6bfe53f932dab199602885c7efcbc5a5e56781a7599d226 SHA512 2745b373e31cea58623224def6090c491b58409803bb71231450dfa2cfdf3aafc3fc6f680585d55d085008f8cf362c3062ae67ffc7d80257775a22eb81ef1e57 EBUILD spatialite-5.1.0-r1.ebuild 1352 BLAKE2B e7a2f961ad0898efdc11a2a5241d4683a01fee554986ccd5730704a61cc3a79cb55da82ae763f508fa8915c3bec3df70152061ad54b857eff7b90e913de57957 SHA512 82b669c3372cadf7eb35b4318cf5b1f08066b8f322c3c89c05e92e79678ade768bfb59f324cb82c27e0ee1ac438d25621081478465115c329cc9cbd4be6a2b2e +EBUILD spatialite-5.1.0-r2.ebuild 1404 BLAKE2B e46d13d45ede3630d98dbe21ffa25f326d49c44e72faf9653e413477c6ceee54704cae09fca06c9f3f17c22c5d7d7befc66e982ff6dacff58b5c40dbf469feaf SHA512 a8e1201913d7874963725a7e05dbddcdaa4357eddc83cf01fb3a38ce438a47cc356b6a0817f2bc27db10cd739d77e4408e835b07ee9b7f236e43ec550b5b5f7d MISC metadata.xml 662 BLAKE2B d44c0b1a08c869509161cc7040c90c5e6b591b09f16893ac21885ee82817ad942eab586a44532ffa8dcbbdedffc6ec0bcf05641196cf892fb0b0e832a760e00f SHA512 7a614e0dc498ccd2d117e600efc867b248fc243fd3a9bb0a599fcaa47a90a3669a730e765df648b5a49cf77c442a3f4a2ea084a721bab48e9c37e7cc73fd9794 diff --git a/dev-db/spatialite/files/spatialite-5.1.0-macro-surgery.patch b/dev-db/spatialite/files/spatialite-5.1.0-macro-surgery.patch new file mode 100644 index 000000000000..ea057f50bc8b --- /dev/null +++ b/dev-db/spatialite/files/spatialite-5.1.0-macro-surgery.patch @@ -0,0 +1,80 @@ +https://bugs.gentoo.org/919177 +https://www.gaia-gis.it/fossil/libspatialite/tktview?name=d5c8f926be +https://www.gaia-gis.it/fossil/libspatialite/tktview/af38159360a2e740b2339e279103bcdaf951498e +Macro out things upstream forgot to conditionally exclude, macro in things upstream forgot +In particular, functions that appear only when GEOM is enabled should not be used +when GEOM is disabled, and having fallback for ancient version of PROJ is well and good; +upstream forgot version for modern one in one place. +--- a/src/gaiageo/gg_advanced.c ++++ b/src/gaiageo/gg_advanced.c +@@ -2286,6 +2286,7 @@ + / identifying toxic geometries + / i.e. geoms making GEOS to crash !!! + */ ++#ifndef OMIT_GEOS /* don't do anything if there's no GEOS */ + int ib; + gaiaPointPtr point; + gaiaLinestringPtr line; +@@ -2350,6 +2351,7 @@ + } + polyg = polyg->Next; + } ++#endif /* OMIT_GEOS */ + return 0; + } + +@@ -2377,11 +2379,13 @@ + return 0; + else + { ++#ifndef OMIT_GEOS /*can't report error if GEOS is not build, skipping */ + if (cache != NULL) + gaiaSetGeosAuxErrorMsg_r (cache, + "gaia detected a not-closed Ring"); + else + gaiaSetGeosAuxErrorMsg ("gaia detected a not-closed Ring"); ++#endif + return 1; + } + } +--- a/src/spatialite/spatialite.c ++++ b/src/spatialite/spatialite.c +@@ -23472,9 +23472,11 @@ + sqlite3_result_null (context); + else + { ++#ifndef OMIT_GEOS /* Only if GEOS enabled */ + if (!gaiaInterpolatePoint (cache, line, point, &m_value)) + sqlite3_result_null (context); + else ++#endif + sqlite3_result_double (context, m_value); + } + if (line != NULL) +--- a/src/connection_cache/alloc_cache.c ++++ b/connection_cache/alloc_cache.c +@@ -646,8 +646,12 @@ + #endif + + #else /* supporting old PROJ.4 */ ++#ifdef PROJ_NEW /* PROJ.6* */ ++ cache->PROJ_handle = proj_context_create (); ++#else + cache->PROJ_handle = pj_ctx_alloc (); + #endif ++#endif + #endif /* end PROJ.4 */ + + #ifdef ENABLE_RTTOPO /* initializing the RTTOPO context */ +@@ -706,7 +706,11 @@ + #endif /* end GEOS */ + + #ifndef OMIT_PROJ /* initializing the PROJ.4 context */ ++#ifndef PROJ_NEW /* Only in case where PROJ.5 not needed */ + cache->PROJ_handle = pj_ctx_alloc (); ++#else /* PROJ.6* */ ++ cache->PROJ_handle = proj_context_create (); ++#endif + #endif /* end PROJ.4 */ + + done: diff --git a/dev-db/spatialite/spatialite-5.1.0-r2.ebuild b/dev-db/spatialite/spatialite-5.1.0-r2.ebuild new file mode 100644 index 000000000000..edf57c760b1f --- /dev/null +++ b/dev-db/spatialite/spatialite-5.1.0-r2.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool + +MY_PN="lib${PN}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Complete Spatial DBMS in a nutshell built upon sqlite" +HOMEPAGE="https://www.gaia-gis.it/gaia-sins/" +SRC_URI="https://www.gaia-gis.it/gaia-sins/${MY_PN}-sources/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="MPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="+geos iconv +proj rttopo test +xls" +REQUIRED_USE="test? ( iconv )" +# Further poking required +RESTRICT="test" + +RDEPEND=" + >=dev-db/sqlite-3.7.5:3[extensions(+)] + dev-libs/libxml2 + sys-libs/zlib[minizip] + geos? ( >=sci-libs/geos-3.11.0 ) + proj? ( sci-libs/proj:= ) + rttopo? ( sci-geosciences/librttopo ) + xls? ( >=dev-libs/freexl-2.0.0[xml(+)] ) +" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${P}-macro-surgery.patch" ) + +src_prepare() { + default + elibtoolize +} + +src_configure() { + # 1) gcp disabled for now to preserve MPL licence + econf \ + --disable-gcp \ + --disable-examples \ + --disable-static \ + --enable-epsg \ + --enable-libxml2 \ + $(use_enable geos) \ + $(use_enable geos geosadvanced) \ + $(use_enable geos geos3100) \ + $(use_enable geos geos3110) \ + $(use_enable iconv) \ + $(use_enable proj) \ + $(use_enable rttopo) \ + $(use_enable xls freexl) +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index d244f358801f..b87233f0c4b1 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,14 +1,16 @@ AUX sqlite-3.45.1-ppc64-ptr.patch 986 BLAKE2B 8c97514a67601c1f51459c1d4ea683e023730b3fa66be7a238807f172ce19ebceeed8f81c9f6e4f3621c96eecd8f6ea3bd5669a8a5ee5b14cf2bebdb7338e0db SHA512 12c6384682a36cddfdde7d2cfdba8aad54441b816816abf139bb05c46f65e78548c5a9e4f7f8b8836bd95702455b93ed7e0afb868ab15fead20a84404f075615 AUX sqlite-3.47.1-buildtclext.patch 986 BLAKE2B ba43fd663a77a2a161a26f31ca3db0f4b08fae940a08b4bdfa7882a7945eef1b041f11d70cbe6754fe1bc58c533f2b5864e25a90c6d38e8f1c4f27f8cfc3bd91 SHA512 20ff9155832fc23984f91c3c7fc6ab775ab026fb4a3b7d97f00b67583702c81d714db1345a28050c1be39376d411b2faa137b25719d4d312ac42cf00c73ade47 AUX sqlite-3.47.2-hwtime.h-Don-t-use-rdtsc-on-i486.patch 1114 BLAKE2B 00b386967c4b7051b762041f98555f078e7fe7427adc57efa7b1bd3c6cdee20e379b2d086535358014dd1bafbb97d552980620c29c4ea63047f2d3c68efa2907 SHA512 f3787a9628d73ccd8f4bad99e8d2f3c0153078c06b2864d9110b77e1aea6a22ee2db485d71aec9b94039bc5e2e4517eb194faac862b95775d70440e1857f7d4c +AUX sqlite-3.49.0-icu-tests.patch 726 BLAKE2B e2b3d0ed8be80ba441e86a59372658d8da3849563dc8ae9ec2a3393450f8beed845d7fcd8b163b09b00ae75fde2252128132036fb0a1a266f752348a5363ee24 SHA512 e1deff11b81d8064f8187f7eadcf7859720789961f2c04f5aa99b1ce69aa703f6b7e030abf76276e77aafd37ac2664b42ca534d604b69ab1c62637924e9d53bd +AUX sqlite-3.49.1-jimsh.patch 1596 BLAKE2B 3ffa24a9b2a03c8716a1b3d04172d086beb501b156188ae2b9d7afb191027df9f741d2f80249e5905d60a16f9159cc68ee7c0b3d94e75f69121e9bdab3035dbf SHA512 193e122ff6ba00749248a3846355191d2d3c92a83b6acae1aa5ddcacef1ad499d72001a5c6de715fd50c956e94e00648da39e1681575100d3bf7cc8aac51bc71 DIST sqlite-doc-3460100.zip 10851427 BLAKE2B 7462e83ca84e3e9aac7236f575fd2bdddac7744ae700a63fe8fdc9d2df3157c59fd374d99a0526bd4d9f742005ee7a90f3d78057861d3c3fcba9f897630e48db SHA512 1ad7dfc938d182f69ea9367b4f5ead1d48b991626521249e8b58c9fb4c2553e348ce402de9cc81b0ad699d4c45c467de56a98ee39f9c3555c6fafff15fba41ce DIST sqlite-doc-3470200.zip 10957830 BLAKE2B cbc40dd440d1c5af4ad4333090a7306bd54ec43250a478b6900b8f74bd721035018ea7647f3a208d42cc0639827325be26a9412d17af7d390f4e584d4c6acf44 SHA512 48349d512b7cd9bc6f6a5da3a2b2285de159d4653667311adb0f5e6a970060db940a590c2d01b529afc1614065b22434d5b3ac4d8d0122d003d74926745ba56e -DIST sqlite-doc-3480000.zip 11391112 BLAKE2B d28531e5d3ac7802700636a669f165cb9fa2a6077422b1ba956b6b9e29db48941489b5a3bc1c4936723e59343e00c3edc9310db9724d914a30ac9aca775dc70d SHA512 d7cad0da8598a3abcacf0e05ba4e285ad1d790691e571e431f920abf1bf27c5a416408ff60ff051b01a65662c0e60bb63b9ba73872851fe63f379e834c5a0f04 +DIST sqlite-doc-3490100.zip 11333315 BLAKE2B 28fe302820898861e404f5c6dd1c05c3ff3ff10a8b713604f0ccec6b21ca7b82d61ba720903d7e9d8e9ec5de701900c5972037c23627ddd1a2734e95a92c5d6a SHA512 0eb6af0483bca7f6efd6baf00210adcca1d23ea5b474728aa96614a93a868ec6f9257d9b5f29c452fed5323c64fc180ee3845695ddbbcd7836dac69aecdfc833 DIST sqlite-src-3460100.zip 14276926 BLAKE2B df16ea944e317df8ed64fdfab289e3699ec71725ce55e2b30450adaeb41c061b4fba1eb8c41ba638b0edcd12b23264a1f9e413b69fd593c2b65fb1037d3fc8b2 SHA512 6d32a0db9f95d3cec34f02f3fd45b453bf7c422d4d4d9570790f641e7d190b8b31be8e8715afacc1b6e4417f15a4d15a0b28e608ae0b4b5f3054b075783b916e DIST sqlite-src-3470200.zip 14421983 BLAKE2B dcaea5be0099b2dad1b53403933f0037ace48b1f248040c1b5cc116ac2ad6c9b44c71b8efe3afd16bef01119b440d1a2ec9d553a22f855e0ba55793684f53d8d SHA512 a6280a02304bfae173d9e9ebf376b2d3624658f04af4d8e95d5a042e24cf0405a47c0a4023f4dbc2790716cd85e16b97fcc0a83c1534e6d554f4eb0bfb0a3ed3 -DIST sqlite-src-3480000.zip 14350897 BLAKE2B 1dafce5575cbf8eb4e7efb5c033322b887bcce38129756994da45b1d8e0cf136f337e6cb9fa3c4b5abcf1f68bff6763247bec1ad04975fc9de308e3b75fb4e54 SHA512 854832e9a5dc486a81934e36c1f1678ce50db55b8bd3c48ed2d569fb0bb7ce23d4b490c0a0f699274ff11ddf2000db4a620e064557084c54b217e7fdd836f4e1 +DIST sqlite-src-3490100.zip 14372402 BLAKE2B c7f6a574698512e2fde44e54ed2a101e7307821b0015287bbf5ab151f5f59432fe051fda1d1caec865928717f51c42f1161187fb768180088574ca225cd29250 SHA512 24c81cee52e5655f4e9d6496a366e4787352b5108ea27eb5ce3dc07ef3e1975205bb250584b0758fb2832add84ca922b09a4d925e0dc2f55dd3613a58b414ec3 EBUILD sqlite-3.46.1.ebuild 12792 BLAKE2B ca98f4e22e0ba7abdf3c1c8a785e82a6f64d19f186a68d9733fbe31db879c2d3d0b1b517b3ea3f0af5c678cd9c036a8702c4f3e87f3a20c5b4342e391fd720d9 SHA512 6633db1ba661ed8948e21ffb245f59f7507669224d3b827c16d4fc5332d9b2bd62f176066afc7f59ed5104b0a5d15dc4eb8ed91ba4ab55b2afb773d6026708a0 EBUILD sqlite-3.47.2-r1.ebuild 12880 BLAKE2B 6686cb865c8f3b68ea03077ef146753a3ae03bbc5dbce1e2224ca514c6b55b8bca6ec1702bd42984cbb96e4f6169e726e4748a931ddcc33e4af065e89d7f4b3e SHA512 c321faed21950909eb0abc4d32f22ab74e79f90577a25a6fad3f9f9c51f47b5337056a9a209f2781d0a45119a17c802165fbf0569748334011b43597c51aca47 -EBUILD sqlite-3.48.0-r1.ebuild 12904 BLAKE2B 6591d350c3e438a294ceb40f20dd4dc1afed28b8f792efb01ee4bcbf39824ec1ce289a7b052e6dcf100f0da58b2bb2e7dcc0a54364e593eedd86eb37223f5309 SHA512 58eb7c55b633ab9b0996be41dc8bf6373fcb842a75e9baa307d5bc2430776d78e7e54d1bc09bea20bcecf33f9baff374a43e026b6be234586040430f33d3fb03 -EBUILD sqlite-9999.ebuild 12795 BLAKE2B 6f9a80eb912680ef1d0f3fb183d0bd5327c9d312c11ca392312568861b104556ba54e8350611c7acc758360c42e33e2a0cbe3bc44d57c4be225e2d84a7cb69c6 SHA512 375ce352d2ddd96bfde025a82e9abff16c1713d5d6a8fc0d5ef15534d281f60a586e8d963d8a57c98ee2c7369e6fd3fc5eef9513cb5fea7a038dc8aa04876105 +EBUILD sqlite-3.49.1.ebuild 13392 BLAKE2B 63918d3002e2b7f0164d4b5b4fd00dc494e6a7223db10e4a3988d84d078ef30a7fdeb9853279ba966b6ffc1186162583bc562c76f0ee65c36c13fb548647fda1 SHA512 486fb8db9c2819f5397c1af87d7effce3e971090696c40cfe5bafe2f5d2ae91c0039a5aa23762b768774302349a5c6844e6bf9803b9804ab819d88e4af65d407 +EBUILD sqlite-9999.ebuild 13174 BLAKE2B cf92b79267ae4c47bbd304ff79504e67fa0d491501ff08c190f04f82468d5c603ff5deda62bc7aecfab4bbfd5d53a97708ff26795afec1d4d396aacdf46f46c3 SHA512 137e54dce69f73260b1ad63c18715dc63c427641027be00dc34962602f8c992360de9adc5b170e7cd754ec0a6278afba0ec15ab706c2a1914fdcc4756ed161ae MISC metadata.xml 824 BLAKE2B 8ab2e8f230bf3a2b26077d90944bca7bf35ae905310205b90bf243365148488303256606c0ee7c3fb736300686466a1c2583bf103693c20063ca668fe9e52647 SHA512 ed4a89e3c2d633cb6ebf8bcbf3ca055d0d1b2ffd801ba559395f812faeaafdfedd97dae11a5a53a4c068e43026fbd4eed4cb12c8b89a7fda6dabe6f78a2e0b38 diff --git a/dev-db/sqlite/files/sqlite-3.49.0-icu-tests.patch b/dev-db/sqlite/files/sqlite-3.49.0-icu-tests.patch new file mode 100644 index 000000000000..8211d1a146b2 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.49.0-icu-tests.patch @@ -0,0 +1,29 @@ +https://sqlite.org/forum/forumpost/f93323a743 +https://sqlite.org/src/info/5964616dc9de9323 +--- a/test/like3.test ++++ b/test/like3.test +@@ -302,15 +302,23 @@ + } + + #------------------------------------------------------------------------- + reset_db + ++# See forum thread https://sqlite.org/forum/info/d7b90d92ffbfc61f + foreach enc { + UTF-8 + UTF-16le + UTF-16be + } { ++ ifcapable icu { ++ if {$enc=="UTF-8"} { ++ # The invalid UTF8 used in these tests is incompatible with ICU ++ # https://sqlite.org/forum/forumpost/2ca8a09a7e ++ continue ++ } ++ } + foreach {tn expr} { + 1 "CAST (X'FF' AS TEXT)" + 2 "CAST (X'FFBF' AS TEXT)" + 3 "CAST (X'FFBFBF' AS TEXT)" + 4 "CAST (X'FFBFBFBF' AS TEXT)" + diff --git a/dev-db/sqlite/files/sqlite-3.49.1-jimsh.patch b/dev-db/sqlite/files/sqlite-3.49.1-jimsh.patch new file mode 100644 index 000000000000..8f7f082a6d88 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.49.1-jimsh.patch @@ -0,0 +1,61 @@ +# https://bugs.gentoo.org/949981 +# https://www2.sqlite.org/src/info/ffd05de8a3b7cab1 +From 09591b78ae28c6bb385ae96fef44edfb52454830 Mon Sep 17 00:00:00 2001 +From: stephan <stephan@noemail.net> +Date: Mon, 24 Feb 2025 04:47:34 +0000 +Subject: [PATCH] Update jimsh0.c from upstream autosetup to address + [https://github.com/msteveb/autosetup/issues/75|autosetup ticket #75], + triggered by this build in the Gentoo project. + +FossilOrigin-Name: ffd05de8a3b7cab1b8e91b99da74b43ec5a7b91c78dcfd7cf338b66126e30a56 +--- + autosetup/jimsh0.c | 20 ++++++++------------ + manifest | 12 ++++++------ + manifest.uuid | 2 +- + 3 files changed, 15 insertions(+), 19 deletions(-) + +diff --git a/autosetup/jimsh0.c b/autosetup/jimsh0.c +index 0526b9a446..1a6453d0c8 100644 +--- a/autosetup/jimsh0.c ++++ b/autosetup/jimsh0.c +@@ -1252,6 +1252,14 @@ int Jim_OpenForRead(const char *filename); + + #endif + ++# ifndef MAXPATHLEN ++# ifdef PATH_MAX ++# define MAXPATHLEN PATH_MAX ++# else ++# define MAXPATHLEN JIM_PATH_LEN ++# endif ++# endif ++ + + int Jim_FileStoreStatData(Jim_Interp *interp, Jim_Obj *varName, const jim_stat_t *sb); + +@@ -2088,10 +2096,6 @@ enum wbuftype { + #define UNIX_SOCKETS 0 + #endif + +-#ifndef MAXPATHLEN +-#define MAXPATHLEN JIM_PATH_LEN +-#endif +- + + + +@@ -4173,14 +4177,6 @@ int Jim_regexpInit(Jim_Interp *interp) + #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) + #endif + +-# ifndef MAXPATHLEN +-# ifdef PATH_MAX +-# define MAXPATHLEN PATH_MAX +-# else +-# define MAXPATHLEN JIM_PATH_LEN +-# endif +-# endif +- + #if defined(__MINGW32__) || defined(__MSYS__) || defined(_MSC_VER) + #define ISWINDOWS 1 + diff --git a/dev-db/sqlite/sqlite-3.48.0-r1.ebuild b/dev-db/sqlite/sqlite-3.49.1.ebuild index 1e772cac840d..25ab0c8a1da6 100644 --- a/dev-db/sqlite/sqlite-3.48.0-r1.ebuild +++ b/dev-db/sqlite/sqlite-3.49.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit flag-o-matic multilib-minimal toolchain-funcs +inherit flag-o-matic multilib multilib-minimal toolchain-funcs DESCRIPTION="SQL database engine" HOMEPAGE="https://sqlite.org/" @@ -24,7 +24,7 @@ else " S="${WORKDIR}/${PN}-src-${SRC_PV}" - #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="public-domain" @@ -51,6 +51,10 @@ fi PATCHES=( "${FILESDIR}"/${PN}-3.47.2-hwtime.h-Don-t-use-rdtsc-on-i486.patch + # https://sqlite.org/forum/forumpost/f93323a743 + "${FILESDIR}"/${PN}-3.49.0-icu-tests.patch + # https://bugs.gentoo.org/949981, https://www2.sqlite.org/src/info/ffd05de8a3b7cab1 + "${FILESDIR}"/${PN}-3.49.1-jimsh.patch ) _fossil_fetch() { @@ -139,9 +143,6 @@ src_unpack() { } src_prepare() { - - # Avoid stripping during the install phase - sed -i -e 's/$(INSTALL) -s /$(INSTALL) /' main.mk || die default multilib_copy_sources @@ -197,7 +198,8 @@ multilib_src_configure() { # https://sqlite.org/compile.html#enable_fts5 # https://sqlite.org/fts3.html # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS + options+=( --enable-fts4 ) options+=( --enable-fts5 ) # Support hidden columns. @@ -206,7 +208,7 @@ multilib_src_configure() { # Support memsys5 memory allocator. # https://sqlite.org/compile.html#enable_memsys5 # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 + options+=( --enable-memsys5 ) # Support sqlite3_normalized_sql() function. # https://sqlite.org/c3ref/expanded_sql.html @@ -232,12 +234,12 @@ multilib_src_configure() { # https://sqlite.org/compile.html#enable_geopoly # https://sqlite.org/rtree.html # https://sqlite.org/geopoly.html - append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY + options+=( --enable-rtree --enable-geopoly ) # Support Session extension. # https://sqlite.org/compile.html#enable_session # https://sqlite.org/sessionintro.html - append-cppflags -DSQLITE_ENABLE_SESSION + options+=( --enable-session ) # Support scan status functions. # https://sqlite.org/compile.html#enable_stmt_scanstatus @@ -320,12 +322,15 @@ multilib_src_configure() { fi fi - # set SONAME for the library - options+=( --soname=legacy ) + if [[ ${CHOST} != *-darwin* ]] ; then + # set SONAME for the library + options+=( --soname=legacy ) + fi # https://sqlite.org/forum/forumpost/4f4d06a9f6683bb9 - tc-export CC - CC_FOR_BUILD=${CC} econf "${options[@]}" + tc-export_build_env BUILD_CC + + CC_FOR_BUILD=${BUILD_CC} econf "${options[@]}" } multilib_src_compile() { @@ -371,6 +376,15 @@ multilib_src_test() { multilib_src_install() { emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name, soname=legacy doesn't work for this (but + # breaks the build instead) + install_name_tool \ + -id "${EPREFIX}/usr/$(get_libdir)/libsqlite3$(get_libname 0)" \ + "${ED}/usr/$(get_libdir)/libsqlite3$(get_libname ${PV})" \ + || die "failed to fix install_name" + fi + if use tools && multilib_is_native_abi; then install_tool() { if [[ -f ".libs/${1}" ]]; then diff --git a/dev-db/sqlite/sqlite-9999.ebuild b/dev-db/sqlite/sqlite-9999.ebuild index e0fe683ea625..2d4ae2f9926b 100644 --- a/dev-db/sqlite/sqlite-9999.ebuild +++ b/dev-db/sqlite/sqlite-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit autotools flag-o-matic multilib-minimal toolchain-funcs +inherit flag-o-matic multilib multilib-minimal toolchain-funcs DESCRIPTION="SQL database engine" HOMEPAGE="https://sqlite.org/" @@ -19,8 +19,8 @@ else #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") SRC_URI=" - https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip ) + https://sqlite.org/2025/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2025/${PN}-doc-${DOC_PV}.zip ) " S="${WORKDIR}/${PN}-src-${SRC_PV}" @@ -43,7 +43,6 @@ DEPEND=" ${RDEPEND} test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) " -BDEPEND=">=dev-lang/tcl-8.6:0" if [[ ${PV} == 9999 ]]; then BDEPEND+=" dev-vcs/fossil" else @@ -142,7 +141,6 @@ src_unpack() { src_prepare() { default - eautoreconf multilib_copy_sources } @@ -196,7 +194,8 @@ multilib_src_configure() { # https://sqlite.org/compile.html#enable_fts5 # https://sqlite.org/fts3.html # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS + options+=( --enable-fts4 ) options+=( --enable-fts5 ) # Support hidden columns. @@ -205,7 +204,7 @@ multilib_src_configure() { # Support memsys5 memory allocator. # https://sqlite.org/compile.html#enable_memsys5 # https://sqlite.org/malloc.html#memsys5 - append-cppflags -DSQLITE_ENABLE_MEMSYS5 + options+=( --enable-memsys5 ) # Support sqlite3_normalized_sql() function. # https://sqlite.org/c3ref/expanded_sql.html @@ -231,12 +230,12 @@ multilib_src_configure() { # https://sqlite.org/compile.html#enable_geopoly # https://sqlite.org/rtree.html # https://sqlite.org/geopoly.html - append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY + options+=( --enable-rtree --enable-geopoly ) # Support Session extension. # https://sqlite.org/compile.html#enable_session # https://sqlite.org/sessionintro.html - append-cppflags -DSQLITE_ENABLE_SESSION + options+=( --enable-session ) # Support scan status functions. # https://sqlite.org/compile.html#enable_stmt_scanstatus @@ -280,8 +279,7 @@ multilib_src_configure() { if use icu; then # Support ICU extension. # https://sqlite.org/compile.html#enable_icu - append-cppflags -DSQLITE_ENABLE_ICU - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + options+=( --with-icu-config ) fi options+=( @@ -320,7 +318,15 @@ multilib_src_configure() { fi fi - econf "${options[@]}" + if [[ ${CHOST} != *-darwin* ]] ; then + # set SONAME for the library + options+=( --soname=legacy ) + fi + + # https://sqlite.org/forum/forumpost/4f4d06a9f6683bb9 + tc-export_build_env BUILD_CC + + CC_FOR_BUILD=${BUILD_CC} econf "${options[@]}" } multilib_src_compile() { @@ -366,6 +372,15 @@ multilib_src_test() { multilib_src_install() { emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name, soname=legacy doesn't work for this (but + # breaks the build instead) + install_name_tool \ + -id "${EPREFIX}/usr/$(get_libdir)/libsqlite3$(get_libname 0)" \ + "${ED}/usr/$(get_libdir)/libsqlite3$(get_libname ${PV})" \ + || die "failed to fix install_name" + fi + if use tools && multilib_is_native_abi; then install_tool() { if [[ -f ".libs/${1}" ]]; then diff --git a/dev-db/sqlmap/Manifest b/dev-db/sqlmap/Manifest index dbd643e67f4b..8dbbf5cdb880 100644 --- a/dev-db/sqlmap/Manifest +++ b/dev-db/sqlmap/Manifest @@ -1,7 +1,9 @@ AUX sqlmap.bash-completion 5757 BLAKE2B f602d99b6b0a30cf405b390eaef355f7a4b4fa4260f0a18fe09a0fa7530af131b75ffc25ca161898f2ed4a93ef9251c0c88cb1ad25d78d870fd2ff19225e0609 SHA512 5024cfb2274a2798fcc7d12e59693253732f66c1389aed36cc31fb8e40d03f7e9a713e93e24711185b5d2d82dd2ac91ec2b6cdc4929c5ca3245fcb4f502d327a DIST sqlmap-1.8.11.gh.tar.gz 7251649 BLAKE2B c7c85f59c84a45e38058bbb15fd7b579f6ff3775aa4fcf0a96ad2a44e7f9fa19f00feb30744006ebf92e1f7551f87c70a20cefa895b8d0068574eb8b0e88252a SHA512 37b275c96038a3023fb1b2e69ec96390a021e7f8b292952a2328cd9891ff4fbf7f284e6af003e1677fa2972dfc44d620d7fc2cfa5ae42ca47b7df64cce9d04ad -DIST sqlmap-1.8.9.gh.tar.gz 7251590 BLAKE2B 6313530bd6f2ac5e01b7359240829207c2df57ac3ea808cb11a335bc109b89a779f174df1a8736fd272a5d48c222576b13de5a533267592e02411bc165f32f8e SHA512 b0190d9e9e05801a7a0d31f056342b4381e07fca8de9436f0f1df158c8bce201a045605e67cbe3d6fcb8b416b46ba78ed93b9fca5942ecb3e5ab8ed1805187fc +DIST sqlmap-1.9.2.gh.tar.gz 7251313 BLAKE2B 73e7eeb1c9f3983588b68b1c15f7f7193b8c6118217d0c4d8600dc1c004478319d68f3b3ee2b518e6ef02372381eae17affc68dd3cf99f70d0c81b9011c17b53 SHA512 2faed909e5fe70d7dea1b7cb636baa40bf3c2a90df6ef86908d7059cd31f0ef51c854ec37da811210b2603989f236f22de7e766e83f0c5bc42f6061035a4d505 +DIST sqlmap-1.9.gh.tar.gz 7251286 BLAKE2B d09e8854a8f3e49b2c071cc79046ad8b2e80912acedbe83bf2b7bc838f30d3f84a3564fc1c03840b76bf0868ecaed289823a46eb16938a4fe0a0c1beef8e04ec SHA512 f92565d12931aa38f1c29634417a1f4a81d1686b7d3816157cdc524eb7f93555a5a706cc519c31baf7bf1631319e49ee695ff4006c336ffe5208e97eba8086ba EBUILD sqlmap-1.8.11.ebuild 1333 BLAKE2B 5a9fc3b447f41571e6f41482a799164c19c4b7eab9425b2997c65bbc29ca0a2663e7be90d46ce9b35da63a0b5728764ceb642e38c04daa9448747dd312359744 SHA512 aeb27eaece35203345dd8780b5079f911fc5dd56f11acf1a8f61fdb154ba88a8240764dafee38370aff46a50c9e6e42e6e49a776a087282fcf3980f353f79475 -EBUILD sqlmap-1.8.9.ebuild 1333 BLAKE2B b3cb8c8e6812608e650606f443be5fc0c095ac2d6ed6a6c891aa975b897d4cc97a2423fd713a95e5692cc489e8176fe64ff26225c76a7e2c568e1aae75c93171 SHA512 bf494a99403a0be49516a5f213817da90f32bf5e542f5cf9905562eab7376bd3e4fdacdca0dac06b1de40559f8591d35e5bd9cb2c9414f5f32827a9626dfb3f0 +EBUILD sqlmap-1.9.2.ebuild 1335 BLAKE2B 41c312b785eb0dfb253aa9d6caf972195bda075fb53f118129b99e7e64340dba84749af49fc3625f2b7bb761f559a91221607162f86327bdecf5b3d34089a555 SHA512 9679285464d398819eeb3d7db430af0087aa2449d3b81130df78ce679a8a314bcb7f78949610622577a4a2bfbea0e70c2923b4fbcc85ca10871299424b906a8b +EBUILD sqlmap-1.9.ebuild 1335 BLAKE2B 41c312b785eb0dfb253aa9d6caf972195bda075fb53f118129b99e7e64340dba84749af49fc3625f2b7bb761f559a91221607162f86327bdecf5b3d34089a555 SHA512 9679285464d398819eeb3d7db430af0087aa2449d3b81130df78ce679a8a314bcb7f78949610622577a4a2bfbea0e70c2923b4fbcc85ca10871299424b906a8b EBUILD sqlmap-9999.ebuild 1335 BLAKE2B 3a4b2d955ace10b02cff80c4f3954095d437b70995fdea32fb4002b2b4b98b541669c4afe8e284eb79971012e11b0d80f3abc5b4348ef0c6ae428458a44446c6 SHA512 1ed0e8b0cadd4938a87b24c88b2bf09a7b928146aa330a3c3a931926351feb8eed50a30b541dcf06d2aab22e28984d1bdfba0d09667e3b73ebe4be60b6d9e47c MISC metadata.xml 847 BLAKE2B 31fdd4fd94a4b6ad8c775bbbc9cb48b5627f2f5944a7bdaf6c30f3559044dda6cd92be3b50c8baf462b1e2e4ea4aa905bbac88c616cbfbc833a4895a1944b0d6 SHA512 bddfbc5ce988bc1770a2ad1d6952d8ef44010c9e4ef789500f0408c7c5754960804f270bb6e24e4739852cdef07b3f22111ad9da453648730f045d0b2c3deea9 diff --git a/dev-db/sqlmap/sqlmap-1.8.9.ebuild b/dev-db/sqlmap/sqlmap-1.9.2.ebuild index 0170f6b3bc73..37028c14816a 100644 --- a/dev-db/sqlmap/sqlmap-1.8.9.ebuild +++ b/dev-db/sqlmap/sqlmap-1.9.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap" else SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" - KEYWORDS="amd64 x86" + KEYWORDS="~amd64 ~x86" fi # sqlmap (GPL-2+) diff --git a/dev-db/sqlmap/sqlmap-1.9.ebuild b/dev-db/sqlmap/sqlmap-1.9.ebuild new file mode 100644 index 000000000000..37028c14816a --- /dev/null +++ b/dev-db/sqlmap/sqlmap-1.9.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="sqlite" + +inherit bash-completion-r1 python-single-r1 wrapper + +DESCRIPTION="An automatic SQL injection and database takeover tool" +HOMEPAGE="https://sqlmap.org/" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/sqlmapproject/sqlmap" +else + SRC_URI="https://github.com/sqlmapproject/sqlmap/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +# sqlmap (GPL-2+) +# ansitrm (BSD) +# beautifulsoup (BSD) +# bottle (MIT) +# chardet (LGPL-2.1+) +# clientform (BSD) +# colorama (BSD) +# fcrypt (BSD-2) +# identitywaf (MIT) +# keepalive (LGPL-2.1+) +# magic (MIT) +# multipartpost (LGPL-2.1+) +# ordereddict (MIT) +# prettyprint (BSD-2) +# pydes (public-domain) +# six (MIT) +# socks (BSD) +# termcolor (BSD) +# wininetpton (public-domain) +LICENSE="BSD BSD-2 GPL-2+ LGPL-2.1+ MIT public-domain" +SLOT="0" + +RDEPEND="${PYTHON_DEPS}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DOCS=( doc/ README.md ) + +src_install () { + einstalldocs + + insinto /usr/share/${PN}/ + doins -r * + python_optimize "${ED}"/usr/share/${PN} + + make_wrapper ${PN} \ + "${EPYTHON} ${EPREFIX}/usr/share/${PN}/sqlmap.py" + + newbashcomp "${FILESDIR}"/sqlmap.bash-completion sqlmap +} diff --git a/dev-db/timescaledb/Manifest b/dev-db/timescaledb/Manifest index 3e9fda6ec93f..622ab4782328 100644 --- a/dev-db/timescaledb/Manifest +++ b/dev-db/timescaledb/Manifest @@ -1,9 +1,5 @@ -DIST timescaledb-2.16.1.tar.gz 7449327 BLAKE2B 4eac0f41596db1b7669850cbb576a2d710998f7207f566fb9b4965804e6810f1571d18058a126acdae7862bf77424db44f27720f3600d1191ae1a3c3cf8680ae SHA512 4972ccc385a3c7bda8fab8736c63f75c5b290a3a0206add84718326fcd07c24a52dbbae2114e857fb78246bf5a4b5ec3310cc2219a163af4d5f30f1766e37fae -DIST timescaledb-2.17.0.tar.gz 7559829 BLAKE2B 59ae1acabd9cc2657eaef04b42a2e4a9a633bf6dca0080897b2c0645ad2faa3b82c0f693ea121fbda8becf4088877b87f5aac8cf300d73ba85b3226a057ea5e0 SHA512 0c10f04b62e6e57da0e53234d25b82e68724a7925fd8696a9872e2934cbd1a7af9798576afceb504d4a7207ef8b0407421bbeeb4a3deef0f4b4ad17c2753443c -DIST timescaledb-2.17.1.tar.gz 7565025 BLAKE2B 8d8325e06739201d17e0da19173ee852abb10c0646d5f3647c51a6c209c1c6df30bc03ee8682e082652fb8d26a0b9bedf5c6014ed143b0af530b450664f6e14f SHA512 f5cd527f1b37e228c7caaad0b9a9802b1cef3b0b4a856951e46e74479263f4fef6190cc37c920ca5819ddd6874ff469645f606eeadec6741b83e82adb8c21f22 DIST timescaledb-2.17.2.tar.gz 7567447 BLAKE2B c2d5d9883377ffce57184c9c29413d12a41c7ef7891abb088aa72d0d7c410db28370c53585d7ec286fd52b3fe5c89b10f3b6deb547b6a1de132dc9c6697aa8cb SHA512 fc74d41062735bd4136ac71b0e10aecf34a64cdb29fd2ff31eae3f406beb8db00866e8ed7e142d47852e1586a6ad2ffa1652fbd792a45e995174b62464963d1e -EBUILD timescaledb-2.16.1.ebuild 1434 BLAKE2B 77976343740622bfde842b51055bce458295dc7304c82f9e06cfc510c9899954e85bf7f0c2f86ab0d8a9b47f1a956fba2102d889f4609c68d6898f59c7a7c5b1 SHA512 19ec48b1c738f884542b6c25cfbf5723727af5b7aba21889ee9a152721432a692feb3f59cd43c2cea0d173d3cdbe2fdba5fa5b0dc50e40563d8c14dddd9179d5 -EBUILD timescaledb-2.17.0.ebuild 1437 BLAKE2B 8e0fb37cb92aef40b53608eab5a06496c105a8015fa4065387ebd0ee54c08fe6fc0ba3383b2d1a7767e085016a4e00a089e67bd72769f7f5f4b45bbee0b15958 SHA512 22a62409c4d0e710279f9227b10b20d2df9a7c977d30a2d45c2ab829a29638909d75e5fb16c3146ce8d64a0a702e77935e27d6d910f9cfc4265611dc72c69119 -EBUILD timescaledb-2.17.1.ebuild 1437 BLAKE2B 8e0fb37cb92aef40b53608eab5a06496c105a8015fa4065387ebd0ee54c08fe6fc0ba3383b2d1a7767e085016a4e00a089e67bd72769f7f5f4b45bbee0b15958 SHA512 22a62409c4d0e710279f9227b10b20d2df9a7c977d30a2d45c2ab829a29638909d75e5fb16c3146ce8d64a0a702e77935e27d6d910f9cfc4265611dc72c69119 +DIST timescaledb-2.18.1.tar.gz 7903462 BLAKE2B d52814524f485593973c671cbdf5ed7c81bcbb5d4b9df1cfdc0a5b27edbc1a8b35d28feda786f9b1137bc986d2efed797be1b347e2204626d2251c0b7df5f7ae SHA512 94d6d10b8b74a55211d8767887962f5c37bc1ecd4dcc13fa8740904a9503d885ff635d0c93c56a5b3daacddf882f16f89f3d0afe50bc351e9abb8015cc537efb EBUILD timescaledb-2.17.2.ebuild 1435 BLAKE2B 5db2df97f1a3a553fddba3f1335f0c8ed0d559373db4846a6512ef7ba1312f8c29eb85add3e87cb430718ecffbf70cab8ae3a00553a297d2acbba0335fb0aff6 SHA512 73a4680b81449792ad256be52140d1f07d424793cfa94c080ae2f46f60209710780a0a21df8a802a2bfb1d2931d8ea3743829502cae14bc60f80630f1c6562af +EBUILD timescaledb-2.18.1.ebuild 1435 BLAKE2B 1bd8f483ef831456a7563048d026823be7590446a8911c2e94a81000d45b650200c2fd142d824d2b102e6aaf42c9cac292526b5ea36f61b1b9d0b49eabab4c18 SHA512 f24d023333f77a160a67ce44a5f3b51210d609969c86b269561af4ddf3d17debb95891636ff645790a6915c4ec97a91f56676c7d11452d08808fe877621df929 MISC metadata.xml 510 BLAKE2B 4e96707c6ee1fd09ff2baff091e02ceab53bfc28a6a3b91265a21fe9918a9728d2fe6394bed01e8bf4417c2349c2e72bab180cfff71cedf4641d462b29a33d3d SHA512 5e91ef3b9a503462dc880300e364f74e6564dd74671d0b0ce723a86ea7471f987424e06e51384d6fb079681122b8d454e255efe2e19726d64de7928df227148a diff --git a/dev-db/timescaledb/timescaledb-2.16.1.ebuild b/dev-db/timescaledb/timescaledb-2.16.1.ebuild deleted file mode 100644 index 8e453121b6c0..000000000000 --- a/dev-db/timescaledb/timescaledb-2.16.1.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -POSTGRES_COMPAT=( 14 15 16 ) -POSTGRES_USEDEP="ssl" - -inherit postgres-multi cmake - -DESCRIPTION="Open-source time-series SQL database" -HOMEPAGE="https://www.timescale.com/" -SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -IUSE="proprietary-extensions" -LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )" - -KEYWORDS="~amd64" - -SLOT=0 - -RESTRICT="test" - -DEPEND="${POSTGRES_DEP}" -RDEPEND="${DEPEND}" - -CMAKE_IN_SOURCE_BUILD=yes -CMAKE_BUILD_TYPE="RelWithDebInfo" -BUILD_DIR=${WORKDIR}/${P} - -src_prepare() { - postgres-multi_src_prepare - postgres-multi_foreach cmake_src_prepare -} - -timescale_configure() { - local CMAKE_USE_DIR=$BUILD_DIR - local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" ) - - # licensing is tied to features, this useflag disables the non-apache2 licensed bits - if ! use proprietary-extensions ; then - mycmakeargs+=("-DAPACHE_ONLY=ON") - fi - cmake_src_configure -} - -src_configure() { - postgres-multi_foreach timescale_configure -} - -timescale_src_compile() { - local CMAKE_USE_DIR=$BUILD_DIR - cmake_src_compile -} - -src_compile() { - postgres-multi_foreach timescale_src_compile -} - -timescale_src_install() { - local CMAKE_USE_DIR=$BUILD_DIR - cmake_src_install -} - -src_install() { - postgres-multi_foreach timescale_src_install -} diff --git a/dev-db/timescaledb/timescaledb-2.17.0.ebuild b/dev-db/timescaledb/timescaledb-2.17.0.ebuild deleted file mode 100644 index ce49cb6c56ac..000000000000 --- a/dev-db/timescaledb/timescaledb-2.17.0.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -POSTGRES_COMPAT=( 14 15 16 17 ) -POSTGRES_USEDEP="ssl" - -inherit postgres-multi cmake - -DESCRIPTION="Open-source time-series SQL database" -HOMEPAGE="https://www.timescale.com/" -SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -IUSE="proprietary-extensions" -LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )" - -KEYWORDS="~amd64" - -SLOT=0 - -RESTRICT="test" - -DEPEND="${POSTGRES_DEP}" -RDEPEND="${DEPEND}" - -CMAKE_IN_SOURCE_BUILD=yes -CMAKE_BUILD_TYPE="RelWithDebInfo" -BUILD_DIR=${WORKDIR}/${P} - -src_prepare() { - postgres-multi_src_prepare - postgres-multi_foreach cmake_src_prepare -} - -timescale_configure() { - local CMAKE_USE_DIR=$BUILD_DIR - local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" ) - - # licensing is tied to features, this useflag disables the non-apache2 licensed bits - if ! use proprietary-extensions ; then - mycmakeargs+=("-DAPACHE_ONLY=ON") - fi - cmake_src_configure -} - -src_configure() { - postgres-multi_foreach timescale_configure -} - -timescale_src_compile() { - local CMAKE_USE_DIR=$BUILD_DIR - cmake_src_compile -} - -src_compile() { - postgres-multi_foreach timescale_src_compile -} - -timescale_src_install() { - local CMAKE_USE_DIR=$BUILD_DIR - cmake_src_install -} - -src_install() { - postgres-multi_foreach timescale_src_install -} diff --git a/dev-db/timescaledb/timescaledb-2.17.1.ebuild b/dev-db/timescaledb/timescaledb-2.18.1.ebuild index ce49cb6c56ac..93d772f03508 100644 --- a/dev-db/timescaledb/timescaledb-2.17.1.ebuild +++ b/dev-db/timescaledb/timescaledb-2.18.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,12 +12,10 @@ DESCRIPTION="Open-source time-series SQL database" HOMEPAGE="https://www.timescale.com/" SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" -IUSE="proprietary-extensions" LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )" - -KEYWORDS="~amd64" - SLOT=0 +KEYWORDS="~amd64" +IUSE="proprietary-extensions" RESTRICT="test" diff --git a/dev-db/tora/Manifest b/dev-db/tora/Manifest deleted file mode 100644 index f3867f030f95..000000000000 --- a/dev-db/tora/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -AUX tora-3.2-qt-includes.patch 1405 BLAKE2B f42d2fd5e39d6de51b3c6555dcb395b0b419d6685b6ce70389c4335f511a52abcfba5c51dc0454b0ddc91ba328dda50cc5727a1c84266c860a9d8781dae67a32 SHA512 1901e7501f8cf79ed74623fd5a5cc948e131cb5f75a9a55b0a712b6980c584a25e909bf7a17575b4604258ba444da7d47fddea34e6267cf73cc078e1547adf9f -DIST tora-3.2.tar.gz 12762547 BLAKE2B 9e52013cc4122a8c6278392fd2251bad941fa48dbbc6e3c72a98bb2bad173d0262877afc44eca689c3110f69883c246441844f7884e309e000f1068b23c6b918 SHA512 005f9bc42a7c7ee9676ad60cdcb7b8fb9862a8ff0be9ffeb7911d96da7f233553b68e4089d23161871b479702ae8a8dc8bc63bd8d9aa75677bdd6c166ce86f7a -EBUILD tora-3.2-r2.ebuild 2171 BLAKE2B c8a63c42911c4ea32625984a83317e3c0d2e0e97cd41d253036318018bcf7a1843d3a829e5439df97bed26ed80d8625636940082c5498bbee5d95d4ebff2c176 SHA512 a1070f8844b2ac59f41df2e61757b9115ccb718be97b0f79ec689c0c8914e745892d1c8545d46e488f91c4bc35de7fb642776d49bb2608f7af34eb0f9b70afce -MISC metadata.xml 591 BLAKE2B 733ec0a015e39754579ae41c69fe69077ab0f9dbb56a3e033841c74eb3364339b49a324b13c7f7fbaaf432dc61f193c783f1f327acc8a59cefdbe89844c4f209 SHA512 199af7690f41e6c4461e341c595c52c40b73a6d93ca8e52c357df29b7742248b88cb11c9a8267e267516deda63d92a60b29c7268718ff6ff3a2edd0f5e0b1044 diff --git a/dev-db/tora/files/tora-3.2-qt-includes.patch b/dev-db/tora/files/tora-3.2-qt-includes.patch deleted file mode 100644 index 6126cdf71ca9..000000000000 --- a/dev-db/tora/files/tora-3.2-qt-includes.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/src/editor/tosqltext.cpp -+++ b/src/editor/tosqltext.cpp -@@ -50,6 +50,7 @@ - #include <QToolTip> - #endif - -+#include <QMenu> - #include <QListWidget> - #include <QVBoxLayout> - #include <QApplication> ---- a/src/main/tooraclesetting.cpp -+++ b/src/main/tooraclesetting.cpp -@@ -45,6 +45,8 @@ - #include "core/toqvalue.h" - #include "core/toquery.h" - -+#include <QtGui/qvalidator.h> -+ - toOracleSetting::toOracleSetting(QWidget *parent) - : QWidget(parent) - , toSettingTab("database.html#oracle") ---- a/src/tools/tobrowser.cpp -+++ b/src/tools/tobrowser.cpp -@@ -65,6 +65,7 @@ - #include <QInputDialog> - #include <QSplitter> - #include <QToolBar> -+#include <QButtonGroup> - - #include "icons/addindex.xpm" - #include "icons/addtable.xpm" ---- a/src/tools/toscript.cpp -+++ b/src/tools/toscript.cpp -@@ -56,6 +56,7 @@ - #include <QSplitter> - #include <QtCore/QTextStream> - #include <QToolBar> -+#include <QButtonGroup> - - #include "icons/execute.xpm" - #include "icons/toscript.xpm" ---- a/src/tools/tosecurity.cpp -+++ b/src/tools/tosecurity.cpp -@@ -46,6 +46,7 @@ - - #include <QSplitter> - #include <QToolBar> -+#include <QButtonGroup> - - #include "icons/addrole.xpm" - #include "icons/adduser.xpm" ---- a/src/widgets/tohelp.cpp -+++ b/src/widgets/tohelp.cpp -@@ -43,6 +43,7 @@ - #include "core/toconfiguration.h" - #include "ts_log/ts_log_utils.h" - -+#include <QAction> - #include <QMessageBox> - #include <QtCore/QSettings> - diff --git a/dev-db/tora/metadata.xml b/dev-db/tora/metadata.xml deleted file mode 100644 index 6db883b8f1dc..000000000000 --- a/dev-db/tora/metadata.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <!-- maintainer-needed --> - <longdescription> - TOra is a Toolkit for Oracle which aims to help the DBA or developer of - database application. Features PL/SQL debugger, SQL worksheet with syntax - highlighting, DB browser and a comprehensive set of DBA tools. Also works - with mySQL and postgreSQL. - </longdescription> - <upstream> - <remote-id type="sourceforge">tora</remote-id> - <remote-id type="github">tora-tool/tora</remote-id> - </upstream> -</pkgmetadata> diff --git a/dev-db/tora/tora-3.2-r2.ebuild b/dev-db/tora/tora-3.2-r2.ebuild deleted file mode 100644 index 3749b42c889d..000000000000 --- a/dev-db/tora/tora-3.2-r2.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake desktop toolchain-funcs xdg - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://github.com/tora-tool/tora" - inherit git-r3 -else - SRC_URI="https://github.com/tora-tool/tora/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" -fi - -DESCRIPTION="SQL IDE for Oracle, MySQL and PostgreSQL dbs" -HOMEPAGE="https://github.com/tora-tool/tora/wiki" - -LICENSE="GPL-2" -SLOT="0" -IUSE="doc mysql oracle +postgres" -REQUIRED_USE="|| ( mysql oracle postgres )" - -RDEPEND=" - dev-libs/ferrisloki - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsql:5[mysql?,postgres?] - dev-qt/qtwidgets:5 - >=x11-libs/qscintilla-2.10.1:=[qt5(+)] - oracle? ( dev-db/oracle-instantclient ) - postgres? ( dev-db/postgresql:* ) -" -DEPEND=" - ${RDEPEND} - dev-libs/boost -" -BDEPEND=" - dev-qt/linguist-tools:5 - virtual/pkgconfig - doc? ( app-text/doxygen ) -" - -PATCHES=( "${FILESDIR}"/${P}-qt-includes.patch ) - -src_prepare() { - cmake_src_prepare - - # fixed in master, only care about recent qscintilla lib name: - sed -e "/FIND_LIBRARY(QSCINTILLA_LIBRARY/s/qt5scintilla2/qscintilla2_qt5/" \ - -i cmake/modules/FindQScintilla.cmake || die "Failed to fix FindQScintilla.cmake" - - rm -r extlibs/{loki,qscintilla2} || die # ferrisloki, bug #383109 - - sed -e "/COPYING/ d" \ - -i CMakeLists.txt || die "Removal of COPYING file failed" - - # bug 547520 - grep -rlZ '$$ORIGIN' . | xargs -0 sed -i 's|:$$ORIGIN[^:"]*||' || \ - die 'Removal of $$ORIGIN failed' -} - -src_configure() { - local mycmakeargs=( - -DENABLE_DB2=OFF - -DQT5_BUILD=ON - -DWANT_INTERNAL_LOKI=OFF - -DWANT_INTERNAL_QSCINTILLA=OFF - -DWANT_RPM=OFF - -DLOKI_LIBRARY="$($(tc-getPKG_CONFIG) --variable=libdir ferrisloki || die)/libferrisloki.so" - -DLOKI_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable=includedir ferrisloki || die)/FerrisLoki" - $(cmake_use_find_package doc Doxygen) - -DENABLE_ORACLE=$(usex oracle) - -DUSE_PCH=OFF - -DENABLE_PGSQL=$(usex postgres) - ) - cmake_src_configure -} - -src_install() { - cmake_src_install - - doicon src/icons/tora.xpm || die - domenu src/tora.desktop || die -} diff --git a/dev-db/unixODBC/Manifest b/dev-db/unixODBC/Manifest index 65005947bc45..14a846059f0a 100644 --- a/dev-db/unixODBC/Manifest +++ b/dev-db/unixODBC/Manifest @@ -1,5 +1,5 @@ AUX unixODBC-2.3.12-bug-936060.patch 1018 BLAKE2B 3efeb58341af9e004bbc9adc4652a64ff8149a0d89bb1e73925b5e282240c2976f87aaf22656c584443e307e2f97bd36d57acc127526f3d8285480445371904d SHA512 812d3cac8a2168e477ff231dbef3fbcda41caac87368811ae192dcd67483553b97d14a6028624509dc772b0ab6cbc59917390f43131fd7e90b40dc6a199dbb4d DIST unixODBC-2.3.12.tar.gz 1753915 BLAKE2B 9da9b0fb5ff962db8ec1483b700aca5d4adf88f3349b22010bd0b4b4ec1fe2e7a51d761527e3b9e49b08286a00e55aadc38c320a6db512ba52f491aecad7fd83 SHA512 ca9d8db943195679a44db1fc09391dc6662ab1721112c93d448f04011e98502462ffe14b8364eb03707d851db456eced20eb61a22370392ca88d917038d45b56 -EBUILD unixODBC-2.3.12-r1.ebuild 1962 BLAKE2B 4baa47bb79d6259cba910f9c7beb11e30071cafeaad1b8f631bb9c30ca5fe73d0cc8dd580407b523a11f80dca787d4bf6b6ae73672d5caaf7771abdd2917f471 SHA512 577b140d5a993b3b41ba5f3f545b49f5ef5471d6dba90502454cfc6bdbe26312d4a6762519fdbe765a32925fd35b61601a107c7520e3c136bb5f2cc88d159b74 +EBUILD unixODBC-2.3.12-r1.ebuild 1961 BLAKE2B d8f7ce30ea249463dc9754ae2651486d1311804859fb7ff4ebdbc86182b3119f6332eb71776016f441089ff57696558d234ae9e8c573316d88d3f44e0c1e50f6 SHA512 3490209b947728bee1d6ec0a71522dd643e125c039da4c0b939fd816301564d93828b620a17b64f85b68c27808bc93a7722d325ef26308393c86ce3176d58d00 EBUILD unixODBC-2.3.12.ebuild 1910 BLAKE2B d5c84937b47a9659e8a077c0188c2266f4fa5b61c74195db20093c55fe87a7c71fd55ce792d00c1eff9f56586e4d3562f79b33d99690a3517cfdbc4c48423e82 SHA512 3306788ded0d691280796f8881682ada3a7e5489bba5f170645f430da233cf12e17b39d25c3fb0e5c835814bcb481ad8b0c7edcb8d8454fdf7dcbb8d7f30280f MISC metadata.xml 479 BLAKE2B 298fd55d5c29508598a3e221f0d3b850b3f2e195885460c5a9cb9d4111d9246576d1ae0c8c586f6484931ea2b8b9a2e0127db5e4c01c456e66fb66436b62f2aa SHA512 a751b3121ce1298c50e4f66ce8c654d578be088fdf52490a4149d380053bef287736d27ef1b430fef789019cc1e0f53904cafc6c292d984a78da105a493be6a5 diff --git a/dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild b/dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild index 061e25645301..d0ed69a23c79 100644 --- a/dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild +++ b/dev-db/unixODBC/unixODBC-2.3.12-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.unixodbc.org/unixODBC-${PV}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="+minimal odbcmanual static-libs unicode" RDEPEND=" |