parent
557f5a7758
commit
34feec2b7d
Binary file not shown.
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>prometheanfire@gentoo.org</email>
|
||||
<name>Matthew Thode</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
puppet group
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -0,0 +1,8 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
ACCT_GROUP_ID=455
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>prometheanfire@gentoo.org</email>
|
||||
<name>Matthew Thode</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
puppetdb group
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -0,0 +1,8 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
ACCT_GROUP_ID=456
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>hlein@korelogic.com</email>
|
||||
<name>Hank Leininger</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,9 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="group for scponly"
|
||||
ACCT_GROUP_ID=239
|
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>prometheanfire@gentoo.org</email>
|
||||
<name>Matthew Thode</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
puppet user
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -0,0 +1,14 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="user for puppet services"
|
||||
ACCT_USER_ID=455
|
||||
ACCT_USER_HOME=/var/lib/puppet
|
||||
ACCT_USER_HOME_PERMS=0770
|
||||
ACCT_USER_GROUPS=( puppet )
|
||||
|
||||
acct-user_add_deps
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>prometheanfire@gentoo.org</email>
|
||||
<name>Matthew Thode</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
puppetdb user
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -0,0 +1,14 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="User for the puppetdb service"
|
||||
ACCT_USER_ID=456
|
||||
ACCT_USER_HOME=/opt/puppetlabs/server/data/puppetserver
|
||||
ACCT_USER_HOME_PERMS=0770
|
||||
ACCT_USER_GROUPS=( puppetdb )
|
||||
|
||||
acct-user_add_deps
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>hlein@korelogic.com</email>
|
||||
<name>Hank Leininger</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,15 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="user for chrooted scponly"
|
||||
ACCT_USER_ID=239
|
||||
ACCT_USER_GROUPS=( scponly )
|
||||
# Not a typo. scponly uses the trailing // to identify the chroot dir.
|
||||
ACCT_USER_HOME=/var/chroot/scponly//
|
||||
ACCT_USER_HOME_OWNER=root:root
|
||||
|
||||
acct-user_add_deps
|
Binary file not shown.
@ -1 +1,33 @@
|
||||
DIST cmu_indic_ben_rm.flitevox 8868578 BLAKE2B 2c916a142809999ed69a0cc6bf94ee11380f5a6d5362f347fac5c83ddd25861b7b42d2c4071c1646a26cb5bfef86552ed51d0f708b998c7e3d02fc2815df9445 SHA512 26b6bb62cd00a2c2f51abd04fc8917a2b44472abf99b09b156218fa90499056c96652a984ee9fac4820db513cd2fdba396c1ceb5d26a67e312505b73d1d2b3d1
|
||||
DIST cmu_indic_guj_ad.flitevox 11368818 BLAKE2B 972e01ab3e06d830435645eadc34bcefde9c3fdd4c302271847e2f66d5e179c88456ce80164ee1a8e2145b123af634a70929e6d9340e59189ea7e03e405c1a3e SHA512 e309cabdc2f8bd049c7b43e48a55898d1adeefbfedf2dc28785c57d9606030fd9c00769f88955d514e537f5ecdac49fd4297fb2cde5a575f2927a98b38b92829
|
||||
DIST cmu_indic_guj_dp.flitevox 10235186 BLAKE2B e609657306b1f8a99850b9d69ee6ad7d037f60537a7b5e63c8e9962001cf0c4b87771574f29570f8a58c7684d8b7293e54aba35e931c54c5a825ad59b8c6d595 SHA512 8ad73d24ebf6026daae701549b783441c522bbb0e2db958b139553446a8b488f068dc14c6136e3e98f564f27a4a62b086aa45d8dfb3cadd440d08db9e9faef3b
|
||||
DIST cmu_indic_guj_kt.flitevox 5912668 BLAKE2B c88682589165a45fafbe207521fa2612af784e07993806a969c5de6da4606a4604d91a294a59ffaf8674409cead131490d02d0e7d5e7c2030a3bb4652ddc016b SHA512 3ecda0b3d511072fec149ea4490870d1055ea683a49afa9910aa01204f5248b046fad845ae8523220ad044c08e95b36b72fbb2d33c566c21ed3412d50af2e1e0
|
||||
DIST cmu_indic_hin_ab.flitevox 30897320 BLAKE2B 6fd9cbbd123b48809657bf42368cdae25c394bb7e0eec1f09ca998a6036082036a8eda6e7b2667737c66e2744304a3f674b852c36c6b79e2a026faabb2190459 SHA512 c84a8a2e76ff237a9ab3678acddc8874e20be6693d3f00d08354537dc0ce7938059227024e89d9cd06aa1b16817a8d4c0b3872eae67c8980970226899bf0ed17
|
||||
DIST cmu_indic_kan_plv.flitevox 8901763 BLAKE2B 2f27e82eff5ff2c12c1ef0ea82c20ea007a7dfedffc3b9f4fbbb963ce4f19161b3ab06412200b43fb913d8ff454428a523140d33ac5ae0f36c9c0a178225d757 SHA512 590b292ff8e30b57555056869c9b7c886ff39a289b2a05ca7fad13f043880ebda83399d079e69f2a17318879699c5ecb897c99863b3f122a47488017dd52bdd2
|
||||
DIST cmu_indic_mar_aup.flitevox 11815465 BLAKE2B b79f5d7e1225f261ab932b659217c94a8fd858655d04feb29a72e77b74c48b10d656c9076e965d9981bd91c7357ee656a160586d9e063e2bda2017d01563bf2b SHA512 c15e73dfc20082bc837f9ecc86a12584628ddcaa3eb5ffa54b76270fb8bf48fb6f48652495421db494fa26a623324d6fd6ed219fc6eaf0ce77b3910a70989c6f
|
||||
DIST cmu_indic_mar_slp.flitevox 13418271 BLAKE2B fae872ba6b69036932dd32ce67ded8503a91e355bf2eccb526170f0a8fe8cfd2ed7cb8c4a886b12a8901ca4c4a2b22b2c8fae4e53a20ce250d6cc814afb34a08 SHA512 0674d39cbfd52bcf7a1eba289ba0fd364a8db875fa05ef461965e7fc3fd972cfdb2273670da047471439ec252a73a9cf734985f0e4ff6d6520ea5c44bf60711a
|
||||
DIST cmu_indic_pan_amp.flitevox 8035698 BLAKE2B dfa2415e9a97ffb7945c7d49d593a48a53402cd8abc0b5eb5f07c609e480cd113d27591d8623d6bd6fa2d0132be138e389c80fb5196bd7521b13513cc0a1271e SHA512 8cbcdb129e4e1269b59a45605dfbaee5471bddf128986e625b61356acb09ff188c95257acf9649881ba6e33e03c743e03c096cdc2619af24113493ca59060453
|
||||
DIST cmu_indic_tam_sdr.flitevox 11361848 BLAKE2B 156c894986ee75b72840b6543d1e8272a1dca3d008ce6981bbfd301f0848bb4948b91f32a92a1fdfe93c67cb1ba4a8aa3acc98672e985338050f577dc06a8437 SHA512 0bec074a52f2070e8d353cfd8f05bfb4dd20a90a75a68d6e5ab39a9d9cd432ce967931b35b498e35781c709e8feb1d8be9388da24567781542d3ecce255e91c0
|
||||
DIST cmu_indic_tel_kpn.flitevox 13379640 BLAKE2B 8543cce3a50add90bc62e1745e60c43d47c39d8ee45aaccea32d526feda285d3b49b043bb9608f82d441d0bc8decc987671dadfa1ba65eba6e44418ea9418763 SHA512 0d8c5d740d4ccee273ab6b9fe06d3448e0709ca1fa873355c4e8b76401b7ab3d86028ec7e456f1dbc7defaffdb756657b01bfcd70631452664dc83ed2f2df005
|
||||
DIST cmu_indic_tel_sk.flitevox 13740312 BLAKE2B ae96efc490e5bf17840c7bb94b4e88090e4370bdfa88fb50de7bdaa63135d6b270d943d3b8e61afb6436b4cefe0d2d1b7e3e4deaba79fb3ba19299addeeee25f SHA512 faf85d60298fdecfdb3469bcf644daef27a960ff6ff46929d61f3515420c308cf8cfe68cb4b577ffb35255daeaf5b9db2dc4b7a1625d20d5904e7255471afd0d
|
||||
DIST cmu_indic_tel_ss.flitevox 22656084 BLAKE2B c4f8b1a0b6f87d8c919f99ec22c212bf71d94214674d16131d1ba284b98b28e48d312f1c5220d9d6e27fc04c6fb078ea5d164ed44b799389214a4e02fb9edc6f SHA512 c3cac4bad3b70b2028f2189d9249bb4c4352904825d962366833fbdb4e1db5927f815a7476690ab735a3911fa914c6a21c2ab7e01850a7c5f926038824804662
|
||||
DIST cmu_us_aew.flitevox 12640161 BLAKE2B 4f2befb6198e1f6dcc022b7e14f8bab443c9953e3d3d7a0775e8cbd9be0e9637290779d6c4979fcf7a62057cb2d949ca68ebfc07ee01187eb3c6ab96c92c41a8 SHA512 e9778ced18d9203e810bc9a31bed0208f0db2d87f1a9540853f3ba7dae37e0d0dd4a0b36bba48fe737d59b096a40bf47473215bf8dcade2cf42a0f2a0c6232ed
|
||||
DIST cmu_us_ahw.flitevox 6949326 BLAKE2B 33cf69167c352c0f2615ce7faa835ea6fad9f4a7ae78ce1296ec1c0caf20a610f1e39b7edf70cf4f48932071819e0efddd4dd98d8574c9f38a37813228aa3004 SHA512 5c7751936818892b742fe09c0ad446e83c220c723888e364dd78cd8a7ef2eeeb0c87640cc0b9b96a33e862e942db3a4ce4685012ecf60f62e4a6fe55a0b6097a
|
||||
DIST cmu_us_aup.flitevox 5701990 BLAKE2B 8cf089166788c464e1e47fb73d7c8285922c8d26d48baa51d253c46a8b947063479f70ca2f44ef93879de6b659bcb6b927a2be57deb87990d981f2c3fedce6bc SHA512 08874c06e3d3a056211e14e69dff6563e41581b180d5c5a6f8625e8ce854b16d0ff37ba21a8e950cababd9d00ee242f58cbddc4385662b8743379c27901b30e3
|
||||
DIST cmu_us_awb.flitevox 11113361 BLAKE2B 0af4e9b88c828f50c04d3480ecab4cf3096b0040a102a478787458c88f95a1a024cbbe233200afef06c83d39aef9ebfdd65a01acdf9b07ebd187b9f967787dc6 SHA512 663427a5bfd296e3f72be931ac15fef58b3556a27a66f693f09afe139d3d8287cb6bf804d8a1556f271ae422ed175035df7c90771842a4d1b44211b1371c6e2c
|
||||
DIST cmu_us_axb.flitevox 7260569 BLAKE2B 48966bfc6477aeb4daeabf1215feb32dd390c0e08974e0b58d0d08ebc09ba4127db02d3f61fc2f1513480333ac445140ed895510c8958814873c7a117a7e941e SHA512 c680841b5cc3792a9cb4e4c8c5abdb4604986fc5b590865f513d1cb45f868d8072ade5502ac609a4ef930b219ab2db3abe804a82883441f143f5641a6b93107a
|
||||
DIST cmu_us_bdl.flitevox 10283514 BLAKE2B bfe3a7965a337848f98196f748efadc1212213b75bb2129bb3ff8f61d8f7c64bb0f5130c9210eb550a06262e59036ddd79310cb03dbc5ab55a925d80eb18cce9 SHA512 568b309aa98fe6a900a9b4f4bc585fd4d8b1a02aad3508720e30f3ab49c0ac1610830520c44621109fa90d4ed080b79085000f913a28461b7fc8a79900b14a63
|
||||
DIST cmu_us_clb.flitevox 12538083 BLAKE2B 7126dfb660369b91f4ee2aec5a8f8204fe729020c3262032c4db24aa979bb761a3dfacb84dab0228062588edfaf5111db9084e05556a82f45e50a9b9717643f1 SHA512 5dc64b22fcb75fe378a9ef0a627a2a3ce30cabfb49196adb21aaf94afe33c70ec563b30e95703ab255ac116040bfc43500b343b61a596c48705cccffb0bf6bde
|
||||
DIST cmu_us_eey.flitevox 6092398 BLAKE2B 02cbedb2a536beffa55c8c88cb5f328b5640fca8d24f3abcd07f169b782201982d97661f4a352f47c1966f00fb11aa789b3e0bb94916be1af7c8ee59ab1aebb6 SHA512 a433a7e752ac1fcc6ade1ec25e5c5564603317cdeb5995b1f8d5305abd49ae66f65b41068ba30f41d790a11ba4a0f28c178fcaa06cfd9329a43abdbff9ea699b
|
||||
DIST cmu_us_fem.flitevox 6193447 BLAKE2B 29e521df9366498e7df509943c12c8633719ce991d8cffe0ba3696bf6dbc2ca27bf5530688f3e4a8ce1b1a9571e667e2e0dc307fb3f1224796226b6f29cd6048 SHA512 127a5f413219497d9f49a1a257cb4f02480d59eecdf99f88cc8df08e43c442b862c19b6569b92a07e3d18f00d3f5a794eac0be4a4e251917019a6b56a212dc22
|
||||
DIST cmu_us_gka.flitevox 6902785 BLAKE2B 3340ece67511ab0f8264a820a2bd5cd05e1efeef7cd5263629f83860e30b1bef5684068ba59a35b9830a32057bb9a079e98b2f42037185013aa119b3b438204a SHA512 8d83460843b942ccc1fd74050bab4ce42e9e37e82e035ae07e7adfac1b4a67ac9d76958a154343f85fa3715f0d3911354b7a34eb0b4841046f3c452b313348b7
|
||||
DIST cmu_us_jmk.flitevox 10401617 BLAKE2B bad07f3fe90a07d7b8025bd8a95c4aebc0d46362b3cf0b50d6bdf4d0dec4bb78cc8bfc57313234536d7d01a0b6e27dcdb6029fd7b32d0fc121a8194787b720f0 SHA512 fc9f505cf088c6e9549c4aa77134de1c257fe099b03fa17ec178bb87022984f82d1eaa9ba40e9122d51d27645cc3aaa980e653a3d906c2de9de583e4264bf77e
|
||||
DIST cmu_us_ksp.flitevox 11765452 BLAKE2B bf2039a8c9c18b625ae0d1d364427db0f8d906f7a29d33bf533a5365e5cc20c0bc841d7c40da01d486090fd7ea7146dd48f892ef3970884a0a07c5bdd5ef857d SHA512 a0f88c312cd1551defa0b2a9c631748ef145d5671400bbcfe1e43adf98b6983622800067c82e9d40cc5ee082dbb8cff8c776c59582bef08dee4bccd12fbddda0
|
||||
DIST cmu_us_ljm.flitevox 5688553 BLAKE2B ab6f6d5991ffee9bfd6624c6da30561a85fc0e2e1b94336d0b2dc8a224c389a14394c503e55588ca5be96bde0e930d3411a15537a02551a06ab748b07a707a8e SHA512 1a7a7631856c6b11c8fafc849d401d92e5f74eea8558a43ce3d6cfc3335b4aee886e246665779c02734f532154dcb9371a505c1cb6e77bce0e15731952c1efae
|
||||
DIST cmu_us_lnh.flitevox 11903497 BLAKE2B 66b3e0aa9e2867ad608aaad8448c9d1b09c953e9453c2f9f3a1c1eb9d71bef921ce76d22e13ccef5bd5872bce518bdcdd5c7893774cc86e7bee1961f44af71a8 SHA512 7990182a5c5720a08b17f9bcf97d69b1eb6a7aa4f4815f2aa43b2c244a3f3165c32b687ece747b6dd751dc180b875fe10e16f5364e3b5c77d9e509d7afc2821c
|
||||
DIST cmu_us_rms.flitevox 12845352 BLAKE2B eb48a7bd29e70d9782e16de8ac28030639f336c6256fb51f6ebf8ed97c8fecae27991e3fe4a845784f0be31a53d419cf01f04fef5bdb56d5889fbea4865b3d72 SHA512 f5b42d56ef077164eb370459b6e9852e1385b5075d775727573f1c9a9de41a76db89bb14f342d5065c13d437ebc3f64005b30986e282c838d98ce2271e9e7283
|
||||
DIST cmu_us_rxr.flitevox 7645602 BLAKE2B 532ce8a72455a3d15728b799b8d9c15fcc7bc06e14bc8559fe9f8ce5ff537bfb6465f3069083ce45ff023c413ae6e7b7f19c1b19e010900f60bbdfb427d2370f SHA512 6f742bf4a94f72fb1383c60b2917f8001638c8ec2696b989c5ab2dd192cf4a08256e54fd5f8431a10ba164272e5bbfab474213b09d2dd3a2acf4bb4bdaca554e
|
||||
DIST cmu_us_slp.flitevox 7280743 BLAKE2B 99d5270f55374cad466de01b1764d1ffd072cd770d0630f30f96c13af44ac02bc841be5c7aff3fe189e1089e24544363093f4cab481ed1c018bf49c621591b4f SHA512 f19997ab1293bac785f8a8334512ae20d5c1feb20adac40fdc71da125069dedd1a8dc3c69b9247e20bc3f4db307be779e260172f5239622425603684766a5c44
|
||||
DIST cmu_us_slt.flitevox 11156032 BLAKE2B 909d4d2adf94d5b40aee4b85aefaf1e8383718f491f8cc9639e0a91baccdad42b1b8a91443e4faa51ad9e1c0e25b8474f9b97c5a8d792102f87815bcdabaf230 SHA512 a17994d46b910434803e185820ad27a18caa1195b61f64cdbba1d6992c1bd65b3425d9e4ba40c279bdb6bce53c6b3529496c28c631c1684808f6a83f10846c41
|
||||
DIST flite-1.4-release.tar.bz2 15163897 BLAKE2B 34b721ecd98a5699c352346528374df1c1e8395b815ea9026dbc6e4de7584bd93efb83d64fe1ec32bef03311c19920b18b198e2543dd2f010b0a3ca229337ad0 SHA512 eec1022077fb7a47db3848ae6944509e18a6c86a25aa24f921b8b6c2af708fc9811b287e76d96cf64fc68f8e1d0a43b7e878659f15bfcf76957eddd75e599112
|
||||
DIST flite-2.1-release.tar.bz2 14816327 BLAKE2B a23db51594ec94131112e0f007e1a9e4ee7170eaeda37ecc461c08a0e4defa0bfcde87ca01df765f0bc7b85cc6b3d4ec355830eae7dcb47d243d08b04772217b SHA512 e9ef9ca4b6920178634d94bbe6e21a8b0ec471b010b07e6cc961ed2d120acb944c8e1d268fe26188f7dfe43fb7bd4bdff7fa53b2d2f12029d37e08d0316620d2
|
||||
|
@ -0,0 +1,95 @@
|
||||
From 6e3c1a2fa29c066f7d1a25037a1f61cd295ac3af Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gevers <elbrus@debian.org>
|
||||
Date: Tue, 2 Jan 2018 19:58:18 +0100
|
||||
Subject: [PATCH] Improve internal linking
|
||||
|
||||
Building packages in Debian uses a tool to link libraries together at the
|
||||
package level. It emits warnings when unknonw symbols are found. E.g:
|
||||
|
||||
dpkg-shlibdeps: warning: symbol us_tokentowords used by debian/libflite1/usr/lib/x86_64-linux-gnu/libflite_cmu_indic_lang.so.2.0.0 found in none of the libraries
|
||||
---
|
||||
config/common_make_rules | 2 +-
|
||||
main/Makefile | 16 ++++++++++++++--
|
||||
2 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/config/common_make_rules b/config/common_make_rules
|
||||
index 7a03785..34434fd 100644
|
||||
--- a/config/common_make_rules
|
||||
+++ b/config/common_make_rules
|
||||
@@ -123,7 +123,7 @@ $(LIBDIR)/%.so: $(LIBDIR)/%.shared.a
|
||||
@ rm -rf shared_os && mkdir shared_os
|
||||
@ rm -f $@ $@.${PROJECT_VERSION} $@.${PROJECT_SHLIB_VERSION}
|
||||
@ (cd shared_os && ar x ../$<)
|
||||
- @ (cd shared_os && $(CC) -shared -Wl,-soname,`basename $@`.${PROJECT_SHLIB_VERSION} -o ../$@.${PROJECT_VERSION} *.os)
|
||||
+ @ (cd shared_os && $(CC) -shared -Wl,-soname,`basename $@`.${PROJECT_SHLIB_VERSION} -o ../$@.${PROJECT_VERSION} *.os $(LDFLAGS))
|
||||
@ (cd $(LIBDIR) && ln -s `basename $@.${PROJECT_VERSION}` `basename $@.${PROJECT_SHLIB_VERSION}` )
|
||||
@ (cd $(LIBDIR) && ln -s `basename $@.${PROJECT_SHLIB_VERSION}` `basename $@` )
|
||||
@ rm -rf shared_os
|
||||
diff --git a/main/Makefile b/main/Makefile
|
||||
index ff422e0..47b6344 100644
|
||||
--- a/main/Makefile
|
||||
+++ b/main/Makefile
|
||||
@@ -54,7 +54,8 @@ ALL = shared_libs \
|
||||
VOICES=$(VOXES)
|
||||
VOICELIBS=$(VOICES:%=flite_%)
|
||||
|
||||
-flite_LIBS = $(VOICELIBS) $(LANGS:%=flite_%) $(LEXES:%=flite_%) flite
|
||||
+flite_MODS = $(VOICELIBS) $(LANGS:%=flite_%) $(LEXES:%=flite_%)
|
||||
+flite_LIBS = flite $(flite_MODS)
|
||||
|
||||
flite_LIBS_flags = -L$(LIBDIR) $(flite_LIBS:%=-l%)
|
||||
flite_LIBS_deps = $(flite_LIBS:%=$(LIBDIR)/lib%.a)
|
||||
@@ -65,6 +66,10 @@ include $(TOP)/config/common_make_rules
|
||||
# so make clean can remove them
|
||||
SHAREDARLIBS= $(flite_LIBS:%=$(LIBDIR)/lib%.shared.a)
|
||||
SHAREDLIBS = $(SHAREDARLIBS:%.shared.a=%.so)
|
||||
+SHAREDMODS = $(flite_MODS:%=$(LIBDIR)/lib%.so)
|
||||
+SHAREDusenMODS = $(LIBDIR)/libflite_cmu_time_awb.so $(LIBDIR)/libflite_cmu_us_awb.so $(LIBDIR)/libflite_cmu_us_kal16.so $(LIBDIR)/libflite_cmu_us_kal.so $(LIBDIR)/libflite_cmu_us_rms.so $(LIBDIR)/libflite_cmu_us_slt.so $(LIBDIR)/libflite_cmu_indic_lang.so
|
||||
+SHAREDcmulexMODS = $(LIBDIR)/libflite_cmu_time_awb.so $(LIBDIR)/libflite_cmu_us_awb.so $(LIBDIR)/libflite_cmu_us_kal16.so $(LIBDIR)/libflite_cmu_us_kal.so $(LIBDIR)/libflite_cmu_us_rms.so $(LIBDIR)/libflite_cmu_us_slt.so $(LIBDIR)/libflite_cmu_indic_lex.so
|
||||
+SHAREDindicMODS = $(LIBDIR)/libflite_cmu_indic_lex.so
|
||||
VERSIONSHAREDLIBS = $(SHAREDLIBS:%=%.${PROJECT_VERSION}) \
|
||||
$(SHAREDLIBS:%=%.${PROJECT_SHLIB_VERSION})
|
||||
|
||||
@@ -79,7 +84,14 @@ LOCAL_CLEAN = $(BINDIR)/flite$(EXEEXT) $(BINDIR)/flite_time$(EXEEXT) \
|
||||
flite_voice_list.c
|
||||
|
||||
ifdef SHFLAGS
|
||||
-flite_LIBS_flags += -Wl,-rpath $(LIBDIR)
|
||||
+$(SHAREDMODS): $(LIBDIR)/libflite.so
|
||||
+$(SHAREDMODS): LDFLAGS+=-L../$(LIBDIR) -lflite
|
||||
+$(SHAREDusenMODS): $(LIBDIR)/libflite_usenglish.so
|
||||
+$(SHAREDusenMODS): LDFLAGS+=-L../$(LIBDIR) -lflite_usenglish
|
||||
+$(SHAREDcmulexMODS): $(LIBDIR)/libflite_cmulex.so
|
||||
+$(SHAREDcmulexMODS): LDFLAGS+=-L../$(LIBDIR) -lflite_cmulex
|
||||
+$(SHAREDindicMODS): $(LIBDIR)/libflite_cmu_indic_lang.so
|
||||
+$(SHAREDindicMODS): LDFLAGS+=-L../$(LIBDIR) -lflite_cmu_indic_lang
|
||||
shared_libs: $(SHAREDLIBS)
|
||||
else
|
||||
shared_libs: nothing
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From d673f65b2c4a8cd3da7447079309a6dc4bcf1a5e Mon Sep 17 00:00:00 2001
|
||||
From: Alan W Black <awb@cs.cmu.edu>
|
||||
Date: Sun, 4 Mar 2018 08:55:40 -0500
|
||||
Subject: [PATCH] get libs in the right order
|
||||
|
||||
---
|
||||
main/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/main/Makefile b/main/Makefile
|
||||
index 47b6344..1da18a8 100644
|
||||
--- a/main/Makefile
|
||||
+++ b/main/Makefile
|
||||
@@ -55,7 +55,7 @@ VOICES=$(VOXES)
|
||||
VOICELIBS=$(VOICES:%=flite_%)
|
||||
|
||||
flite_MODS = $(VOICELIBS) $(LANGS:%=flite_%) $(LEXES:%=flite_%)
|
||||
-flite_LIBS = flite $(flite_MODS)
|
||||
+flite_LIBS = $(flite_MODS) flite
|
||||
|
||||
flite_LIBS_flags = -L$(LIBDIR) $(flite_LIBS:%=-l%)
|
||||
flite_LIBS_deps = $(flite_LIBS:%=$(LIBDIR)/lib%.a)
|
||||
--
|
||||
2.24.1
|
@ -0,0 +1,13 @@
|
||||
diff --git a/lang/cmu_indic_lex/cmu_indic_lex.c b/lang/cmu_indic_lex/cmu_indic_lex.c
|
||||
index e0ae73f..f48ffe6 100644
|
||||
--- a/lang/cmu_indic_lex/cmu_indic_lex.c
|
||||
+++ b/lang/cmu_indic_lex/cmu_indic_lex.c
|
||||
@@ -283,6 +283,8 @@ static int cmu_indic_get_char_type(const cst_val *indic_char)
|
||||
return cmu_indic_offset_char[c].type;
|
||||
}
|
||||
|
||||
+int indic_digit_to_offset(const char *ind_digit);
|
||||
+
|
||||
static int indic_text_splitable(const char *s,int i,int len1)
|
||||
{
|
||||
/* Returns true only if this and next chars are not both digits */
|
@ -0,0 +1,129 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit autotools multilib-minimal
|
||||
|
||||
DESCRIPTION="Flite text to speech engine"
|
||||
HOMEPAGE="http://www.festvox.org/flite/ https://github.com/festvox/flite"
|
||||
SRC_URI=" http://www.festvox.org/${PN}/packed/${P}/${P}-release.tar.bz2
|
||||
voices? (
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_ben_rm.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_guj_ad.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_guj_dp.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_guj_kt.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_hin_ab.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_kan_plv.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_mar_aup.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_mar_slp.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_pan_amp.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_tam_sdr.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_tel_kpn.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_tel_sk.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_indic_tel_ss.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_aew.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_ahw.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_aup.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_awb.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_axb.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_bdl.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_clb.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_eey.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_fem.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_gka.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_jmk.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_ksp.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_ljm.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_lnh.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_rms.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_rxr.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_slp.flitevox
|
||||
http://www.festvox.org/${PN}/packed/${P}/voices/cmu_us_slt.flitevox
|
||||
)"
|
||||
|
||||
LICENSE="BSD freetts public-domain regexp-UofT BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="alsa oss pulseaudio voices"
|
||||
|
||||
DEPEND="
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
!pulseaudio? ( alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-Only-write-audio-data-to-a-temporariy-file-in-debug-.patch
|
||||
"${FILESDIR}"/${P}-Improve-internal-linking.patch
|
||||
"${FILESDIR}"/${PN}-1.4-audio-interface.patch
|
||||
"${FILESDIR}"/${P}-prototype.patch
|
||||
)
|
||||
|
||||
S=${WORKDIR}/${P}-release
|
||||
|
||||
get_audio() {
|
||||
if use pulseaudio; then
|
||||
echo pulseaudio
|
||||
elif use alsa; then
|
||||
echo alsa
|
||||
elif use oss; then
|
||||
echo oss
|
||||
else
|
||||
echo none
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
for file in ${A}; do
|
||||
case "${file}" in
|
||||
*.flitevox)
|
||||
cp -av "${DISTDIR}/${file}" "${WORKDIR}/" || die "Unable to copy ${file}"
|
||||
;;
|
||||
*)
|
||||
unpack "${file}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i main/Makefile \
|
||||
-e '/-rpath/s|$(LIBDIR)|$(INSTALLLIBDIR)|g' \
|
||||
|| die
|
||||
mv configure.{in,ac} || die
|
||||
eautoreconf
|
||||
|
||||
# custom makefiles
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--enable-shared
|
||||
--with-audio=$(get_audio)
|
||||
)
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc ACKNOWLEDGEMENTS README.md
|
||||
|
||||
rm -rf "${D}"/usr/lib*/*.a
|
||||
|
||||
if use voices; then
|
||||
insinto /usr/share/flite
|
||||
doins "${WORKDIR}"/*.flitevox
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ "$(get_audio)" = "none" ]]; then
|
||||
ewarn "flite is built without audio support. Enable the"
|
||||
ewarn "alsa, oss, or pulseaudio USE flags for audio support."
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,29 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
MY_PN="PackageKit-Qt"
|
||||
MY_P=${MY_PN}-${PV}
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Qt PackageKit backend library"
|
||||
HOMEPAGE="https://www.freedesktop.org/software/PackageKit/"
|
||||
SRC_URI="https://github.com/hughsie/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="amd64 ~arm x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=app-admin/packagekit-base-0.9
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
Binary file not shown.
@ -0,0 +1,27 @@
|
||||
From 641d3f489cf6238bb916368d4ba0d9325a235afb Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Poznyakoff <gray@gnu.org>
|
||||
Date: Mon, 20 Jan 2020 07:45:39 +0200
|
||||
Subject: Minor fix * src/global.c: Remove superfluous declaration of
|
||||
program_name
|
||||
|
||||
---
|
||||
src/global.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/src/global.c b/src/global.c
|
||||
index fb3abe9..acf92bc 100644
|
||||
--- a/src/global.c
|
||||
+++ b/src/global.c
|
||||
@@ -184,9 +184,6 @@ unsigned int warn_option = 0;
|
||||
/* Extract to standard output? */
|
||||
bool to_stdout_option = false;
|
||||
|
||||
-/* The name this program was run with. */
|
||||
-char *program_name;
|
||||
-
|
||||
/* A pointer to either lstat or stat, depending on whether
|
||||
dereferencing of symlinks is done for input files. */
|
||||
int (*xstat) ();
|
||||
--
|
||||
cgit v1.2.1
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 55fa0fb287e7fb7cee336cac0a6c1a94e505dc84 Mon Sep 17 00:00:00 2001
|
||||
From: David Seifert <soap@gentoo.org>
|
||||
Date: Wed, 19 Feb 2020 13:18:18 +0100
|
||||
Subject: [PATCH] Fix compiling with GCC 10
|
||||
|
||||
* GCC 10 defaults to `-fno-common`.
|
||||
|
||||
Bug: https://bugs.gentoo.org/706728
|
||||
---
|
||||
src/fr-application.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/fr-application.c b/src/fr-application.c
|
||||
index c148c4f9..00ebe552 100644
|
||||
--- a/src/fr-application.c
|
||||
+++ b/src/fr-application.c
|
||||
@@ -42,7 +42,6 @@
|
||||
#define SERVICE_TIMEOUT 10
|
||||
|
||||
|
||||
-gint ForceDirectoryCreation;
|
||||
static char **remaining_args;
|
||||
static char *arg_add_to = NULL;
|
||||
static int arg_add = FALSE;
|
||||
--
|
||||
2.25.1
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
DIST genymotion-3.0.3-linux_x64.bin 38760629 BLAKE2B 1853f5f631c8343eafa92fcd7fd42ad7663e78cc8a3848f7aa9d2ccf61009fc4e8955930142af35c4f2f9bbb9704260882e65fa0dc5e43c5d8d45e14f43218bc SHA512 8a3d5f57cb6c5018ae78940187a8c48bc19a7627f72ab746fc361afd3400a14b4f6ce2d036c828bd238b65d5346cffdf2dd55b5177c6d909b7fd749f4088d748
|
||||
DIST genymotion-3.0.4-linux_x64.bin 38811828 BLAKE2B 6b8c2aa824bc232d09b43e1c69c1531d447bfc3341ea83a277058198f812d66e9e900abb7186d1c4a45c9e12c92ebec7c809e1641d0e3e30edf77c52fa1818e7 SHA512 28bebf3468049b5eeda9890167f89a0537fa21a42eacd3c30ae9a40616fd215282075853f35179fa40b21b124f400106d82e1cfb4949fffca741ed83ba69417b
|
||||
|
Binary file not shown.
@ -1,96 +0,0 @@
|
||||
# Copyright 2019-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Auto-Generated by cargo-ebuild 0.2.0
|
||||
|
||||
EAPI=7
|
||||
|
||||
CRATES="
|
||||
ansi_term-0.11.0
|
||||
arrayref-0.3.5
|
||||
arrayvec-0.4.12
|
||||
atty-0.2.13
|
||||
autocfg-0.1.7
|
||||
backtrace-0.3.40
|
||||
backtrace-sys-0.1.32
|
||||
base64-0.10.1
|
||||
bitflags-1.2.1
|
||||
blake2b_simd-0.5.8
|
||||
byteorder-1.3.2
|
||||
cc-1.0.46
|
||||
cfg-if-0.1.10
|
||||
clap-2.33.0
|
||||
cloudabi-0.0.3
|
||||
constant_time_eq-0.1.4
|
||||
crossbeam-utils-0.6.6
|
||||
dirs-1.0.5
|
||||
dtoa-0.4.4
|
||||
failure-0.1.6
|
||||
failure_derive-0.1.6
|
||||
fuchsia-cprng-0.1.1
|
||||
heck-0.3.1
|
||||
lazy_static-1.4.0
|
||||
libc-0.2.65
|
||||
linked-hash-map-0.5.2
|
||||
nodrop-0.1.14
|
||||
proc-macro2-0.4.30
|
||||
proc-macro2-1.0.6
|
||||
quote-0.6.13
|
||||
quote-1.0.2
|
||||
rand-0.6.5
|
||||
rand_chacha-0.1.1
|
||||
rand_core-0.3.1
|
||||
rand_core-0.4.2
|
||||
rand_hc-0.1.0
|
||||
rand_isaac-0.1.1
|
||||
rand_jitter-0.1.4
|
||||
rand_os-0.1.3
|
||||
rand_pcg-0.1.2
|
||||
rand_xorshift-0.1.1
|
||||
rdrand-0.4.0
|
||||
redox_syscall-0.1.56
|
||||
redox_users-0.3.1
|
||||
rpick-0.4.0
|
||||
rust-argon2-0.5.1
|
||||
rustc-demangle-0.1.16
|
||||
serde-1.0.102
|
||||
serde_derive-1.0.102
|
||||
serde_yaml-0.8.11
|
||||
strsim-0.8.0
|
||||
structopt-0.2.18
|
||||
structopt-derive-0.2.18
|
||||
syn-0.15.44
|
||||
syn-1.0.7
|
||||
synstructure-0.12.1
|
||||
textwrap-0.11.0
|
||||
unicode-segmentation-1.5.0
|
||||
unicode-width-0.1.6
|
||||
unicode-xid-0.1.0
|
||||
unicode-xid-0.2.0
|
||||
vec_map-0.8.1
|
||||
winapi-0.3.8
|
||||
winapi-i686-pc-windows-gnu-0.4.0
|
||||
winapi-x86_64-pc-windows-gnu-0.4.0
|
||||
yaml-rust-0.4.3
|
||||
"
|
||||
|
||||
inherit cargo
|
||||
|
||||
DESCRIPTION="Helps you pick items from a list by various algorithms"
|
||||
HOMEPAGE="https://gitlab.com/bowlofeggs/rpick"
|
||||
SRC_URI="$(cargo_crate_uris ${CRATES})"
|
||||
|
||||
LICENSE="GPL-3 Apache-2.0 BSD-2 CC0-1.0 ISC MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
DOCS=( CHANGELOG.md README.md )
|
||||
|
||||
# Rust packages ignore CFLAGS and LDFLAGS so let's silence the QA warnings
|
||||
QA_FLAGS_IGNORED="usr/bin/rpick"
|
||||
|
||||
src_install() {
|
||||
cargo_src_install
|
||||
|
||||
einstalldocs
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST screenfetch-3.8.0.tar.gz 71970 BLAKE2B 783d14bb30f5858f2f2f8ac81c6c8bca2fa4c1e7c9225d9ba13a7ace05c365459e277bea625b680fc3e3fedd0303507a583190d866627cedcb33e042aa8fdca7 SHA512 903f42e3bfcd719c4d6b91d10e5678063e223c2baa58214c7e8dae9ea925852f9e2c07ad90148e02d87ce5f9af7b989e80e93c2f569cd579e6f4f7d5c49c62f2
|
||||
DIST screenfetch-3.9.1.tar.gz 77350 BLAKE2B 10852e63c9ad615cea9a5e53374f16e2f3ac40074bc247c144c91b5e96e0040c6b6623d2a79300e859cef0d8eeb2e935aad585c73d668676dda388d5af6693b3 SHA512 e186901480dcad57b765052b1b156b7706a196ce0e08b6b88264912a5d2a1250e5014923312353a82ccabd8129d4d2421891f13fd34f0ed76c50ce9633207df0
|
||||
|
@ -1,35 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PN="${PN/f/F}"
|
||||
|
||||
DESCRIPTION="Bash Screenshot Information Tool"
|
||||
HOMEPAGE="https://github.com/KittyKatt/screenFetch"
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/KittyKatt/screenFetch.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="amd64 ~arm x86 ~x64-macos"
|
||||
SRC_URI="https://github.com/KittyKatt/screenFetch/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="curl X"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
curl? ( net-misc/curl )
|
||||
X? (
|
||||
media-gfx/scrot
|
||||
x11-apps/xdpyinfo
|
||||
)"
|
||||
|
||||
src_install() {
|
||||
newbin ${PN}-dev ${PN}
|
||||
einstalldocs
|
||||
}
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST mpibash-1.2.tar.gz 347083 BLAKE2B 75b79d8e1f418de8220ff502245bc094774984f4760d922297a2ad2fcdb7d87a4a5d28015fd2686fbc68939ac532551046f8a987166accaa8b96025cce9fc79e SHA512 db755dd2c6212a8d7dfd6cbff17d5dffcbc3b6a0286abdad4d2e21790453d2356e88c566abe4648da138d6964098fad581b8fd5beae1335f5787de92f4659104
|
||||
DIST mpibash-1.3.tar.gz 369803 BLAKE2B b1959deaa2d5b3bce1a66e5ef0ff41ad156093aec9cc1efcd12873b6d5814ad1586ff951d6fd7f37dab6a55040378774b435edc4e2c8892952480539864f91fa SHA512 4728565239aae80013322231a928fd1e9a59484614a92cf7e314d0cd5c090d3a47de395507ce52f71a6900245855089d659c6509f8c4df3bfd88e46fc2187749
|
||||
|
@ -0,0 +1,24 @@
|
||||
From 0b396b62ac314ae509ac3ca5fa9d5119e862be51 Mon Sep 17 00:00:00 2001
|
||||
From: Scott Pakin <pakin@lanl.gov>
|
||||
Date: Wed, 19 Feb 2020 13:43:40 -0700
|
||||
Subject: [PATCH] Replace deprecated MPI_Errhandler_set with newer
|
||||
MPI_Comm_set_errhandler
|
||||
|
||||
Resolves #17.
|
||||
---
|
||||
src/init.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/init.c b/src/init.c
|
||||
index cd070a7..46b1127 100644
|
||||
--- a/src/init.c
|
||||
+++ b/src/init.c
|
||||
@@ -77,7 +77,7 @@ mpi_init_builtin (WORD_LIST *list)
|
||||
|
||||
/* Make MPI errors return instead of crash. Also, store our rank
|
||||
* and number of ranks. */
|
||||
- MPI_Errhandler_set (MPI_COMM_WORLD, MPI_ERRORS_RETURN);
|
||||
+ MPI_Comm_set_errhandler (MPI_COMM_WORLD, MPI_ERRORS_RETURN);
|
||||
MPI_Comm_rank (MPI_COMM_WORLD, &mpibash_rank);
|
||||
MPI_Comm_size (MPI_COMM_WORLD, &mpibash_num_ranks);
|
||||
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools-utils multilib
|
||||
|
||||
if [[ ${PV} = 9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/lanl/MPI-Bash.git"
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
else
|
||||
SRC_URI="https://github.com/lanl/MPI-Bash/releases/download/v${PV}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Parallel scripting right from the Bourne-Again Shell (Bash)"
|
||||
HOMEPAGE="https://github.com/lanl/MPI-Bash"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="examples"
|
||||
|
||||
DEPEND="virtual/mpi
|
||||
>=app-shells/bash-4.2[plugins]
|
||||
sys-cluster/libcircle"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--with-bashdir="${EPREFIX}"/usr/include/bash-plugins
|
||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/bash
|
||||
)
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
autotools-utils_src_install
|
||||
sed -i '/^export LD_LIBRARY_PATH/d' "${ED}/usr/bin/${PN}" || die
|
||||
use examples || rm -r "${ED}/usr/share/doc/${PF}/examples" || die
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,5 +1,3 @@
|
||||
DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1
|
||||
DIST mysql-workbench-community-8.0.16-src.tar.gz 15653536 BLAKE2B c76cd35e88167641037a779b85245c620b31e2a2943260309d8ba461391892d9ec5856023c8eb25e1ea40c12ece796a1d2e36f1638187db4bd2739eb273232c9 SHA512 e9495e78aec58f70cc586ad73908408d3b8d5071c815279c1019d5268c97f53f10f4e59a47fe0ffea03b795de8e283c1175e03e2585a81fc58b62461d665cfe9
|
||||
DIST mysql-workbench-community-8.0.17-src.tar.gz 15777302 BLAKE2B ba1aebfc5f9b55e88529bdbc5ebe42da594fce1da0ea64bd0153294293fe4c2533bbc00aac9c1ba0942577eff90c1b522ef1af803e56edf0c361876ac5dea764 SHA512 c7b5f68e4a2fe30d33fde5f18a03342e034a8c10edc2506278dc09751f264884f1dba3d68c430594ac09d26b692465409d2189c2b2a440d80aca7ad00188a39f
|
||||
DIST mysql-workbench-community-8.0.18-src.tar.gz 15513209 BLAKE2B decacee6ff3e30435fd0d198dc6efd95bf1342318adda977de64afda68d0c982de27dc8a811422f8ecf66a4436b406b63a2ab6c1c5541febdcacd79961a34574 SHA512 dbc633a74bc5ce5b46de410b52cb1bd7a81ebc21d57ae75ccd5b50476b557e412f6e21820fb9cc0f499dbcfb28a6975d2fe86531eeccfb90b674ffc6512319db
|
||||
DIST mysql-workbench-community-8.0.19-src.tar.gz 19391463 BLAKE2B f9374c234a75851784c940f8288a783ee1c02fe4be2973b174a0d3768a60dd5318ceea7d2dacb083376c83c33bed8fca02768bcf4f3b8ba6284ca78fc7910cfe SHA512 986a34328ec3b9aba1532cfd8792fb970fe3c71eda577988a17a6bca25e783a520878067acd097a74ca3f274f02d271af16d7d6beb6970bca48332721021eebc
|
||||
|
@ -0,0 +1,33 @@
|
||||
From 5b79460bdda286ca988b39e93e446176e8a781d1 Mon Sep 17 00:00:00 2001
|
||||
From: Neel Patel <neel.patel@enterprisedb.com>
|
||||
Date: Fri, 20 Jul 2018 13:35:35 +0100
|
||||
Subject: [PATCH] Link with pthreads on non-Windows and non-macOS platforms.
|
||||
|
||||
Patch based on feedback and initial work by Christoph Berg.
|
||||
---
|
||||
CMakeLists.txt | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 1be24da..6f1eaa0 100755
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -134,9 +134,15 @@ IF(WIN32)
|
||||
ENDIF(WIN32)
|
||||
|
||||
ADD_EXECUTABLE(pgagent ${_srcs})
|
||||
+IF(UNIX AND NOT APPLE)
|
||||
+TARGET_LINK_LIBRARIES(
|
||||
+ pgagent ${PG_LIBRARIES} ${Boost_LIBRARIES} -pthread
|
||||
+)
|
||||
+ELSE()
|
||||
TARGET_LINK_LIBRARIES(
|
||||
pgagent ${PG_LIBRARIES} ${Boost_LIBRARIES}
|
||||
)
|
||||
+ENDIF()
|
||||
|
||||
# Installation
|
||||
IF (WIN32)
|
||||
--
|
||||
2.24.1
|
||||
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
CMAKE_IN_SOURCE_BUILD=1
|
||||
|
||||
inherit cmake-utils user
|
||||
|
||||
MY_PN=${PN/a/A}
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DESCRIPTION="${MY_PN} is a job scheduler for PostgreSQL"
|
||||
HOMEPAGE="https://www.pgadmin.org/download/pgagent-source-code/"
|
||||
SRC_URI="https://ftp.postgresql.org/pub/pgadmin/${PN}/${MY_PN}-${PV}-Source.tar.gz"
|
||||
|
||||
LICENSE="POSTGRESQL GPL-2"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="dev-db/postgresql:*
|
||||
dev-libs/boost
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}-Source"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/pgagent-4.0.0-pthreads-linking.patch )
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
sed -e "s:share):share/${P}):" \
|
||||
-i CMakeLists.txt || die "failed to patch CMakeLists.txt"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
mycmakeargs=( "-DSTATIC_BUILD:BOOLEAN=FALSE"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
|
||||
newinitd "${FILESDIR}/pgagent.initd-r1" "${PN}"
|
||||
newconfd "${FILESDIR}/pgagent.confd" "${PN}"
|
||||
|
||||
rm "${ED}"/usr/{LICENSE,README} || die "failed to remove useless docs"
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# This user needs a real shell, and the daemon will use the
|
||||
# ~/.pgpass file from its home directory.
|
||||
enewuser pgagent -1 /bin/bash /home/pgagent
|
||||
}
|
@ -1,20 +1,26 @@
|
||||
DIST postgresql-10.10.tar.bz2 19012049 BLAKE2B 44ed5cfe2dc57ff3533faa1e921c981e0e437fe19adccc2ad87b939ec0c1bd5772ed8b0d6a7815dfc70c15149725250cb9431d58388fd3331a2bc2623b9959fb SHA512 60cafe4b27a194949aff482dcce4fa096a9916f37205868437a32afb8964df71934b619a0b891fe85eb7c7f9b11775cffbbedca589e78feb6c4184eb224b48bc
|
||||
DIST postgresql-10.11.tar.bz2 19017947 BLAKE2B 952d0fc76b665545eb512e0a6df6d2dafe0eaec4bdc774968d0a49dd6f6873b35a317ca6fd2bd74f36864d10f5a61e1920440e066522f982d0a7f1ce285143a9 SHA512 ce90b34e74d423b6db1f0e840b8e09579965c020fa2cfe3e567b604d3354d91e00a4347d559876be829aa89db44f84736e154495708ba9908f1d850446a1fc7b
|
||||
DIST postgresql-10.12.tar.bz2 19020488 BLAKE2B 2177e9b63e21a634e1d8ea060b5bd0a7360d81ece64f50dd614e6cdd6b0cf0dcbd3896ef2c11bd1431ce7a964ac8876d24f368d7f7eb309e3d432856d7546f2a SHA512 6accc66cbbae811509095c33e8a8d17ddd11d9e307267312e3d09df90469db4700a5806166d66f25d77769d3ef88653c98dfc7d05dd053f10434b03e0a9e33b7
|
||||
DIST postgresql-10.9.tar.bz2 18981395 BLAKE2B ef2ac003b393ea7cbf24c45fac6b3dc69df2a8694a9e891d5a68f7310d63fb816649d16a7351d03b63a4eb2256703efcab616a0146324478335267c39f3b9829 SHA512 4e2f30a0fd262f2e3ce5fc836425be635326600cd6cd4e117c57f59ea7ab2e9ea463a8d357fe7adb8c0dd0094e43d08efc2a137f8f9975715a5908e35920f98e
|
||||
DIST postgresql-11.4.tar.bz2 19759635 BLAKE2B a3f35df40d31dce52073eeacf4e16bc7ccb487dc0a6e15b84d087f04fd130b66b1168ece3edc63927c377ca1044b54ccb3db5fb9b4a5c86a5b0e179a6678c73c SHA512 159fb84134e05ddc58e40a879ca52ed4d58ced7bcd1e7310d59bda84f9055339a31a92cfaab2c063a88685f7417b9a828534394bf9a2477fc33d1fb6cd26186b
|
||||
DIST postgresql-11.5.tar.bz2 19773087 BLAKE2B 32dca67ddfe2f6a6801a5d82a25fe7df0cc2dd89c35eee87a57ebe6391b8d7d4bccc59d6cac3e821ad76731ab319e3303f2fcbce9ee8cda1cfef13b2185c0ab1 SHA512 537148079dc6c33cfb9bf9722171e524707b42ef01369deb968d0d6e8fa9b7f16f6ce67139d9dc45fb7385defbf56aa2c0affe5ee9d76e996f31e47486192141
|
||||
DIST postgresql-11.6.tar.bz2 19843202 BLAKE2B 379953e0a0abb5a5abb109370cf2b95979321524031fe754c0a5a2cde636b2fdafa1da9c9ee84638a884cec3a312607f8ac7da6b1817c3b700a44c3025fd1944 SHA512 de6833c0df8dbac7bc498ac573dc4c3645070d9bbdd6b5d89db3ef41e86e7fc19d5e6450aa46ee2a1392d86c33acf6b9364b2863caac49f45351a46647feecbd
|
||||
DIST postgresql-11.7.tar.bz2 19890063 BLAKE2B 461c372567ff0b4ff4da52889be5d2822b56889e4890b33c9a71f1105ad629b4f5bec95c4fbf5aebbdd4445e0ff451a7d8df04ae7b5bf7cf0075c3226a41b19b SHA512 32c7ace228f9895241ce0d925fbfc60c0cd39f4cd35368fb10dc7db046151ffd59a9895b4c30a529627f0103051e84b4992ed60312cccd292489f3037076ca1e
|
||||
DIST postgresql-12.0.tar.bz2 20177458 BLAKE2B 614222e43519a83044587981cb04ab7e437357d5b2784068d425aaeb67df54f44aef4aaaf780bd3f83f012c0fc8f41723bc83b6e44e7bf2707857c491b8d129b SHA512 231a0b5c181c33cb01c3f39de1802319b79eceec6997935ab8605dea1f4583a52d0d16e5a70fcdeea313462f062503361d543433ee03d858ba332c72a665f696
|
||||
DIST postgresql-12.1.tar.bz2 20213711 BLAKE2B 670e33c23a14527aedb694647ff2d2670df159352ef10c11e5895aafffaa752bd49ee7b1991262f4c7548dc8c617e06f651c6098a676b4462ed06e3982d0f5fa SHA512 f45b1762fd60b6f7419305d108b7fc521e3a7afa833d3aacccba814465baf40d19f57ff9bf2909d726c4c94a1cd99a39f1aa8e45fd0364cdedbcbed36ff48caf
|
||||
DIST postgresql-12.2.tar.bz2 20363545 BLAKE2B 7b0cfe841d46b117ff5dd793be5537e916f92255eb0d000681ed62c497eef34c5d1261126be408f2b7f95274485e2787869cd4063461ab248b650c168b62548d SHA512 0e0ce8e21856e8f43e58b840c10c4e3ffae6d5207e0d778e9176e36f8e20e34633cbb06f0030a7c963c3491bb7e941456d91b55444c561cfc6f283fba76f33ee
|
||||
DIST postgresql-9.4.22.tar.bz2 16848787 BLAKE2B 5c2aaef13ef0cf33c421e6839877a8e4e1fc5dbe41d9cabefddd369925869f92f6c6b8a124b5778f9b25359103f0a7ada1eddcaf4bac498709f563928f25e7e3 SHA512 f11623a89b2320616fd53eda52da544bdfcb63bff08cb78fccde134ef628eee7ee90b3de6952f4e08c10297d356624faabf0e5b181b0105f51797796cd04efef
|
||||
DIST postgresql-9.4.23.tar.bz2 16848808 BLAKE2B fd747fb3f6f540190ecbd53116ef7b8b812d05f5968e32c9d09c5902239eaf073281262dba9836514344303a3c894f48c617e050ce713be7c09f53ee49c7b3cd SHA512 b1eb392b939ac8369c76e4ecc142c78f380afc498b60ec0ea97acb16c21ffa5c11a24c2c46463032865955b7c531492c08feb6ef1efc46a549369f026594ea61
|
||||
DIST postgresql-9.4.24.tar.bz2 16842941 BLAKE2B 999a33addd493d1169ba3222a269fea827f4ed866453727bf9545d6a8873943d56b8e71773daf0f116150dc557afaf2e80dc570e8f351ba64b196ae8bcd8fbc9 SHA512 8e7b4da8a5cf48cf4d98cce117614f7ab594087d0002f996c1fedc2a38af6eaa663ad3ce67ced6d6b0fd6d0b00aee932025bf50a4314933ba535716577e9393f
|
||||
DIST postgresql-9.4.25.tar.bz2 16849015 BLAKE2B 1d843fe29cdb122515f2bded8a04489772f7c40aa54774a454fe0815cc1c6306b42ff3115e1dfb7dc93b483d62611f1e773436c1370462326678f78bc25f3827 SHA512 be45c47a17788be40a2beca058b5dcbf1ded985838d1c85229fbece174fca222d5ac07025c764d40c92f823d6bf784975a25b79a545b903434be8bcd24efb9a0
|
||||
DIST postgresql-9.4.26.tar.bz2 16871195 BLAKE2B f26fd335293669a815a51ceb994b66e154c66f96f91e4c68d7df3490ad25f4b0366ebf7bfe2b209ff34965ea27a08562ace050f40d49cec94eb576d7a1becd1c SHA512 7d379d139c7b2bdac1df38743cbb46a1790a8d5174e8cf1141b7b4febcbc8f612e347bf4d355684eef24dfc73bb2796f85fc532908f26ba7195c685f198cbb72
|
||||
DIST postgresql-9.5.17.tar.bz2 17563469 BLAKE2B d40b7f95d03db594144b4882f36bbe22f348faab0b8d67eda3f946448bb0e09188eccdeb4d1c92742fb29a920b30ede55e536a863b22d2009283eab66679122d SHA512 bb468528b1f18166cda0be136f31a632859ffe6e6800233b1cb0e91ce11d2d00d3dc108a74580b5552a4d30b9f1b6849c91576cd497beac788c429815c66eac5
|
||||
DIST postgresql-9.5.18.tar.bz2 17570161 BLAKE2B aee7e4570f2571e507fd972e86d3a6a9243d8fd33c356305998a8dce461bc9b06b45e1ff4267a9eb47f58a793c0b70bce0babfc0dce939cb34b1436a55a5d9fd SHA512 0487ac2891c800de045135d4b153659ec10c28750a09e0b87343f8e7145a11f1783ed0b6ca60829776faae1430c8050cc7661c780f171f1b2621f1673a32e6d1
|
||||
DIST postgresql-9.5.19.tar.bz2 17571998 BLAKE2B 24bd617ecef4d0add443d20ea3528eb8d48d83f31a3eaf726213c98211418efd2f35d846964049284332c9d20228308c7441cb3e8ee35f0188d060fc75239788 SHA512 46de40e49910311bf5291e1ece421ab9628641b18bf84cd1cb8093a584dd0358e3b6d2b086f82e9b06ce699a6e38018c3515ea591355078392e8d3d2fe4a7c64
|
||||
DIST postgresql-9.5.20.tar.bz2 17610134 BLAKE2B 26400eb8906186c3d1bb2ee1a16248540ed11d61445caf9d657dd47faabc2df8116ffa02727152d37bf88ac10f935887dc449bc421c605fa107bd5a24f38c3d5 SHA512 75558d05f6bee6fad65ad0b4dcb428b50bcf003c4fbd878747010988958464d7119dd8121a8817c3cad83c20bcae6cd550fc01fbca39f54e670d93fc70688bea
|
||||
DIST postgresql-9.5.21.tar.bz2 17640928 BLAKE2B 8ffcf0befc331317a32d63d3cdfe44f7743f72f18b4bc46bee5ee80f8c489b4b1ef26abc8219f277acc922657fc21e3dc31f3fc9838621f44d95cc9405fca43b SHA512 8527356ee3b4f151c832aef50a8b96e923e0a6c77e5fe6ad597f50527f9d084a8feab7bede8fdbe29aab44383577d3f86e5286fb34e2d2b696cde34bd922e69d
|
||||
DIST postgresql-9.6.13.tar.bz2 18767279 BLAKE2B c1ec780a7f938f878425cbd6556145e60a613135129daaacc52e9a699cc448a22481b01fac20d0c09373ea6a026f39bc58234aae4f1126333b94f621981a8135 SHA512 65cc70410ad4a1a738b92855b92eecdbb9efbbca0eb9a45a138d47b696c8f9c9cd19073fbfdf5c80eea7633d0be29b4ed8acbadd38724acf8f18c90bb30f9b26
|
||||
DIST postgresql-9.6.14.tar.bz2 18787744 BLAKE2B be5a0d90fe1cd5ea682d8446e512271175f705bc49514215535d7aa4b631669846c0bd6167f985028c07dc5d6d394a1ea809028c5a5e15a5f010e85c2bede8cf SHA512 dccc183a6992ef4ece4ef5c638339708ab484e571ecd66ed993c9071cd55f250b4277fd3367f9a5ee545aa83e29dc5f7a239200e200e3314d5acc847f35e790c
|
||||
DIST postgresql-9.6.15.tar.bz2 18799121 BLAKE2B 5dee0fac7592cecf4412deaef54cedbd86eb6081fc268b6ef8a5f01c31af930747749fb54a77d766e1d6ef705bab5d550a7bace25c86d201f25ed69163d920fc SHA512 cc35a059bf59ea3487c17a8432b791ca2a19afaa24b07403a8d33904b3a97ebe601e3036ca8ec766c54cb87a7def7d4618a425a4446e6832391185d7c71117db
|
||||
DIST postgresql-9.6.16.tar.bz2 18806372 BLAKE2B f5d7287264b05ab6bd157adf05d78597c7e7281ef40d4616ad66f2434a686c68845ad21883bcc97f6ea299a785109e1541d6c75e40ba383d80e9703331d9c624 SHA512 7083d670883b203946f68bcf1216dd1cbd904220b4c95e25855f9a8904334fd7e87509c905f589398ad7b165869b75288c2e4f49b14263ce4891347ecd4485b4
|
||||
DIST postgresql-9.6.17.tar.bz2 18812282 BLAKE2B 0bb48445201aae1d6b4f5a77652aefaaa629799a019c3b81a14e554a88167530002931c2b0d658731b26a38bd09487f79a6ef514b0955982d6037b383c021819 SHA512 a76f328523517f664e4fc59a4d27e476bc6300e49370712030caae40aa160acb1e6aecc7cd3b3440125713069932df812eb8d75377a3df63e59c9292419c2aa8
|
||||
|
@ -0,0 +1,466 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
|
||||
zh_TW"
|
||||
|
||||
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
|
||||
systemd user
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-macos ~x86-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 kernel_linux ldap libressl nls pam perl
|
||||
python +readline selinux +server systemd ssl static-libs tcl
|
||||
threads uuid xml zlib"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
CDEPEND="
|
||||
>=app-eselect/eselect-postgresql-2.0
|
||||
sys-apps/less
|
||||
virtual/libintl
|
||||
icu? ( dev-libs/icu:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
pam? ( sys-libs/pam )
|
||||
perl? ( >=dev-lang/perl-5.8:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
server? ( systemd? ( sys-apps/systemd ) )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
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,uclibc,musl} )
|
||||
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
|
||||
|
||||
nest_usedep() {
|
||||
local front back
|
||||
while [[ ${#} -gt 1 ]]; do
|
||||
front+="${1}? ( "
|
||||
back+=" )"
|
||||
shift
|
||||
done
|
||||
echo "${front}${1}${back}"
|
||||
}
|
||||
|
||||
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
|
||||
CDEPEND+="
|
||||
uuid? (
|
||||
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
|
||||
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
|
||||
)"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
!!<sys-apps/sandbox-2.0
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
nls? ( sys-devel/gettext )
|
||||
xml? ( virtual/pkgconfig )
|
||||
"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
!dev-db/postgresql-docs:${SLOT}
|
||||
!dev-db/postgresql-base:${SLOT}
|
||||
!dev-db/postgresql-server:${SLOT}
|
||||
selinux? ( sec-policy/selinux-postgresql )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
|
||||
|
||||
enewgroup postgres 70
|
||||
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
|
||||
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Work around PPC{,64} compilation bug where bool is already defined
|
||||
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
|
||||
|
||||
# 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}-10.2-no-server.patch"
|
||||
|
||||
if use pam ; then
|
||||
sed -e "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
|
||||
for i in ${BSD_LIBC[@]}; do
|
||||
use ${i} && uuid_config="--with-uuid=bsd"
|
||||
done
|
||||
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
|
||||
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
|
||||
--docdir="${PO}/usr/share/doc/${PF}" \
|
||||
--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_enable threads thread-safety) \
|
||||
$(use_with icu) \
|
||||
$(use_with kerberos gssapi) \
|
||||
$(use_with ldap) \
|
||||
$(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 nls "'$(l10n_get_locales)'")
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
emake -C contrib
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
emake DESTDIR="${D}" install -C contrib
|
||||
|
||||
dodoc README HISTORY doc/{TODO,bug.template}
|
||||
|
||||
# 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
|
||||
systemd_newtmpfilesd "${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 && systemd_tmpfiles_create ${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 "${DATA_DIR}"
|
||||
chown -Rf postgres:postgres "${DATA_DIR}"
|
||||
chmod 0700 "${DATA_DIR}"
|
||||
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
|
||||
|
||||
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
|
||||
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
|
||||
# On the off-chance that you might need to work with UTF-8 encoded
|
||||
# characters in PL/Perl
|
||||
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
|
||||
EOF
|
||||
|
||||
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
|
||||
}
|
@ -0,0 +1,468 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
|
||||
zh_TW"
|
||||
|
||||
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
|
||||
systemd user
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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="http://www.postgresql.org/"
|
||||
|
||||
IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
|
||||
perl python +readline selinux +server systemd ssl static-libs tcl
|
||||
threads uuid xml zlib"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
CDEPEND="
|
||||
>=app-eselect/eselect-postgresql-2.0
|
||||
sys-apps/less
|
||||
virtual/libintl
|
||||
icu? ( dev-libs/icu:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
llvm? (
|
||||
sys-devel/llvm:=
|
||||
sys-devel/clang:=
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
perl? ( >=dev-lang/perl-5.8:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
server? ( systemd? ( sys-apps/systemd ) )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
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,uclibc,musl} )
|
||||
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
|
||||
|
||||
nest_usedep() {
|
||||
local front back
|
||||
while [[ ${#} -gt 1 ]]; do
|
||||
front+="${1}? ( "
|
||||
back+=" )"
|
||||
shift
|
||||
done
|
||||
echo "${front}${1}${back}"
|
||||
}
|
||||
|
||||
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
|
||||
CDEPEND+="
|
||||
uuid? (
|
||||
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
|
||||
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
|
||||
)"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
!!<sys-apps/sandbox-2.0
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
nls? ( sys-devel/gettext )
|
||||
xml? ( virtual/pkgconfig )
|
||||
"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
!dev-db/postgresql-docs:${SLOT}
|
||||
!dev-db/postgresql-base:${SLOT}
|
||||
!dev-db/postgresql-server:${SLOT}
|
||||
selinux? ( sec-policy/selinux-postgresql )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
|
||||
|
||||
enewgroup postgres 70
|
||||
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
|
||||
|
||||
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}-11_beta1-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
|
||||
for i in ${BSD_LIBC[@]}; do
|
||||
use ${i} && uuid_config="--with-uuid=bsd"
|
||||
done
|
||||
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
|
||||
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
|
||||
--docdir="${PO}/usr/share/doc/${PF}" \
|
||||
--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_enable threads thread-safety) \
|
||||
$(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 nls "'$(l10n_get_locales)'")
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
emake -C contrib
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
emake DESTDIR="${D}" install -C contrib
|
||||
|
||||
dodoc README HISTORY doc/{TODO,bug.template}
|
||||
|
||||
# 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
|
||||
systemd_newtmpfilesd "${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 && systemd_tmpfiles_create ${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 "http://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 " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
|
||||
einfo " http://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
|
||||
|
||||
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
|
||||
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
|
||||
# On the off-chance that you might need to work with UTF-8 encoded
|
||||
# characters in PL/Perl
|
||||
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
|
||||
EOF
|
||||
|
||||
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
|
||||
}
|
@ -0,0 +1,468 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
|
||||
zh_TW"
|
||||
|
||||
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
|
||||
systemd user
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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="http://www.postgresql.org/"
|
||||
|
||||
IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
|
||||
perl python +readline selinux +server systemd ssl static-libs tcl
|
||||
threads uuid xml zlib"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
CDEPEND="
|
||||
>=app-eselect/eselect-postgresql-2.0
|
||||
sys-apps/less
|
||||
virtual/libintl
|
||||
icu? ( dev-libs/icu:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
llvm? (
|
||||
sys-devel/llvm:=
|
||||
sys-devel/clang:=
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
perl? ( >=dev-lang/perl-5.8:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
server? ( systemd? ( sys-apps/systemd ) )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
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,uclibc,musl} )
|
||||
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
|
||||
|
||||
nest_usedep() {
|
||||
local front back
|
||||
while [[ ${#} -gt 1 ]]; do
|
||||
front+="${1}? ( "
|
||||
back+=" )"
|
||||
shift
|
||||
done
|
||||
echo "${front}${1}${back}"
|
||||
}
|
||||
|
||||
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
|
||||
CDEPEND+="
|
||||
uuid? (
|
||||
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
|
||||
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
|
||||
)"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
!!<sys-apps/sandbox-2.0
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
nls? ( sys-devel/gettext )
|
||||
xml? ( virtual/pkgconfig )
|
||||
"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
!dev-db/postgresql-docs:${SLOT}
|
||||
!dev-db/postgresql-base:${SLOT}
|
||||
!dev-db/postgresql-server:${SLOT}
|
||||
selinux? ( sec-policy/selinux-postgresql )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
|
||||
|
||||
enewgroup postgres 70
|
||||
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
|
||||
|
||||
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
|
||||
for i in ${BSD_LIBC[@]}; do
|
||||
use ${i} && uuid_config="--with-uuid=bsd"
|
||||
done
|
||||
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
|
||||
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
|
||||
--docdir="${PO}/usr/share/doc/${PF}" \
|
||||
--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_enable threads thread-safety) \
|
||||
$(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 nls "'$(l10n_get_locales)'")
|
||||
}
|
||||
|
||||
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
|
||||
systemd_newtmpfilesd "${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 && systemd_tmpfiles_create ${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 "http://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 " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
|
||||
einfo " http://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
|
||||
|
||||
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
|
||||
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
|
||||
# On the off-chance that you might need to work with UTF-8 encoded
|
||||
# characters in PL/Perl
|
||||
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
|
||||
EOF
|
||||
|
||||
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
|
||||
}
|
@ -0,0 +1,480 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
|
||||
zh_TW"
|
||||
|
||||
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
|
||||
systemd user
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-macos ~x86-solaris"
|
||||
|
||||
SLOT=$(ver_cut 1-2)
|
||||
|
||||
SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
|
||||
|
||||
LICENSE="POSTGRESQL GPL-2"
|
||||
DESCRIPTION="PostgreSQL RDBMS"
|
||||
HOMEPAGE="https://www.postgresql.org/"
|
||||
|
||||
IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
|
||||
-pg_legacytimestamp python +readline selinux +server systemd ssl
|
||||
static-libs tcl threads uuid xml zlib"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
CDEPEND="
|
||||
>=app-eselect/eselect-postgresql-2.0
|
||||
sys-apps/less
|
||||
virtual/libintl
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
pam? ( sys-libs/pam )
|
||||
perl? ( >=dev-lang/perl-5.8:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
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,uclibc,musl} )
|
||||
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
|
||||
|
||||
nest_usedep() {
|
||||
local front back
|
||||
while [[ ${#} -gt 1 ]]; do
|
||||
front+="${1}? ( "
|
||||
back+=" )"
|
||||
shift
|
||||
done
|
||||
echo "${front}${1}${back}"
|
||||
}
|
||||
|
||||
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
|
||||
CDEPEND+="
|
||||
uuid? (
|
||||
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
|
||||
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
|
||||
)"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
!!<sys-apps/sandbox-2.0
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
nls? ( sys-devel/gettext )
|
||||
xml? ( virtual/pkgconfig )
|
||||
"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
!dev-db/postgresql-docs:${SLOT}
|
||||
!dev-db/postgresql-base:${SLOT}
|
||||
!dev-db/postgresql-server:${SLOT}
|
||||
selinux? ( sec-policy/selinux-postgresql )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
|
||||
|
||||
enewgroup postgres 70
|
||||
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
|
||||
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Work around PPC{,64} compilation bug where bool is already defined
|
||||
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
|
||||
|
||||
# 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}-9.4.10-no-server.patch"
|
||||
|
||||
if use pam ; then
|
||||
sed -e "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
|
||||
for i in ${BSD_LIBC[@]}; do
|
||||
use ${i} && uuid_config="--with-uuid=bsd"
|
||||
done
|
||||
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
|
||||
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
|
||||
--docdir="${PO}/usr/share/doc/${PF}" \
|
||||
--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 !pg_legacytimestamp integer-datetimes) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable threads thread-safety) \
|
||||
$(use_with kerberos gssapi) \
|
||||
$(use_with ldap) \
|
||||
$(use_with pam) \
|
||||
$(use_with perl) \
|
||||
$(use_with python) \
|
||||
$(use_with readline) \
|
||||
$(use_with ssl openssl) \
|
||||
$(use_with tcl) \
|
||||
${uuid_config} \
|
||||
$(use_with xml libxml) \
|
||||
$(use_with xml libxslt) \
|
||||
$(use_with zlib) \
|
||||
$(use_enable nls nls "'$(l10n_get_locales)'")
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
emake -C contrib
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
emake DESTDIR="${D}" install -C contrib
|
||||
|
||||
dodoc README HISTORY doc/{TODO,bug.template}
|
||||
|
||||
# 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
|
||||
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; 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
|
||||
|
||||
local f bn
|
||||
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
|
||||
-mindepth 1 -maxdepth 1)
|
||||
do
|
||||
bn=$(basename "${f}")
|
||||
# Temporarily tack on tmp to workaround a file collision
|
||||
# issue. This is only necessary for 9.7 and earlier. 10 never
|
||||
# had this issue.
|
||||
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
|
||||
"/usr/bin/${bn}${SLOT/.}tmp"
|
||||
done
|
||||
|
||||
if use doc ; then
|
||||
docinto html
|
||||
dodoc doc/src/sgml/html/*
|
||||
|
||||
docinto sgml
|
||||
dodoc doc/src/sgml/*.{sgml,dsl}
|
||||
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.2" | \
|
||||
systemd_newunit - ${PN}-${SLOT}.service
|
||||
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
|
||||
fi
|
||||
|
||||
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
|
||||
|
||||
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_preinst() {
|
||||
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
|
||||
# /usr/bin/psql96). They may have been created by the
|
||||
# postgresql.eselect module, but they're handled within this ebuild
|
||||
# now. It's alright if we momentarily delete /usr/bin/psql as it
|
||||
# will be recreated by the eselect module in pkg_ppostinst(). This
|
||||
# is only necessary for 9.7 and earlier. 10 and later were never
|
||||
# handled in this manner.
|
||||
local canonicalise
|
||||
if type -p realpath > /dev/null; then
|
||||
canonicalise=realpath
|
||||
elif type -p readlink > /dev/null; then
|
||||
canonicalise='readlink -f'
|
||||
else
|
||||
# can't die, subshell
|
||||
die "No readlink nor realpath found, cannot canonicalise"
|
||||
fi
|
||||
|
||||
local l
|
||||
# First remove any symlinks in /usr/bin that may have been created
|
||||
# by the old eselect
|
||||
for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
|
||||
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
|
||||
rm "${l}" || ewarn "Couldn't remove ${l}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Then move the symlinks created by the ebuild to their proper place.
|
||||
for l in "${ED}"/usr/bin/*tmp ; do
|
||||
mv "${l}" "${l%tmp}" \
|
||||
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use server && use systemd && systemd_tmpfiles_create ${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}"
|
||||
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 "${DATA_DIR}"
|
||||
chown -Rf postgres:postgres "${DATA_DIR}"
|
||||
chmod 0700 "${DATA_DIR}"
|
||||
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
|
||||
|
||||
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
|
||||
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
|
||||
# On the off-chance that you might need to work with UTF-8 encoded
|
||||
# characters in PL/Perl
|
||||
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
|
||||
EOF
|
||||
|
||||
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
|
||||
einfo "The PostgreSQL server, by default, will log events to:"
|
||||
einfo " ${DATA_DIR%/}/postmaster.log"
|
||||
einfo
|
||||
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}"
|
||||
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
|
||||
}
|
@ -0,0 +1,486 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
|
||||
zh_TW"
|
||||
|
||||
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
|
||||
systemd user
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-macos ~x86-solaris"
|
||||
|
||||
SLOT=$(ver_cut 1-2)
|
||||
|
||||
SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
|
||||
|
||||
LICENSE="POSTGRESQL GPL-2"
|
||||
DESCRIPTION="PostgreSQL RDBMS"
|
||||
HOMEPAGE="https://www.postgresql.org/"
|
||||
|
||||
IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
|
||||
-pg_legacytimestamp python +readline selinux +server systemd ssl
|
||||
static-libs tcl threads uuid xml zlib"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
CDEPEND="
|
||||
>=app-eselect/eselect-postgresql-2.0
|
||||
sys-apps/less
|
||||
virtual/libintl
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
pam? ( sys-libs/pam )
|
||||
perl? ( >=dev-lang/perl-5.8:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
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,uclibc,musl} )
|
||||
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
|
||||
|
||||
nest_usedep() {
|
||||
local front back
|
||||
while [[ ${#} -gt 1 ]]; do
|
||||
front+="${1}? ( "
|
||||
back+=" )"
|
||||
shift
|
||||
done
|
||||
echo "${front}${1}${back}"
|
||||
}
|
||||
|
||||
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
|
||||
CDEPEND+="
|
||||
uuid? (
|
||||
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
|
||||
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
|
||||
)"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
!!<sys-apps/sandbox-2.0
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
nls? ( sys-devel/gettext )
|
||||
xml? ( virtual/pkgconfig )
|
||||
"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
!dev-db/postgresql-docs:${SLOT}
|
||||
!dev-db/postgresql-base:${SLOT}
|
||||
!dev-db/postgresql-server:${SLOT}
|
||||
selinux? ( sec-policy/selinux-postgresql )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
|
||||
|
||||
enewgroup postgres 70
|
||||
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
|
||||
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Work around PPC{,64} compilation bug where bool is already defined
|
||||
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
|
||||
|
||||
# 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}-9.5.5-no-server.patch"
|
||||
|
||||
if use pam ; then
|
||||
sed -e "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
|
||||
for i in ${BSD_LIBC[@]}; do
|
||||
use ${i} && uuid_config="--with-uuid=bsd"
|
||||
done
|
||||
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
|
||||
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
|
||||
--docdir="${PO}/usr/share/doc/${PF}" \
|
||||
--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 !pg_legacytimestamp integer-datetimes) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable threads thread-safety) \
|
||||
$(use_with kerberos gssapi) \
|
||||
$(use_with ldap) \
|
||||
$(use_with pam) \
|
||||
$(use_with perl) \
|
||||
$(use_with python) \
|
||||
$(use_with readline) \
|
||||
$(use_with ssl openssl) \
|
||||
$(use_with tcl) \
|
||||
${uuid_config} \
|
||||
$(use_with xml libxml) \
|
||||
$(use_with xml libxslt) \
|
||||
$(use_with zlib) \
|
||||
$(use_enable nls nls "'$(l10n_get_locales)'")
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
emake -C contrib
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
emake DESTDIR="${D}" install -C contrib
|
||||
|
||||
dodoc README HISTORY doc/{TODO,bug.template}
|
||||
|
||||
# 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
|
||||
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; 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
|
||||
|
||||
local f bn
|
||||
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
|
||||
-mindepth 1 -maxdepth 1)
|
||||
do
|
||||
bn=$(basename "${f}")
|
||||
# Temporarily tack on tmp to workaround a file collision
|
||||
# issue. This is only necessary for 9.7 and earlier. 10 never
|
||||
# had this issue.
|
||||
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
|
||||
"/usr/bin/${bn}${SLOT/.}tmp"
|
||||
done
|
||||
|
||||
if use doc ; then
|
||||
docinto html
|
||||
dodoc doc/src/sgml/html/*
|
||||
|
||||
docinto sgml
|
||||
dodoc doc/src/sgml/*.{sgml,dsl}
|
||||
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.2" | \
|
||||
systemd_newunit - ${PN}-${SLOT}.service
|
||||
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
|
||||
fi
|
||||
|
||||
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
|
||||
|
||||
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_preinst() {
|
||||
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
|
||||
# /usr/bin/psql96). They may have been created by the
|
||||
# postgresql.eselect module, but they're handled within this ebuild
|
||||
# now. It's alright if we momentarily delete /usr/bin/psql as it
|
||||
# will be recreated by the eselect module in pkg_ppostinst(). This
|
||||
# is only necessary for 9.7 and earlier. 10 and later were never
|
||||
# handled in this manner.
|
||||
local canonicalise
|
||||
if type -p realpath > /dev/null; then
|
||||
canonicalise=realpath
|
||||
elif type -p readlink > /dev/null; then
|
||||
canonicalise='readlink -f'
|
||||
else
|
||||
# can't die, subshell
|
||||
die "No readlink nor realpath found, cannot canonicalise"
|
||||
fi
|
||||
|
||||
local l
|
||||
# First remove any symlinks in /usr/bin that may have been created
|
||||
# by the old eselect
|
||||
for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
|
||||
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
|
||||
rm "${l}" || ewarn "Couldn't remove ${l}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Then move the symlinks created by the ebuild to their proper place.
|
||||
for l in "${ED}"/usr/bin/*tmp ; do
|
||||
mv "${l}" "${l%tmp}" \
|
||||
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
|
||||
postgresql-config update
|
||||
|
||||
if use alpha && use server ; then
|
||||
ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
|
||||
ewarn "As a result, performance will be extremely degraded."
|
||||
fi
|
||||
|
||||
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}"
|
||||
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 "${DATA_DIR}"
|
||||
chown -Rf postgres:postgres "${DATA_DIR}"
|
||||
chmod 0700 "${DATA_DIR}"
|
||||
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
|
||||
|
||||
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
|
||||
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
|
||||
# On the off-chance that you might need to work with UTF-8 encoded
|
||||
# characters in PL/Perl
|
||||
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
|
||||
EOF
|
||||
|
||||
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
|
||||
einfo "The PostgreSQL server, by default, will log events to:"
|
||||
einfo " ${DATA_DIR%/}/postmaster.log"
|
||||
einfo
|
||||
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}"
|
||||
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
|
||||
}
|
@ -0,0 +1,491 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
|
||||
PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
|
||||
zh_TW"
|
||||
|
||||
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
|
||||
systemd user
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
SLOT=$(ver_cut 1-2)
|
||||
|
||||
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 kerberos kernel_linux ldap libressl nls pam perl
|
||||
-pg_legacytimestamp python +readline selinux +server systemd ssl
|
||||
static-libs tcl threads uuid xml zlib"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
CDEPEND="
|
||||
>=app-eselect/eselect-postgresql-2.0
|
||||
sys-apps/less
|
||||
virtual/libintl
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
pam? ( sys-libs/pam )
|
||||
perl? ( >=dev-lang/perl-5.8:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
server? ( systemd? ( sys-apps/systemd ) )
|
||||
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,uclibc,musl} )
|
||||
BSD_LIBC=( elibc_{Free,Net,Open}BSD )
|
||||
|
||||
nest_usedep() {
|
||||
local front back
|
||||
while [[ ${#} -gt 1 ]]; do
|
||||
front+="${1}? ( "
|
||||
back+=" )"
|
||||
shift
|
||||
done
|
||||
echo "${front}${1}${back}"
|
||||
}
|
||||
|
||||
IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
|
||||
CDEPEND+="
|
||||
uuid? (
|
||||
${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
|
||||
$(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
|
||||
)"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
!!<sys-apps/sandbox-2.0
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
nls? ( sys-devel/gettext )
|
||||
xml? ( virtual/pkgconfig )
|
||||
"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
!dev-db/postgresql-docs:${SLOT}
|
||||
!dev-db/postgresql-base:${SLOT}
|
||||
!dev-db/postgresql-server:${SLOT}
|
||||
selinux? ( sec-policy/selinux-postgresql )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
|
||||
|
||||
enewgroup postgres 70
|
||||
enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
|
||||
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Work around PPC{,64} compilation bug where bool is already defined
|
||||
sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
|
||||
|
||||
# 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}-${SLOT}.3-no-server.patch"
|
||||
|
||||
if use pam ; then
|
||||
sed -e "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
|
||||
for i in ${BSD_LIBC[@]}; do
|
||||
use ${i} && uuid_config="--with-uuid=bsd"
|
||||
done
|
||||
[[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
|
||||
--datadir="${PO}/usr/share/postgresql-${SLOT}" \
|
||||
--docdir="${PO}/usr/share/doc/${PF}" \
|
||||
--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 !pg_legacytimestamp integer-datetimes) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable threads thread-safety) \
|
||||
$(use_with kerberos gssapi) \
|
||||
$(use_with ldap) \
|
||||
$(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 nls "'$(l10n_get_locales)'")
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
emake -C contrib
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
emake DESTDIR="${D}" install -C contrib
|
||||
|
||||
dodoc README HISTORY doc/{TODO,bug.template}
|
||||
|
||||
# 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
|
||||
for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; 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
|
||||
|
||||
local f bn
|
||||
for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
|
||||
-mindepth 1 -maxdepth 1)
|
||||
do
|
||||
bn=$(basename "${f}")
|
||||
# Temporarily tack on tmp to workaround a file collision
|
||||
# issue. This is only necessary for 9.7 and earlier. 10 never
|
||||
# had this issue.
|
||||
dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
|
||||
"/usr/bin/${bn}${SLOT/.}tmp"
|
||||
done
|
||||
|
||||
if use doc ; then
|
||||
docinto html
|
||||
dodoc doc/src/sgml/html/*
|
||||
|
||||
docinto sgml
|
||||
dodoc doc/src/sgml/*.{sgml,dsl}
|
||||
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
|
||||
systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
|
||||
fi
|
||||
|
||||
newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
|
||||
|
||||
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_preinst() {
|
||||
# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
|
||||
# /usr/bin/psql96). They may have been created by the
|
||||
# postgresql.eselect module, but they're handled within this ebuild
|
||||
# now. It's alright if we momentarily delete /usr/bin/psql as it
|
||||
# will be recreated by the eselect module in pkg_ppostinst(). This
|
||||
# is only necessary for 9.7 and earlier. 10 and later were never
|
||||
# handled in this manner.
|
||||
local canonicalise
|
||||
if type -p realpath > /dev/null; then
|
||||
canonicalise=realpath
|
||||
elif type -p readlink > /dev/null; then
|
||||
canonicalise='readlink -f'
|
||||
else
|
||||
# can't die, subshell
|
||||
die "No readlink nor realpath found, cannot canonicalise"
|
||||
fi
|
||||
|
||||
local l
|
||||
# First remove any symlinks in /usr/bin that may have been created
|
||||
# by the old eselect
|
||||
for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
|
||||
if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
|
||||
rm "${l}" || ewarn "Couldn't remove ${l}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Then move the symlinks created by the ebuild to their proper place.
|
||||
for l in "${ED}"/usr/bin/*tmp ; do
|
||||
mv "${l}" "${l%tmp}" \
|
||||
|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use server && use systemd && systemd_tmpfiles_create ${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}"
|
||||
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 "${DATA_DIR}"
|
||||
chown -Rf postgres:postgres "${DATA_DIR}"
|
||||
chmod 0700 "${DATA_DIR}"
|
||||
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
|
||||
|
||||
cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
|
||||
# This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
|
||||
# On the off-chance that you might need to work with UTF-8 encoded
|
||||
# characters in PL/Perl
|
||||
plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
|
||||
EOF
|
||||
|
||||
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
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="A better pager for psql and mysql"
|
||||
HOMEPAGE="https://github.com/okbob/pspg"
|
||||
SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DEPEND="sys-libs/ncurses:*
|
||||
dev-db/postgresql:=
|
||||
sys-libs/readline:*"
|
||||
RDEPEND="${DEPEND}"
|
Binary file not shown.
@ -1,76 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit autotools eutils multilib
|
||||
|
||||
DESCRIPTION="A Debug Malloc Library"
|
||||
HOMEPAGE="http://dmalloc.com"
|
||||
SRC_URI="http://dmalloc.com/releases/${P}.tgz"
|
||||
|
||||
LICENSE="CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86"
|
||||
IUSE="static-libs threads"
|
||||
|
||||
DEPEND="sys-apps/texinfo"
|
||||
RDEPEND=""
|
||||
|
||||
DOCS=( NEWS README docs/NOTES docs/TODO )
|
||||
|
||||
src_prepare() {
|
||||
# - Build objects twice, once -fPIC for shared.
|
||||
# - Use DESTDIR.
|
||||
# - Fix SONAME and NEEDED.
|
||||
epatch "${FILESDIR}"/${P}-Makefile.in.patch
|
||||
# - Broken test, always returns false.
|
||||
epatch "${FILESDIR}"/${P}-cxx.patch
|
||||
# - Add threads support.
|
||||
use threads && epatch "${FILESDIR}"/${P}-threads.patch
|
||||
# Respect CFLAGS/LDFLAGS. #337429
|
||||
sed -i Makefile.in \
|
||||
-e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
|
||||
|| die "sed Makefile.in"
|
||||
# - Run autoconf for -cxx.patch.
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf --enable-cxx --enable-shlib $(use_enable threads)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
cd docs
|
||||
makeinfo dmalloc.texi || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake heavy
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
newdoc ChangeLog.1 ChangeLog
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins docs/dmalloc.pdf
|
||||
dohtml RELEASE.html docs/dmalloc.html
|
||||
doinfo docs/dmalloc.info
|
||||
|
||||
# add missing symlinks, lazy
|
||||
dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
|
||||
dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
|
||||
|
||||
for lib in cxx th thcxx; do
|
||||
dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
|
||||
dosym lib${PN}${lib}.so.${PV} \
|
||||
/usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
|
||||
done
|
||||
|
||||
if ! use static-libs; then
|
||||
rm "${D}"/usr/$(get_libdir)/lib${PN}*.a || die
|
||||
fi
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
inherit autotools eutils multilib toolchain-funcs
|
||||
|
||||
DESCRIPTION="A Debug Malloc Library"
|
||||
HOMEPAGE="http://dmalloc.com"
|
||||
SRC_URI="http://dmalloc.com/releases/${P}.tgz"
|
||||
|
||||
LICENSE="CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
|
||||
IUSE="static-libs threads"
|
||||
|
||||
DEPEND="sys-apps/texinfo"
|
||||
RDEPEND=""
|
||||
|
||||
DOCS=( NEWS README docs/NOTES docs/TODO )
|
||||
|
||||
src_prepare() {
|
||||
# - Build objects twice, once -fPIC for shared.
|
||||
# - Use DESTDIR.
|
||||
# - Fix SONAME and NEEDED.
|
||||
epatch "${FILESDIR}"/${P}-Makefile.in.patch
|
||||
|
||||
# - Broken test, always returns false.
|
||||
epatch "${FILESDIR}"/${P}-cxx.patch
|
||||
epatch "${FILESDIR}"/${P}-ar.patch
|
||||
|
||||
# - Add threads support.
|
||||
use threads && epatch "${FILESDIR}"/${P}-threads.patch
|
||||
|
||||
# strdup() strndup() macros
|
||||
epatch "${FILESDIR}"/${P}-string-macros.patch
|
||||
|
||||
# Respect CFLAGS/LDFLAGS. #337429
|
||||
sed -i \
|
||||
-e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
|
||||
-e 's|ar cr|$(AR) cr|g' \
|
||||
Makefile.in || die
|
||||
|
||||
# Run autoconf for -cxx.patch.
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR
|
||||
econf --enable-cxx --enable-shlib $(use_enable threads)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
cd docs
|
||||
makeinfo dmalloc.texi || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake heavy
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
newdoc ChangeLog.1 ChangeLog
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins docs/dmalloc.pdf
|
||||
dohtml RELEASE.html docs/dmalloc.html
|
||||
doinfo docs/dmalloc.info
|
||||
|
||||
# add missing symlinks, lazy
|
||||
dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
|
||||
dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
|
||||
|
||||
for lib in cxx th thcxx; do
|
||||
dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
|
||||
dosym lib${PN}${lib}.so.${PV} \
|
||||
/usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
|
||||
done
|
||||
|
||||
if ! use static-libs; then
|
||||
rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
|
||||
fi
|
||||
}
|
@ -1,29 +1,38 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
EAPI=7
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit autotools subversion
|
||||
ESVN_PROJECT=g15tools/trunk
|
||||
ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
|
||||
else
|
||||
KEYWORDS="amd64 ppc ppc64 x86"
|
||||
SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
|
||||
HOMEPAGE="https://sourceforge.net/projects/g15tools/"
|
||||
SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc ppc64 x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="=virtual/libusb-0*"
|
||||
RDEPEND=${DEPEND}
|
||||
RDEPEND="virtual/libusb:0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( AUTHORS README ChangeLog )
|
||||
src_prepare() {
|
||||
default
|
||||
[[ ${PV} == *9999 ]] && eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-static
|
||||
econf --disable-static
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
find "${ED}" -name '*.la' -exec rm -f {} +
|
||||
# no static archives
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
||||
|
@ -1,51 +1,38 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
ESVN_PROJECT=g15tools/trunk
|
||||
ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
|
||||
EAPI=7
|
||||
|
||||
inherit subversion base eutils autotools
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit autotools subversion
|
||||
ESVN_PROJECT=g15tools/trunk
|
||||
ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
|
||||
else
|
||||
KEYWORDS="amd64 ppc ppc64 x86"
|
||||
SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
|
||||
HOMEPAGE="https://sourceforge.net/projects/g15tools/"
|
||||
[[ $PV = *9999* ]] || SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE=""
|
||||
|
||||
DEPEND="=virtual/libusb-0*"
|
||||
RDEPEND=${DEPEND}
|
||||
|
||||
DOCS=( AUTHORS README ChangeLog )
|
||||
|
||||
PATCHES=( "${FILESDIR}"/g15tools.patch )
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
subversion_src_unpack
|
||||
fi
|
||||
}
|
||||
RDEPEND="virtual/libusb:0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
subversion_wc_info
|
||||
fi
|
||||
base_src_prepare
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
eautoreconf
|
||||
fi
|
||||
default
|
||||
[[ ${PV} == *9999 ]] && eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-static
|
||||
econf --disable-static
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
find "${ED}" -name '*.la' -exec rm -f {} +
|
||||
# no static archives
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
||||
|
@ -1 +1,2 @@
|
||||
DIST libvarlink-16.tar.gz 56886 BLAKE2B 6c65199ced429eac733d1114cfad59c4514d299bd3bba0d4a9907498655545fd9edb9999428f39df936cd1e6710bacc08c04f05710e80f0ceb974b43809b9c22 SHA512 8152fc4fab4e9e829c2bc1585e479c23b0329c59da0be8712ff64dbbe01cde9630f228ac7edc06e9faa39dfd3d38007032ec6ed561e2363d4d33f65856f1a271
|
||||
DIST libvarlink-18.tar.gz 57708 BLAKE2B 035a3cad38d2429fa7a1bde049d6c5772ef10ef65040179839459d8672ef7fc619ff2a250ad48b108a9068c1f927226ad4ec08fa355b6c6f30a8ab8830422e9e SHA512 a0f2cfe6a3ce3e7c08b24436d4210691d6334ec903cb3d590627595ee3bda79bf4e22e7c72c7ea8ebe817e4e2b045f86d2603ae56b3fd7d429fd281fd7e5e2e8
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit meson
|
||||
|
||||
DESCRIPTION="C implementation of the Varlink protocol and command line tool"
|
||||
HOMEPAGE="https://github.com/varlink/libvarlink"
|
||||
SRC_URI="https://github.com/varlink/libvarlink/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
>=dev-util/meson-0.47.0
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Dtests="$(usex test true false)"
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
Description: fix FTBFS on architectures where char is unsigned
|
||||
Fix error
|
||||
base64.cxx:30:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
|
||||
by making Base64::sDecTable a signed char.
|
||||
Bug-Debian: https://bugs.debian.org/859963
|
||||
Forwarded: via email
|
||||
Author: gregor herrmann <gregoa@debian.org>
|
||||
Last-Update: 2017-04-10
|
||||
|
||||
--- a/mimetic/codec/base64.cxx
|
||||
+++ b/mimetic/codec/base64.cxx
|
||||
@@ -13,7 +13,7 @@
|
||||
"abcdefghijklmnopqrstuvwxyz"
|
||||
"0123456789+/=";
|
||||
|
||||
-const char Base64::sDecTable[] = {
|
||||
+const signed char Base64::sDecTable[] = {
|
||||
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
--- a/mimetic/codec/base64.h
|
||||
+++ b/mimetic/codec/base64.h
|
||||
@@ -20,7 +20,7 @@
|
||||
enum { default_maxlen = 76 };
|
||||
enum { eq_sign = 100 };
|
||||
static const char sEncTable[];
|
||||
- static const char sDecTable[];
|
||||
+ static const signed char sDecTable[];
|
||||
static const int sDecTableSz;
|
||||
public:
|
||||
class Encoder; class Decoder;
|
@ -1,45 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
|
||||
DESCRIPTION="Qt API for storing passwords securely"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
SRC_URI="https://github.com/frankosterfeld/qtkeychain/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 ~arm64 x86"
|
||||
else
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="${HOMEPAGE}.git"
|
||||
fi
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/1"
|
||||
IUSE="gnome-keyring"
|
||||
|
||||
RDEPEND="
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
gnome-keyring? ( dev-libs/glib:2 )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-qt/linguist-tools:5
|
||||
gnome-keyring? ( gnome-base/libgnome-keyring )
|
||||
"
|
||||
|
||||
DOCS=( ChangeLog ReadMe.txt )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_WITH_QT4=OFF
|
||||
-DQTKEYCHAIN_STATIC=OFF
|
||||
-DBUILD_TEST_APPLICATION=OFF
|
||||
-DBUILD_TRANSLATIONS=ON
|
||||
-DLIBSECRET_SUPPORT=$(usex gnome-keyring)
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST fedora-autoloader-0.2.1.tar.gz 7634 BLAKE2B e2827ac332a7b50f94383a11b33f25625d67984491fc46dce6ad01d6e4b986c489062464d09ff5ed32f29c2d623ff9d59579fc007eceb1279f660695feea72a0 SHA512 81501dbc0668c1cc6d6fb030e0d9ee91d31db8fa32b3348a0215dbf20a3ef1d41bc398124e1d7f0c1d5ffa8fce8c33e60a3182eaba6ba740d78b4a7f6db2aea8
|
||||
DIST fedora-autoloader-1.0.0.tar.gz 8504 BLAKE2B ada69f3f3126b2c233b0ab933e52468d8303dbaacfc27364f490ce7b093043f92913ecc55180b460828573f0f204f5e7f4d10b3149ef6f5b3cee1d645fa6ac58 SHA512 a8e3330d961a9415a817d41ad9feb91018aa398607a2adce1f8386d491581773226f6819ac3d90827344898fbbdb32c0881af3f122efdad021f7ce70a07cc66e
|
||||
DIST fedora-autoloader-1.0.1.tar.gz 8743 BLAKE2B 4ba6ed275812036f171138e05f5aa56611c6430bc5e440dac5ee45ad975f2300c70c0b964c8c5e0681028829738ad1e4abd69b14e83e10e5215ea9ec7f2d705f SHA512 dd27348e23b69f03e64c2608ae9fd8caf54baa60327c944f46ab5f4cc762677baacc21ba0ea97cad5d97e9f168b1b3731e0ab2bb48df394c07aaa61fd9d66de6
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue