summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2014-12-30 22:28:42 +0000
committerMike Frysinger <vapier@gentoo.org>2014-12-30 22:28:42 +0000
commit0e60dabb668ea4f17646dab3b53168669a30989b (patch)
tree30028c1482a8414eb6d13ca2283baee0d684cb38 /sys-apps
parentClean up documentation on a few patches. (diff)
downloadhistorical-0e60dabb668ea4f17646dab3b53168669a30989b.tar.gz
historical-0e60dabb668ea4f17646dab3b53168669a30989b.tar.bz2
historical-0e60dabb668ea4f17646dab3b53168669a30989b.zip
Update to EAPI=4. Re-add support for USE=ipv6. Respect AR/RANLIB in env. Clean up various build warnings. #262273 by Brandon Turner.
Package-Manager: portage-2.2.14/cvs/Linux x86_64 Manifest-Sign-Key: 0xD2E96200
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/ucspi-tcp/ChangeLog14
-rw-r--r--sys-apps/ucspi-tcp/Manifest57
-rw-r--r--sys-apps/ucspi-tcp/files/0.88-ar-ranlib.patch27
-rw-r--r--sys-apps/ucspi-tcp/files/0.88-large-responses.patch26
-rw-r--r--sys-apps/ucspi-tcp/files/0.88-protos-ipv6.patch89
-rw-r--r--sys-apps/ucspi-tcp/files/0.88-protos-no-ipv6.patch36
-rw-r--r--sys-apps/ucspi-tcp/files/0.88-protos-rblspp.patch11
-rw-r--r--sys-apps/ucspi-tcp/files/0.88-protos.patch544
-rw-r--r--sys-apps/ucspi-tcp/files/0.88-uint-headers.patch133
-rw-r--r--sys-apps/ucspi-tcp/ucspi-tcp-0.88-r18.ebuild75
10 files changed, 995 insertions, 17 deletions
diff --git a/sys-apps/ucspi-tcp/ChangeLog b/sys-apps/ucspi-tcp/ChangeLog
index be9b966628c3..7f16fe93e672 100644
--- a/sys-apps/ucspi-tcp/ChangeLog
+++ b/sys-apps/ucspi-tcp/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sys-apps/ucspi-tcp
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/ucspi-tcp/ChangeLog,v 1.79 2014/12/30 22:27:16 vapier Exp $
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/ucspi-tcp/ChangeLog,v 1.80 2014/12/30 22:28:36 vapier Exp $
+
+*ucspi-tcp-0.88-r18 (30 Dec 2014)
+
+ 30 Dec 2014; Mike Frysinger <vapier@gentoo.org> +files/0.88-ar-ranlib.patch,
+ +files/0.88-large-responses.patch, +files/0.88-protos-ipv6.patch,
+ +files/0.88-protos-no-ipv6.patch, +files/0.88-protos-rblspp.patch,
+ +files/0.88-protos.patch, +files/0.88-uint-headers.patch,
+ +ucspi-tcp-0.88-r18.ebuild:
+ Update to EAPI=4. Re-add support for USE=ipv6. Respect AR/RANLIB in env. Clean
+ up various build warnings. #262273 by Brandon Turner.
30 Dec 2014; Mike Frysinger <vapier@gentoo.org> files/0.88-bigendian.patch,
files/0.88-errno.patch, files/0.88-tcprules.patch:
diff --git a/sys-apps/ucspi-tcp/Manifest b/sys-apps/ucspi-tcp/Manifest
index 3481a4844709..a07e4eac91d6 100644
--- a/sys-apps/ucspi-tcp/Manifest
+++ b/sys-apps/ucspi-tcp/Manifest
@@ -1,15 +1,42 @@
-AUX 0.88-bigendian.patch 478 RMD160 65025a0a97e83bf920353c874ae0c484660c7d4b SHA1 91739a44c1993d5d1c66a57c759cb656d1ef96a8 SHA256 843738c0888c3072605dea0c536f5dc0f3ed2779a1cd7e0e959ccd2e4e705b6c
-AUX 0.88-errno.patch 242 RMD160 61cbfc56d9a7fb222f2a1645d72121ed72591ab8 SHA1 0d62e2a9d13907d0609321b576e9500e0a44dac5 SHA256 28333a27d4359fbe0ae4a81428ccebcadef71df59bab217a563ac375add64121
-AUX 0.88-exit.patch 281 RMD160 893166d3cdcd73f10908f84267673e1effbebbea SHA1 b50167aca1f4227946fd31f536f76131d7390ca1 SHA256 ee2b6ee04e442817dab1716e9996ed0025bd50bfe30a2d3590d45dab31d0803a
-AUX 0.88-head-1.patch 1403 RMD160 911fa03d3400184da738e48adce8767e0a9c0591 SHA1 d8ad050b353214e1a8c0a2a65ef3fcddf324c3f1 SHA256 c39e042333df402e5a9416858991135ae1ea7c04c374cf7ff6dd6cee177c7a78
-AUX 0.88-limits.patch 12356 RMD160 c36d12082ace708372a56c4074f46e3a3e516ede SHA1 82e8a40fa694484d9c89ab70f0f5a5bd671dd460 SHA256 36220e0b33de09bc8320a1755b1f63844ac668d2351948c01d4650e67f6c1e74
-AUX 0.88-rblsmtpd-ignore-on-RELAYCLIENT.patch 462 RMD160 97cb8f2761928b585cae44ef88dbb9e190d176b9 SHA1 25c9bd25e997c304686679673bacfb9f59cde8ad SHA256 6179c0d030f80ddb72423f2c7c88ffaca7b9b05c68708ecbb28500672a1670bd
-AUX 0.88-tcprules.patch 463 RMD160 3b8c9378973c46ebbe2d1a915d0bc4e07b709c47 SHA1 d82c227f4f94019578022bd073503df6ce38a5b3 SHA256 d4f52ade46e53126c0faccfaacd985e14f36dead5c0f1b40070d89941fcf0a32
-AUX tcprules-Makefile 168 RMD160 1feb7a1979490270bdacd56fd17801687207ad42 SHA1 d53edf0eeedd8b860bb50e5373ba9425f0cd404a SHA256 931cfb9797dc514d1fce3c43b71f59c22e929c3b12682089bf30ebdac057a1db
-DIST ucspi-rss.diff 1828 RMD160 e65f7317351f45eab70ed7b66d98e3c4b4494389 SHA1 93accc0d827f1656182956ffb215da19b6fd7d12 SHA256 5101354eb86d8e11edefd7b83df4e9c274a55b845f4cb2ce36dda912aced56f4
-DIST ucspi-tcp-0.88-man.tar.gz 7562 RMD160 6285882adea8f3c1f700ef82bec0d34078dfa559 SHA1 7b2507ff1b49917b44ee64af5995a94a50effd44 SHA256 09b1dd69ca3722b62c030abb27df9560cb72ff5d6247e4628e0c61e957b408ef
-DIST ucspi-tcp-0.88-rblspp.patch 6565 RMD160 9081c193ffb469adb6c7c74954615331654af75f SHA1 553c0facd0cbffba3664c888f66f2859445acc99 SHA256 68aeeb8482be71d9b7dd15d97a2855af34b6b8401fa598207f8de93ccdbb03e9
-DIST ucspi-tcp-0.88.tar.gz 53019 RMD160 eb20085ea6ffd5d137a805f7c8768e0312c1f56a SHA1 793b4189795b563085602c030dd8aa0d206ddc0e SHA256 4a0615cab74886f5b4f7e8fd32933a07b955536a3476d74ea087a3ea66a23e9c
-EBUILD ucspi-tcp-0.88-r17.ebuild 2586 RMD160 d1fe034f7a9ea827d14b124f9facb325c68235cb SHA1 d526f127c3a806c29ca3d9c0d902d806725fc2a2 SHA256 69d4e0ef155151b53010c60f488edea5fa981de9f9103fa71b2ff238716742f5
-MISC ChangeLog 10920 RMD160 1bef055e014a98cb214f8de6f3c06d0db2669ae2 SHA1 dbd76c9d71c3629bc3604bba79511e08afb38ce9 SHA256 66d138316eee5a0fc08d165f304b3f5a3aae52392e9fdaed1d5db289455712ed
-MISC metadata.xml 592 RMD160 55f62935ff7dc2faf84951259954a3bc51154a51 SHA1 418ead2e6c1e70d8678cd336ed1ea0ab8e50d200 SHA256 1043f71f51803b39959194265e8dc63e009634eaafe5bee91892f359ba4950f4
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+AUX 0.88-ar-ranlib.patch 545 SHA256 7a009a8a9101b21b0eb6a99da2c00897726c8ab83babcdc1237a076c98ce8477 SHA512 9788fff2aaa01f24ae101a1fd45512218dd5032946614eb73ab033d839b21ce9fa9ff967593eb7add15ba4735dd5656e67f79beaaee720d2a2cae1fe8889b7e9 WHIRLPOOL 9f6897c1e13180d7b93cf8bff456a8c5e02342ec2b18f93be90ea97a5c8c85f40124e1bff3a65812b2f483ce1dbdb1c36f16e5c4414f9d683d49d94865169ca5
+AUX 0.88-bigendian.patch 458 SHA256 c39de40e34f1240ba0ee74503b2addf96b99009e4c94271f32c35fab0308fcda SHA512 042d2810a8fc968cc8b456216465a349bbde19402a26a64204fb3c9bd2621dfda8ceed1283b11812df8d33ba0eb2f4133de289306ef906060b9a9f5775db3918 WHIRLPOOL dba2f8f096bdb825bdf9e3970f2453381b2657dd0c65bf62fac14c9b28d5a2e04f699cc7914179e45b8611cfbf41bdeefba8273df9c9559293ac9a121954d176
+AUX 0.88-errno.patch 200 SHA256 dcadeb622c61783d236ad4eac0728fc9ece0ce546476e5c4623159e487201bad SHA512 d5d22c44835d232c8e7bff370c27aa266c4b6017ee3a957843610b34c3f7beab61441a8da0db67207c59e03be6d4e93d912f57b34484e752670e01dda97693e3 WHIRLPOOL 60dd38213f0e857c102eb709c032a44af0710afbeb57fd8feebc0c09d036fdd21e5039838c8c99c3adcc42e98d4d8ec935d5006a06ca5f5895118e87f1503cda
+AUX 0.88-exit.patch 281 SHA256 ee2b6ee04e442817dab1716e9996ed0025bd50bfe30a2d3590d45dab31d0803a SHA512 457017ce0cb1b4e21a04adc1cf3376488f20c1b1dfaa764cbabeacf8fdd9ba00f087660823f3817d7f75fc2d4510eb9686b998052a765bbe7dcccab5afec99f9 WHIRLPOOL 5dcf39c7f2524c43d0864bb4269e12f255a0e43b302b2a5c5ec2953e816425e8392ca43dc3869bf4ecdd85d4ef621f2395044dbe352af5891f6a0cfa9299e498
+AUX 0.88-large-responses.patch 772 SHA256 c75f74e43ad8fcdf8c358f8eaad99d4eac1f4085ddcf4dc45a48750f09f83b54 SHA512 d429065d9fa232207e21c6fb1c2359b0e7d35ac0142ed28ee6b00e150b0b3c5756e7eb684ee1b8aea35236986bdb046eff529e127c9c09994c4ced41370c26b7 WHIRLPOOL 2b03725dac25c260d2dd80ef58bd82f209a6f51c0f4c67761548eb237f2cf265d4cfaaae0aa38bba5ec1c700d10f0d64d7f19a729630d05edb11093757219eb6
+AUX 0.88-protos-ipv6.patch 2127 SHA256 36a5a473092af381c4b80f660b0c9e4b49221b1dd235435b20cc4412d66654e9 SHA512 953b3a53246ad16636276f679c84c5f1b86f3dc49a910017fa9c05b175d25a184ed870a920437f4305e2b54021ee2aa2a1d6fa8b7e8d5a367bbc060617b3eb8f WHIRLPOOL 47321810d2cd6cae125a4563357c40e8a580ed518d22f37b98b87f7309752682e81052013a9324821a69e00a0bfa490735cf42c971cafc469f6d89f4d3928ab0
+AUX 0.88-protos-no-ipv6.patch 671 SHA256 e8cdd3b1f3d944ebb1b6a7f8cc1a49815d78369aaf5b2d055fa5e07bbfeebc84 SHA512 56557365c1951e437b6a6b0b8c80d865adc16e2d1fb464a85b367af2d43fbce99e64a6e5a6c8fd4aa0cff53025db6c1ed25458f96316b3c51189d20c5688c0ed WHIRLPOOL d40fdf2e640c8df4c1bccf55d47aa8042b7b90ec2959ed3a91af1cb673701a0b19b1db7d59b25ba932363ead75fd4c7296217220d2f0387d8f847be8590eadcd
+AUX 0.88-protos-rblspp.patch 214 SHA256 3c3269700d3bbec94903fa26ecc20c62fb96fe803a28323cff7f3cb8addf2c62 SHA512 f207ff2e03a0d2088b4a00ff224cc4678fbb2bee7289d6d9cc1b8034cdbc7013f3e94a336694ddf6ec599bc86c799caeb1e194f2e44598add909b9ffe37436f1 WHIRLPOOL 6297869e7f730c0fa68f32d28125b4e9ccc65df42d6d034d7c4d5393be1315a2f1bf07f18eccb3cc141d9b94473ebfb9440a36f141dbfaa0025d7c018a179a31
+AUX 0.88-protos.patch 12339 SHA256 b0951821025b50dda42199a62ec428fda9af446b15a7bb6b3afc1e35029ec8c3 SHA512 af68c2307a1246d1854662a8ee2bcb60d40ff78b8619f62399739d252588152a896ca3955951908b635a5e04ffc17021c06a9b58eea95101afc8104f13f33fea WHIRLPOOL 22ef05ab8548a912f9fc9030d798207e5485014de63fea53f3f731ea2d5bd74d6cac3135cb25089b375ca6f533a080566e3bfff5b142f62f660b85015048cb50
+AUX 0.88-rblsmtpd-ignore-on-RELAYCLIENT.patch 462 SHA256 6179c0d030f80ddb72423f2c7c88ffaca7b9b05c68708ecbb28500672a1670bd SHA512 7570d0d59f90b55966070e2b63b53d4e354a5261de5b4297d8529a8abe2d337980e5f583c7dca5a73f94841be2456cbfdd06f52b3842042d24239ae9831b7555 WHIRLPOOL 996fcdee5d6b12e720b16275cc994c315377fd93413ad80f4fe6d7e4538a3ea6e9371a658c742997225dac785b7d209e28862938abfc6bfe89c12b79a89d448a
+AUX 0.88-tcprules.patch 483 SHA256 d56314ef38eac7fda23a2735ac52be5795c41283b2967e79bfb0f9051b777a57 SHA512 94f83a23de742695c77ea05cf88ef0a1215d6bade587951104b70693a1217c0a2e2e1dc519e4b1c5abad03324fb3d42cc13adb6f15c9455869d5ed6417db4f8a WHIRLPOOL 95cefe9d7fdf444d95dc4f22e128dc67b96e41289fa715a1c17379da8f03ef075b2a70353adbc0692d1d2a818742d6a1ace5cbf295f442f8c56cb2ddbad657d5
+AUX 0.88-uint-headers.patch 3100 SHA256 d496c2f3bfb976b5d451f95cdd43fde646c6225c58a55bbb838793ced30199c7 SHA512 515ab4a81a420697b955578986f544bec082ca42a4384d7795f26e197d6948ded810862d500536ce431e2e7e8dccc8874ffc38c0f1fdea193e9c9e843535f5f6 WHIRLPOOL cc7f33509ad21239afaa36248b5da3e1ff0ca00141468406152ceaab60701e6738017873718c5c4d602e1076bc9733c3ec5ba1c14231a01aa3ba6584d5ffdbfe
+AUX tcprules-Makefile 168 SHA256 931cfb9797dc514d1fce3c43b71f59c22e929c3b12682089bf30ebdac057a1db SHA512 b119ef421dee61a939cb05407481d5a9c109c88cca86271c045d27a5c1b22f2cb73cd28d541d17bca6b13ab6f50c568be95fa8d4554a11a7b29653947a006a18 WHIRLPOOL d553e12953f6e4b3b729a95122ec2a141e118a17573eeccd3d675b32639e2b53c7607e7682362a918be963a9fc108a7eac2650db8e18dc199602281bf116f9f7
+DIST ucspi-rss.diff 1828 SHA256 5101354eb86d8e11edefd7b83df4e9c274a55b845f4cb2ce36dda912aced56f4 SHA512 643514c57570fc0b4e817b07e6d26e831cec5b4657c3d1b9948bd90267fe370a340b911897d575eb94192e24ba71a03ac68ceb2774ef7c0e7ff819c5b4285bc3 WHIRLPOOL 9fd5735f31de2918b0bd8c5e9d9ff19af5f90a02328d4932c08ab72872257cac8b531ad15d61504eb111112f59581fc96e78e63973c4fe9d21316e20972c9bda
+DIST ucspi-tcp-0.88-ipv6.diff19.bz2 22632 SHA256 35952cd290d714452c840580126004cbae8db65b1632df67ac9c8fad7d1f9ace SHA512 58e38f9437b03aab121c5c1b9260806b5abd5a72bf22d14468955d6ff7ad2fb2ab285cb7a37b5dc3a568389aa02b8b3ecff0026b49a097ea86cfd340f2b38000 WHIRLPOOL 9d7dffc707011c178b2a2245598005ef0c20b2dad86ff9c34f5ccebe2a4702c8dda1e32103a85dc9b60d8343a05af1f1b333b59b00a02e5611c1d16bc593fe87
+DIST ucspi-tcp-0.88-man.tar.gz 7562 SHA256 09b1dd69ca3722b62c030abb27df9560cb72ff5d6247e4628e0c61e957b408ef SHA512 e779d6d6b24a3af0edc362def229c657c704143e5f1dfba8d16d26b3e6bcacb9c8ceaabcccac61485a4719221c144bc0c36ebca5182985dca85a6d72101d4146 WHIRLPOOL de321315bd7998af4fe7a85c7cd27dc62de7b1977e64f8a703e6e08ff69f451da8b20c34a8e2251bd63c535244799ddb1afdeff8bff7d98303e99dfd4e455f06
+DIST ucspi-tcp-0.88-rblspp.patch 6565 SHA256 68aeeb8482be71d9b7dd15d97a2855af34b6b8401fa598207f8de93ccdbb03e9 SHA512 f3212d9d3bb59ec3b1f2b2bd09a80dce1eeeaf082dea68f18350a3aef818ef221eccfeb4dc7afff5c3f9e59003ec40f5e37fff86a2a5ab3145be1fe81297c990 WHIRLPOOL e49c04147269076416a74f5951e398ef71b76a5c825f527fc85e9b3be68b061f353f5bfe01a9ff92c26a7cd11a30273cafc353ed491f1fa0897c4cef3e7ae72a
+DIST ucspi-tcp-0.88.tar.gz 53019 SHA256 4a0615cab74886f5b4f7e8fd32933a07b955536a3476d74ea087a3ea66a23e9c SHA512 44efbd477dacf31d39fc970e2d2f74526dc815b905742f6127f0d5c80928ecc7e743089eaab0492386a58d5b97905113fbe8bbc7214ae179b7be27966b7566c7 WHIRLPOOL 6e15e0139b10a5668af0ae7bfa903556f39f81bb42c12255c0b8738a14e9be92f1775600b318fb0926aea295b25e6383428200191237393bfaa69d5da5d909eb
+EBUILD ucspi-tcp-0.88-r17.ebuild 2586 SHA256 69d4e0ef155151b53010c60f488edea5fa981de9f9103fa71b2ff238716742f5 SHA512 28bd0dda4cc4ba7c1793d35b1f0507df72e513461fbcc1aeb0af8ef5af97aa0618ccb6bbffd49954d18d6e86c1ad8efebcfba59852268325eb4d827c050a7dd3 WHIRLPOOL 3a2421daa96304ac51fbbb16ce766aee4a33e4febaa09cddeda8d4a44e75fd375603a8ad10f352fc8a7a2b6ce9cdd93293ad7d18ad7630592a3970885099c406
+EBUILD ucspi-tcp-0.88-r18.ebuild 2238 SHA256 96580169bee75d1423b8de36f426786ca872cf9ed15b754e5ed14528de0f6f2f SHA512 98abe018885923d68cb918606c0b3eb07170246c144da6469021f1d49cf8039238f5f8517ce2589cd4877e53ffb2d633c98ceb351901d0d449e19e1552763380 WHIRLPOOL 3e5b19d77cdd859e96d8ac62824e9acf5be477b3307d04cbebefed0d8cc689b59d73c39e2dc5fc145012fea0861956974d0de74e8d0cb69bc2364e1e594d2005
+MISC ChangeLog 11703 SHA256 591f788bd8f24eddadb8ce411fd8861bdd45691aeda641d94cf52d4a0f8f8f72 SHA512 9833c50601764961db70e745ae79d08be26f9dec06bfdeecab0b65b17d96d36965578aa477ecfc76b6ad66b8af0f5f1ef7291f554bb903325d199231c9d4da07 WHIRLPOOL 03235b07833969a468debcdcf60ca824b04bf151c7ae607dddee76f3d3a828411895d517c7b289b2057e9204d36d3a13458a357d0588a9d02d9e7f90f0f34a90
+MISC metadata.xml 592 SHA256 1043f71f51803b39959194265e8dc63e009634eaafe5bee91892f359ba4950f4 SHA512 39ba9b11e84f29b2dc1170c31db40b951c10c32b06c64bdd022de7a0f2eae7009f55e82df6a124b3c4bd6751b793cfe94a6b32c74fe722972c5a960f33f1ecf4 WHIRLPOOL 40574a71e26f0f76e6a6caeb06a50a09fb790af2a537ef0a9a933b005552cec9d626e27b835ff49b82e1405afb6b3822e971159a5f3a090553e20134e32dadf1
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iQIcBAEBCAAGBQJUoycaAAoJEPGu1DbS6WIANv4P/1lL4fw9kRdl+T/hcwu+6AWL
+8GczP5kkbhcgl4ikBcFmn9hS/zJRCq+408rZh4X+kTyH2K+5DvLMwS+uN0DmOyKD
+6hwuwtO/lP/7E6daL+zpSZ6C5dyf3SS52uUessLXFhCcBho07tOdwLl1CBZtXg6D
+JD/KpVCjxstkF/5Rol3HhMDnVptiBu8qXgs8E9EEG+YHEsqXyU/cy4fPEMkK96bH
+Q9foJSpbaUr0FqN6yTh8ssbpTuqxWIX/paqT4k/vRXMAxoWhlOvAN+8QKkCo363k
+oMQXpV1PDOcTakny45trhrcvocLYB0rFtxEHlXujGAmhInVoHfNSTGHAktEG/9/z
+4Lopu3yb4Dc0Zyx+TxTdlySPFTIcRdK009dZhVWHQAphOBSMo5WJ8psIa3GG5h4s
+f+9gJWFURzMtg9UzGRNo+2eY0tpl7nVb57bTc88gRhzolN5khPrdcd1WCUA7gfkC
+hh6FYZ4ux0B24tBxJyyEHL3ft4tlg+4qCWwzmWL+sENyspCZbFBFU3EsDo+VsKcs
+b6LA5azeCl3N9H6JmcRpKE9O8af3xxJlltIAmvzlAYMsryYPdZCRgG1x40Cz2d96
+kjOzOfDTayRAfBGNlTsMQZoni6A6oi5ugJLNDPyTetyvdrjS0kEipqBf73D7T0xX
+mftC983DRJ0ugcxLBW8x
+=Serm
+-----END PGP SIGNATURE-----
diff --git a/sys-apps/ucspi-tcp/files/0.88-ar-ranlib.patch b/sys-apps/ucspi-tcp/files/0.88-ar-ranlib.patch
new file mode 100644
index 000000000000..e6c8ba32f9d0
--- /dev/null
+++ b/sys-apps/ucspi-tcp/files/0.88-ar-ranlib.patch
@@ -0,0 +1,27 @@
+--- a/Makefile
++++ b/Makefile
+@@ -394,12 +394,14 @@
+ ) > load
+ chmod 755 load
+
++AR ?= ar
++RANLIB ?= ranlib
+ makelib: \
+ warn-auto.sh systype
+ ( cat warn-auto.sh; \
+ echo 'main="$$1"; shift'; \
+ echo 'rm -f "$$main"'; \
+- echo 'ar cr "$$main" $${1+"$$@"}'; \
++ echo '$(AR) cr "$$main" $${1+"$$@"}'; \
+ case "`cat systype`" in \
+ sunos-5.*) ;; \
+ unix_sv*) ;; \
+@@ -408,7 +410,7 @@
+ dgux-*) ;; \
+ hp-ux-*) ;; \
+ sco*) ;; \
+- *) echo 'ranlib "$$main"' ;; \
++ *) echo '$(RANLIB) "$$main"' ;; \
+ esac \
+ ) > makelib
+ chmod 755 makelib
diff --git a/sys-apps/ucspi-tcp/files/0.88-large-responses.patch b/sys-apps/ucspi-tcp/files/0.88-large-responses.patch
new file mode 100644
index 000000000000..65fd8f534ef9
--- /dev/null
+++ b/sys-apps/ucspi-tcp/files/0.88-large-responses.patch
@@ -0,0 +1,26 @@
+12 Aug 2003; Robin H. Johnson <robbat2@gentoo.org>:
+
+allow larger responses
+
+--- a/rblsmtpd.c
++++ b/rblsmtpd.c
+@@ -163,7 +163,7 @@ void rblsmtpd(void)
+ else
+ if (!stralloc_copys(&message,"553 ")) nomem();
+
+- if (text.len > 200) text.len = 200;
++ if (text.len > 500) text.len = 500;
+ if (!stralloc_cat(&message,&text)) nomem();
+ for (i = 0;i < message.len;++i)
+ if ((message.s[i] < 32) || (message.s[i] > 126))
+--- a/rblspp.c
++++ b/rblspp.c
+@@ -142,7 +142,7 @@ void rblspp(void)
+ else
+ if (!stralloc_copys(&message,"E553 ")) nomem();
+
+- if (text.len > 200) text.len = 200;
++ if (text.len > 500) text.len = 500;
+ if (!stralloc_cat(&message,&text)) nomem();
+ for (i = 0;i < message.len;++i)
+ if ((message.s[i] < 32) || (message.s[i] > 126))
diff --git a/sys-apps/ucspi-tcp/files/0.88-protos-ipv6.patch b/sys-apps/ucspi-tcp/files/0.88-protos-ipv6.patch
new file mode 100644
index 000000000000..7faa51260ab5
--- /dev/null
+++ b/sys-apps/ucspi-tcp/files/0.88-protos-ipv6.patch
@@ -0,0 +1,89 @@
+rely on standard POSIX headers to fix globs of warnings
+
+requires 0.88-protos.patch first
+
+--- a/FILES
++++ b/FILES
+@@ -222,7 +222,6 @@ dns_nd6.c
+ dns_sortip6.c
+ fmt_xlong.c
+ ip6_fmt.c
+-ip6_scan.c
+ scan_0x.c
+ socket_accept6.c
+ socket_bind6.c
+--- a/TARGETS
++++ b/TARGETS
+@@ -177,7 +177,6 @@ dns_nd6.o
+ dns_sortip6.o
+ fmt_xlong.o
+ ip6_fmt.o
+-ip6_scan.o
+ scan_0x.o
+ socket_accept6.o
+ socket_bind6.o
+--- a/ip6.h
++++ b/ip6.h
+@@ -4,10 +4,10 @@
+ #include "byte.h"
+
+ extern unsigned int scan_ip6(const char *src,char *ip);
+-extern unsigned int fmt_ip6(char *dest,const char *ip);
++extern unsigned int ip6_fmt(char *dest,char ip[16]);
+
+ extern unsigned int scan_ip6_flat(const char *src,char *);
+-extern unsigned int fmt_ip6_flat(char *dest,const char *);
++extern unsigned int ip6_fmt_flat(char *dest,char[16]);
+
+ /*
+ ip6 address syntax: (h = hex digit), no leading '0' required
+--- a/remoteinfo6.c
++++ b/remoteinfo6.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include "fmt.h"
+ #include "buffer.h"
+ #include "socket.h"
+@@ -5,11 +6,12 @@
+ #include "iopause.h"
+ #include "timeoutconn.h"
+ #include "remoteinfo.h"
++#include "readwrite.h"
+
+ static struct taia now;
+ static struct taia deadline;
+
+-static int mywrite(int fd,char *buf,int len)
++static ssize_t mywrite(int fd,char *buf,int len)
+ {
+ iopause_fd x;
+
+@@ -27,7 +29,7 @@ static int mywrite(int fd,char *buf,int len)
+ return write(fd,buf,len);
+ }
+
+-static int myread(int fd,char *buf,int len)
++static ssize_t myread(int fd,char *buf,int len)
+ {
+ iopause_fd x;
+
+--- a/socket_tcp6.c
++++ b/socket_tcp6.c
+@@ -3,6 +3,7 @@
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <errno.h>
++#include <unistd.h>
+ #include "ndelay.h"
+ #include "socket.h"
+ #include "haveip6.h"
+--- a/dns.h
++++ b/dns.h
+@@ -87,6 +87,7 @@ extern int dns_ip4_qualify(stralloc *,stralloc *,const stralloc *);
+ extern int dns_ip6_qualify_rules(stralloc *,stralloc *,const stralloc *,const stralloc *);
+ extern int dns_ip6_qualify(stralloc *,stralloc *,const stralloc *);
+
++extern int dns_name6(stralloc *,char [16]);
+ extern int dns_name6_domain(char *,char *);
+ #define DNS_NAME6_DOMAIN (4*16+11)
+
diff --git a/sys-apps/ucspi-tcp/files/0.88-protos-no-ipv6.patch b/sys-apps/ucspi-tcp/files/0.88-protos-no-ipv6.patch
new file mode 100644
index 000000000000..328f0369ebaf
--- /dev/null
+++ b/sys-apps/ucspi-tcp/files/0.88-protos-no-ipv6.patch
@@ -0,0 +1,36 @@
+rely on standard POSIX headers to fix globs of warnings
+
+fixes that overlap with the ipv6 patch
+
+--- a/error.h
++++ b/error.h
+@@ -1,7 +1,7 @@
+ #ifndef ERROR_H
+ #define ERROR_H
+
+-extern int errno;
++#include <errno.h>
+
+ extern int error_intr;
+ extern int error_nomem;
+--- a/dns_random.c
++++ b/dns_random.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include "dns.h"
+ #include "taia.h"
+ #include "uint32.h"
+--- a/dns_rcrw.c
++++ b/dns_rcrw.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include "taia.h"
+ #include "env.h"
+ #include "byte.h"
+--- a/dns_transmit.c
++++ b/dns_transmit.c
+@@ -1,3 +1,4 @@
++#include <sys/socket.h>
+ #include "socket.h"
+ #include "alloc.h"
+ #include "error.h"
diff --git a/sys-apps/ucspi-tcp/files/0.88-protos-rblspp.patch b/sys-apps/ucspi-tcp/files/0.88-protos-rblspp.patch
new file mode 100644
index 000000000000..8007ce19b323
--- /dev/null
+++ b/sys-apps/ucspi-tcp/files/0.88-protos-rblspp.patch
@@ -0,0 +1,11 @@
+rely on standard POSIX headers to fix globs of warnings
+
+requires 0.88-protos.patch first
+
+--- a/rblspp.c
++++ b/rblspp.c
+@@ -1,3 +1,4 @@
++#include <stdlib.h>
+ #include "byte.h"
+ #include "str.h"
+ #include "scan.h"
diff --git a/sys-apps/ucspi-tcp/files/0.88-protos.patch b/sys-apps/ucspi-tcp/files/0.88-protos.patch
new file mode 100644
index 000000000000..050fd1dd9d66
--- /dev/null
+++ b/sys-apps/ucspi-tcp/files/0.88-protos.patch
@@ -0,0 +1,544 @@
+rely on standard POSIX headers to fix globs of warnings
+
+--- a/tcprulescheck.c
++++ b/tcprulescheck.c
+@@ -1,3 +1,5 @@
++#include <unistd.h>
++
+ #include "byte.h"
+ #include "buffer.h"
+ #include "strerr.h"
+--- a/buffer.c
++++ b/buffer.c
+@@ -1,6 +1,6 @@
+ #include "buffer.h"
+
+-void buffer_init(buffer *s,int (*op)(),int fd,char *buf,unsigned int len)
++void buffer_init(buffer *s,ssize_t (*op)(),int fd,char *buf,unsigned int len)
+ {
+ s->x = buf;
+ s->fd = fd;
+--- a/buffer.h
++++ b/buffer.h
+@@ -1,6 +1,8 @@
+ #ifndef BUFFER_H
+ #define BUFFER_H
+
++#include <sys/types.h>
++
+ typedef struct buffer {
+ char *x;
+ unsigned int p;
+@@ -13,7 +15,7 @@ typedef struct buffer {
+ #define BUFFER_INSIZE 8192
+ #define BUFFER_OUTSIZE 8192
+
+-extern void buffer_init(buffer *,int (*)(),int,char *,unsigned int);
++extern void buffer_init(buffer *,ssize_t (*)(),int,char *,unsigned int);
+
+ extern int buffer_flush(buffer *);
+ extern int buffer_put(buffer *,char *,unsigned int);
+--- a/exit.h
++++ b/exit.h
+@@ -1,6 +1,6 @@
+ #ifndef EXIT_H
+ #define EXIT_H
+
+-extern void _exit();
++#include <unistd.h>
+
+ #endif
+--- a/install.c
++++ b/install.c
+@@ -1,3 +1,4 @@
++#include <sys/stat.h>
+ #include "buffer.h"
+ #include "strerr.h"
+ #include "error.h"
+--- a/readwrite.h
++++ b/readwrite.h
+@@ -1,7 +1,6 @@
+ #ifndef READWRITE_H
+ #define READWRITE_H
+
+-extern int read();
+-extern int write();
++#include <unistd.h>
+
+ #endif
+
+--- a/auto-str.c
++++ b/auto-str.c
+@@ -5,6 +5,7 @@
+ char bspace[256];
+ buffer b = BUFFER_INIT(write,1,bspace,sizeof bspace);
+
++#define puts _puts
+ void puts(char *s)
+ {
+ if (buffer_puts(&b,s) == -1) _exit(111);
+--- a/buffer.h
++++ b/buffer.h
+@@ -8,7 +8,7 @@ typedef struct buffer {
+ unsigned int p;
+ unsigned int n;
+ int fd;
+- int (*op)();
++ ssize_t (*op)();
+ } buffer;
+
+ #define BUFFER_INIT(op,fd,buf,len) { (buf), 0, (len), (fd), (op) }
+--- a/fd_copy.c
++++ b/fd_copy.c
+@@ -1,4 +1,5 @@
+ #include <fcntl.h>
++#include <unistd.h>
+ #include "fd.h"
+
+ int fd_copy(int to,int from)
+--- a/fd_move.c
++++ b/fd_move.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include "fd.h"
+
+ int fd_move(int to,int from)
+--- a/socket_tcp.c
++++ b/socket_tcp.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/socket.h>
+--- a/chkshsgr.c
++++ b/chkshsgr.c
+@@ -1,8 +1,9 @@
++#include <grp.h>
+ #include "exit.h"
+
+ main()
+ {
+- short x[4];
++ gid_t x[4];
+
+ x[0] = x[1] = 0;
+ if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
+--- a/prot.c
++++ b/prot.c
+@@ -1,10 +1,10 @@
+ #include "hasshsgr.h"
+ #include "prot.h"
+
+-int prot_gid(int gid)
++int prot_gid(gid_t gid)
+ {
+ #ifdef HASSHORTSETGROUPS
+- short x[2];
++ gid_t x[2];
+ x[0] = gid; x[1] = 73; /* catch errors */
+ if (setgroups(1,x) == -1) return -1;
+ #else
+@@ -13,7 +13,7 @@ int prot_gid(int gid)
+ return setgid(gid); /* _should_ be redundant, but on some systems it isn't */
+ }
+
+-int prot_uid(int uid)
++int prot_uid(uid_t uid)
+ {
+ return setuid(uid);
+ }
+--- a/prot.h
++++ b/prot.h
+@@ -1,7 +1,10 @@
+ #ifndef PROT_H
+ #define PROT_H
+
+-extern int prot_gid(int);
+-extern int prot_uid(int);
++#include <unistd.h>
++#include <grp.h>
++
++extern int prot_gid(gid_t);
++extern int prot_uid(uid_t);
+
+ #endif
+--- a/fixcrio.c
++++ b/fixcrio.c
+@@ -6,6 +6,7 @@
+ #include "exit.h"
+ #include "iopause.h"
+ #include "pathexec.h"
++#include "fd.h"
+
+ #define FATAL "fixcrio: fatal: "
+
+--- a/hier.c
++++ b/hier.c
+@@ -1,5 +1,9 @@
+ #include "auto_home.h"
+
++extern void h(char *, int, int, int);
++extern void d(char *, char *, int, int, int);
++extern void c(char *, char *, char *, int, int, int);
++
+ void hier()
+ {
+ h(auto_home,-1,-1,02755);
+--- a/mconnect-io.c
++++ b/mconnect-io.c
+@@ -1,3 +1,4 @@
++#include <signal.h>
+ #include "sig.h"
+ #include "wait.h"
+ #include "fork.h"
+@@ -12,7 +13,7 @@ buffer bout;
+ char inbuf[512];
+ buffer bin;
+
+-int myread(int fd,char *buf,int len)
++ssize_t myread(int fd,char *buf,int len)
+ {
+ buffer_flush(&bout);
+ return read(fd,buf,len);
+--- a/tcprules.c
++++ b/tcprules.c
+@@ -1,3 +1,4 @@
++#include <stdio.h>
+ #include "strerr.h"
+ #include "stralloc.h"
+ #include "getln.h"
+@@ -6,6 +7,8 @@
+ #include "fmt.h"
+ #include "byte.h"
+ #include "cdb_make.h"
++#include "open.h"
++#include "scan.h"
+
+ #define FATAL "tcprules: fatal: "
+
+--- a/pathexec_run.c
++++ b/pathexec_run.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include "error.h"
+ #include "stralloc.h"
+ #include "str.h"
+--- a/recordio.c
++++ b/recordio.c
+@@ -8,6 +8,7 @@
+ #include "fmt.h"
+ #include "iopause.h"
+ #include "pathexec.h"
++#include "fd.h"
+
+ #define FATAL "recordio: fatal: "
+
+--- a/seek_set.c
++++ b/seek_set.c
+@@ -1,7 +1,6 @@
++#include <unistd.h>
+ #include <sys/types.h>
+ #include "seek.h"
+
+-#define SET 0 /* sigh */
+-
+ int seek_set(int fd,seek_pos pos)
+-{ if (lseek(fd,(off_t) pos,SET) == -1) return -1; return 0; }
++{ if (lseek(fd,(off_t) pos,SEEK_SET) == -1) return -1; return 0; }
+--- a/socket_udp.c
++++ b/socket_udp.c
+@@ -2,6 +2,7 @@
+ #include <sys/param.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
++#include <unistd.h>
+ #include "ndelay.h"
+ #include "socket.h"
+
+--- a/tcprulescheck.c
++++ b/tcprulescheck.c
+@@ -5,6 +5,7 @@
+ #include "strerr.h"
+ #include "env.h"
+ #include "rules.h"
++#include "open.h"
+
+ void found(char *data,unsigned int datalen)
+ {
+
+the prototypes are added near the top to avoid conflicts w/ipv6 patch
+
+--- a/socket.h
++++ b/socket.h
+@@ -3,6 +3,9 @@
+ #ifndef SOCKET_H
+ #define SOCKET_H
+
++extern int socket_tcpnodelay(int);
++extern int socket_ipoptionskill(int);
++
+ #include "uint16.h"
+
+ extern int socket_tcp(void);
+--- a/remoteinfo.c
++++ b/remoteinfo.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include "fmt.h"
+ #include "buffer.h"
+ #include "socket.h"
+@@ -5,11 +6,12 @@
+ #include "iopause.h"
+ #include "timeoutconn.h"
+ #include "remoteinfo.h"
++#include "readwrite.h"
+
+ static struct taia now;
+ static struct taia deadline;
+
+-static int mywrite(int fd,char *buf,int len)
++static ssize_t mywrite(int fd,char *buf,int len)
+ {
+ iopause_fd x;
+
+@@ -27,7 +29,7 @@ static int mywrite(int fd,char *buf,int len)
+ return write(fd,buf,len);
+ }
+
+-static int myread(int fd,char *buf,int len)
++static ssize_t myread(int fd,char *buf,int len)
+ {
+ iopause_fd x;
+
+--- a/alloc.c
++++ b/alloc.c
+@@ -1,7 +1,5 @@
+ #include "alloc.h"
+ #include "error.h"
+-extern char *malloc();
+-extern void free();
+
+ #define ALIGNMENT 16 /* XXX: assuming that this alignment is enough */
+ #define SPACE 2048 /* must be multiple of ALIGNMENT */
+--- a/alloc.h
++++ b/alloc.h
+@@ -1,8 +1,10 @@
+ #ifndef ALLOC_H
+ #define ALLOC_H
+
+-extern /*@null@*//*@out@*/char *alloc();
+-extern void alloc_free();
++#include <stdlib.h>
++
++extern /*@null@*//*@out@*/char *alloc(unsigned int);
++extern void alloc_free(char *);
+ extern int alloc_re();
+
+ #endif
+--- a/buffer_0.c
++++ b/buffer_0.c
+@@ -1,7 +1,7 @@
+ #include "readwrite.h"
+ #include "buffer.h"
+
+-int buffer_0_read(fd,buf,len) int fd; char *buf; int len;
++ssize_t buffer_0_read(fd,buf,len) int fd; char *buf; int len;
+ {
+ if (buffer_flush(buffer_1) == -1) return -1;
+ return read(fd,buf,len);
+--- a/buffer_get.c
++++ b/buffer_get.c
+@@ -2,7 +2,7 @@
+ #include "byte.h"
+ #include "error.h"
+
+-static int oneread(int (*op)(),int fd,char *buf,unsigned int len)
++static int oneread(ssize_t (*op)(),int fd,char *buf,unsigned int len)
+ {
+ int r;
+
+--- a/buffer_put.c
++++ b/buffer_put.c
+@@ -3,7 +3,7 @@
+ #include "byte.h"
+ #include "error.h"
+
+-static int allwrite(int (*op)(),int fd,char *buf,unsigned int len)
++static int allwrite(ssize_t (*op)(),int fd,char *buf,unsigned int len)
+ {
+ int w;
+
+--- a/case.h
++++ b/case.h
+@@ -4,7 +4,7 @@
+ extern void case_lowers(char *);
+ extern void case_lowerb(char *,unsigned int);
+ extern int case_diffs(char *,char *);
+-extern int case_diffb(char *,unsigned int,char *);
++extern int case_diffb(const char *,unsigned int,const char *);
+ extern int case_starts(char *,char *);
+ extern int case_startb(char *,unsigned int,char *);
+
+--- a/case_diffb.c
++++ b/case_diffb.c
+@@ -1,6 +1,6 @@
+ #include "case.h"
+
+-int case_diffb(register char *s,register unsigned int len,register char *t)
++int case_diffb(register const char *s,register unsigned int len,const register char *t)
+ {
+ register unsigned char x;
+ register unsigned char y;
+--- a/open.h
++++ b/open.h
+@@ -1,10 +1,10 @@
+ #ifndef OPEN_H
+ #define OPEN_H
+
+-extern int open_read(char *);
+-extern int open_excl(char *);
+-extern int open_append(char *);
+-extern int open_trunc(char *);
+-extern int open_write(char *);
++extern int open_read(const char *);
++extern int open_excl(const char *);
++extern int open_append(const char *);
++extern int open_trunc(const char *);
++extern int open_write(const char *);
+
+ #endif
+--- a/open_read.c
++++ b/open_read.c
+@@ -2,5 +2,5 @@
+ #include <fcntl.h>
+ #include "open.h"
+
+-int open_read(char *fn)
++int open_read(const char *fn)
+ { return open(fn,O_RDONLY | O_NDELAY); }
+--- a/open_trunc.c
++++ b/open_trunc.c
+@@ -2,5 +2,5 @@
+ #include <fcntl.h>
+ #include "open.h"
+
+-int open_trunc(char *fn)
++int open_trunc(const char *fn)
+ { return open(fn,O_WRONLY | O_NDELAY | O_TRUNC | O_CREAT,0644); }
+--- a/open_write.c
++++ b/open_write.c
+@@ -2,5 +2,5 @@
+ #include <fcntl.h>
+ #include "open.h"
+
+-int open_write(char *fn)
++int open_write(const char *fn)
+ { return open(fn,O_WRONLY | O_NDELAY); }
+--- a/openreadclose.c
++++ b/openreadclose.c
+@@ -3,7 +3,7 @@
+ #include "readclose.h"
+ #include "openreadclose.h"
+
+-int openreadclose(char *fn,stralloc *sa,unsigned int bufsize)
++int openreadclose(const char *fn,stralloc *sa,unsigned int bufsize)
+ {
+ int fd;
+ fd = open_read(fn);
+--- a/openreadclose.h
++++ b/openreadclose.h
+@@ -3,6 +3,6 @@
+
+ #include "stralloc.h"
+
+-extern int openreadclose(char *,stralloc *,unsigned int);
++extern int openreadclose(const char *,stralloc *,unsigned int);
+
+ #endif
+--- a/stralloc.h
++++ b/stralloc.h
+@@ -7,7 +7,7 @@ GEN_ALLOC_typedef(stralloc,char,s,len,a)
+
+ extern int stralloc_ready(stralloc *,unsigned int);
+ extern int stralloc_readyplus(stralloc *,unsigned int);
+-extern int stralloc_copy(stralloc *,stralloc *);
++extern int stralloc_copy(stralloc *,const stralloc *);
+ extern int stralloc_cat(stralloc *,stralloc *);
+ extern int stralloc_copys(stralloc *,const char *);
+ extern int stralloc_cats(stralloc *,const char *);
+--- a/stralloc_copy.c
++++ b/stralloc_copy.c
+@@ -1,7 +1,7 @@
+ #include "byte.h"
+ #include "stralloc.h"
+
+-int stralloc_copy(stralloc *sato,stralloc *safrom)
++int stralloc_copy(stralloc *sato,const stralloc *safrom)
+ {
+ return stralloc_copyb(sato,safrom->s,safrom->len);
+ }
+--- a/taia.h
++++ b/taia.h
+@@ -19,7 +19,7 @@ extern double taia_frac(struct taia *);
+ extern void taia_add(struct taia *,struct taia *,struct taia *);
+ extern void taia_sub(struct taia *,struct taia *,struct taia *);
+ extern void taia_half(struct taia *,struct taia *);
+-extern int taia_less(struct taia *,struct taia *);
++extern int taia_less(const struct taia *,const struct taia *);
+
+ #define TAIA_PACK 16
+ extern void taia_pack(char *,struct taia *);
+--- a/taia_less.c
++++ b/taia_less.c
+@@ -2,7 +2,7 @@
+
+ /* XXX: breaks tai encapsulation */
+
+-int taia_less(struct taia *t,struct taia *u)
++int taia_less(const struct taia *t,const struct taia *u)
+ {
+ if (t->sec.x < u->sec.x) return 1;
+ if (t->sec.x > u->sec.x) return 0;
+--- a/uint32.h1
++++ b/uint32.h1
+@@ -5,7 +5,7 @@ typedef unsigned int uint32;
+
+ extern void uint32_pack(char *,uint32);
+ extern void uint32_pack_big(char *,uint32);
+-extern void uint32_unpack(char *,uint32 *);
+-extern void uint32_unpack_big(char *,uint32 *);
++extern void uint32_unpack(const char *,uint32 *);
++extern void uint32_unpack_big(const char *,uint32 *);
+
+ #endif
+--- a/uint32.h2
++++ b/uint32.h2
+@@ -5,7 +5,7 @@ typedef unsigned long uint32;
+
+ extern void uint32_pack(char *,uint32);
+ extern void uint32_pack_big(char *,uint32);
+-extern void uint32_unpack(char *,uint32 *);
+-extern void uint32_unpack_big(char *,uint32 *);
++extern void uint32_unpack(const char *,uint32 *);
++extern void uint32_unpack_big(const char *,uint32 *);
+
+ #endif
+--- a/uint32_unpack.c
++++ b/uint32_unpack.c
+@@ -1,6 +1,6 @@
+ #include "uint32.h"
+
+-void uint32_unpack(char s[4],uint32 *u)
++void uint32_unpack(const char s[4],uint32 *u)
+ {
+ uint32 result;
+
+@@ -15,7 +15,7 @@ void uint32_unpack(char s[4],uint32 *u)
+ *u = result;
+ }
+
+-void uint32_unpack_big(char s[4],uint32 *u)
++void uint32_unpack_big(const char s[4],uint32 *u)
+ {
+ uint32 result;
+
diff --git a/sys-apps/ucspi-tcp/files/0.88-uint-headers.patch b/sys-apps/ucspi-tcp/files/0.88-uint-headers.patch
new file mode 100644
index 000000000000..3b637f56b292
--- /dev/null
+++ b/sys-apps/ucspi-tcp/files/0.88-uint-headers.patch
@@ -0,0 +1,133 @@
+use stdint.h rather than hand guessing the underlying size
+
+--- a/tryulong32.c
++++ /dev/null
+@@ -1,11 +0,0 @@
+-main()
+-{
+- unsigned long u;
+- u = 1;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- if (!u) _exit(0);
+- _exit(1);
+-}
+--- a/tryulong64.c
++++ /dev/null
+@@ -1,11 +0,0 @@
+-main()
+-{
+- unsigned long u;
+- u = 1;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- u += u; u += u; u += u; u += u; u += u; u += u; u += u; u += u;
+- if (!u) _exit(1);
+- _exit(0);
+-}
+--- a/uint32.h1
++++ /dev/null
+@@ -1,11 +0,0 @@
+-#ifndef UINT32_H
+-#define UINT32_H
+-
+-typedef unsigned int uint32;
+-
+-extern void uint32_pack(char *,uint32);
+-extern void uint32_pack_big(char *,uint32);
+-extern void uint32_unpack(const char *,uint32 *);
+-extern void uint32_unpack_big(const char *,uint32 *);
+-
+-#endif
+--- a/uint32.h2
++++ /dev/null
+@@ -1,11 +0,0 @@
+-#ifndef UINT32_H
+-#define UINT32_H
+-
+-typedef unsigned long uint32;
+-
+-extern void uint32_pack(char *,uint32);
+-extern void uint32_pack_big(char *,uint32);
+-extern void uint32_unpack(const char *,uint32 *);
+-extern void uint32_unpack_big(const char *,uint32 *);
+-
+-#endif
+--- a/uint64.h1
++++ /dev/null
+@@ -1,8 +0,0 @@
+-#ifndef UINT64_H
+-#define UINT64_H
+-
+-/* sysdep: -ulong64 */
+-
+-typedef unsigned long long uint64;
+-
+-#endif
+--- a/uint64.h2
++++ /dev/null
+@@ -1,8 +0,0 @@
+-#ifndef UINT64_H
+-#define UINT64_H
+-
+-/* sysdep: +ulong64 */
+-
+-typedef unsigned long uint64;
+-
+-#endif
+--- /dev/null
++++ b/uint32.h
+@@ -0,0 +1,12 @@
++#ifndef UINT32_H
++#define UINT32_H
++
++#include <stdint.h>
++typedef uint32_t uint32;
++
++extern void uint32_pack(char *,uint32);
++extern void uint32_pack_big(char *,uint32);
++extern void uint32_unpack(const char *,uint32 *);
++extern void uint32_unpack_big(const char *,uint32 *);
++
++#endif
+--- /dev/null
++++ b/uint64.h
+@@ -0,0 +1,8 @@
++#ifndef UINT64_H
++#define UINT64_H
++
++#include <stdint.h>
++
++typedef uint64_t uint64;
++
++#endif
+--- a/Makefile
++++ b/Makefile
+@@ -788,13 +788,6 @@ uint16_unpack.o: \
+ compile uint16_unpack.c uint16.h
+ ./compile uint16_unpack.c
+
+-uint32.h: \
+-tryulong32.c compile load uint32.h1 uint32.h2
+- ( ( ./compile tryulong32.c && ./load tryulong32 && \
+- ./tryulong32 ) >/dev/null 2>&1 \
+- && cat uint32.h2 || cat uint32.h1 ) > uint32.h
+- rm -f tryulong32.o tryulong32
+-
+ uint32_pack.o: \
+ compile uint32_pack.c uint32.h
+ ./compile uint32_pack.c
+@@ -803,10 +796,6 @@ uint32_unpack.o: \
+ compile uint32_unpack.c uint32.h
+ ./compile uint32_unpack.c
+
+-uint64.h: \
+-choose compile load tryulong64.c uint64.h1 uint64.h2
+- ./choose clr tryulong64 uint64.h1 uint64.h2 > uint64.h
+-
+ unix.a: \
+ makelib alloc.o alloc_re.o buffer.o buffer_0.o buffer_1.o buffer_2.o \
+ buffer_copy.o buffer_get.o buffer_put.o env.o error.o error_str.o \
diff --git a/sys-apps/ucspi-tcp/ucspi-tcp-0.88-r18.ebuild b/sys-apps/ucspi-tcp/ucspi-tcp-0.88-r18.ebuild
new file mode 100644
index 000000000000..778718c3d1f6
--- /dev/null
+++ b/sys-apps/ucspi-tcp/ucspi-tcp-0.88-r18.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/ucspi-tcp/ucspi-tcp-0.88-r18.ebuild,v 1.1 2014/12/30 22:28:36 vapier Exp $
+
+EAPI="4"
+
+inherit eutils qmail
+
+DESCRIPTION="Collection of tools for managing UNIX services"
+HOMEPAGE="http://cr.yp.to/ucspi-tcp.html"
+SRC_URI="
+ http://cr.yp.to/${PN}/${P}.tar.gz
+ mirror://qmail/ucspi-rss.diff
+ http://smarden.org/pape/djb/manpages/${P}-man.tar.gz
+ http://xs3.b92.net/tomislavr/${P}-rblspp.patch
+ ipv6? ( http://www.fefe.de/ucspi/${P}-ipv6.diff19.bz2 )
+"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
+IUSE="ipv6 qmail-spp selinux"
+RESTRICT="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !app-doc/ucspi-tcp-man
+ selinux? ( sec-policy/selinux-ucspitcp )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-protos.patch
+ if use ipv6; then
+ epatch "${WORKDIR}"/${P}-ipv6.diff19
+ epatch "${FILESDIR}"/${PV}-protos-ipv6.patch
+ epatch "${FILESDIR}"/${PV}-tcprules.patch #135571
+ epatch "${FILESDIR}"/${PV}-bigendian.patch #18892
+ else
+ epatch "${FILESDIR}"/${PV}-protos-no-ipv6.patch
+ fi
+ epatch "${DISTDIR}"/ucspi-rss.diff
+ epatch "${FILESDIR}"/${PV}-rblsmtpd-ignore-on-RELAYCLIENT.patch
+ epatch "${DISTDIR}"/${P}-rblspp.patch
+ epatch "${FILESDIR}"/${PV}-protos-rblspp.patch
+ epatch "${FILESDIR}"/${PV}-large-responses.patch
+ epatch "${FILESDIR}"/${PV}-uint-headers.patch
+ epatch "${FILESDIR}"/${PV}-ar-ranlib.patch
+
+ epatch_user
+}
+
+src_configure() {
+ qmail_set_cc
+ # The AR/RANLIB logic probably should get moved to the qmail eclass.
+ # See also the patch above for generating the "makelib" script.
+ tc-export AR RANLIB
+
+ echo "${EPREFIX}/usr/" > conf-home
+}
+
+src_install() {
+ dobin tcpserver tcprules tcprulescheck argv0 recordio tcpclient *\@ \
+ tcpcat mconnect mconnect-io addcr delcr fixcrio rblsmtpd
+
+ if use qmail-spp; then
+ insinto "${QMAIL_HOME}"/plugins
+ insopts -m 755
+ doins rblspp
+ fi
+
+ doman "${WORKDIR}"/${P}-man/*.[1-8]
+ dodoc CHANGES FILES README SYSDEPS TARGETS TODO VERSION
+
+ insinto /etc/tcprules.d
+ newins "${FILESDIR}"/tcprules-Makefile Makefile
+}