diff options
author | Mark Wright <gienah@gentoo.org> | 2015-07-09 09:46:47 +0000 |
---|---|---|
committer | Mark Wright <gienah@gentoo.org> | 2015-07-09 09:46:47 +0000 |
commit | cde1f98248463dc59d48c24b5d44629075ded3d5 (patch) | |
tree | 0f0a33c5ee1bf29580913893353ed43011aa125f /dev-lang | |
parent | Remove old. (diff) | |
download | historical-cde1f98248463dc59d48c24b5d44629075ded3d5.tar.gz historical-cde1f98248463dc59d48c24b5d44629075ded3d5.tar.bz2 historical-cde1f98248463dc59d48c24b5d44629075ded3d5.zip |
Bump polyml to 5.5.2 with patches from the fixes-5.5.2 branch to allow sci-mathematics/isabelle-2015 to build. Drop obsolete polyml-5.2.1.ebuild. Specify slot 0 on x11-libs/motif dependency.
Package-Manager: portage-2.2.20/cvs/Linux x86_64
Manifest-Sign-Key: 0x618E971F
Diffstat (limited to 'dev-lang')
11 files changed, 283 insertions, 62 deletions
diff --git a/dev-lang/polyml/ChangeLog b/dev-lang/polyml/ChangeLog index e3fa219837f2..23859ee0af8b 100644 --- a/dev-lang/polyml/ChangeLog +++ b/dev-lang/polyml/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for dev-lang/polyml # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/ChangeLog,v 1.12 2015/06/09 14:09:00 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/ChangeLog,v 1.13 2015/07/09 09:46:32 gienah Exp $ + +*polyml-5.5.2 (09 Jul 2015) + + 09 Jul 2015; Mark Wright <gienah@gentoo.org> + +files/polyml-5.5.2-r1952-check_for_negative_sized_array.patch, +files/polyml- + 5.5.2-r1954_Fix_segfault_in_FFI_when_malloc_runs_out_of_memory.patch, +files/p + olyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch, +fil + es/polyml-5.5.2-r2009_Initialise_the_largeObjectCache_fully_in_the_constructor + .patch, +polyml-5.5.2.ebuild, -polyml-5.2.1.ebuild, polyml-5.4.1.ebuild, + polyml-5.5.0.ebuild, polyml-5.5.1.ebuild: + Bump polyml to 5.5.2 with patches from the fixes-5.5.2 branch to allow sci- + mathematics/isabelle-2015 to build. Drop obsolete polyml-5.2.1.ebuild. Specify + slot 0 on x11-libs/motif dependency. 09 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml: Updating remote-id in metadata.xml diff --git a/dev-lang/polyml/Manifest b/dev-lang/polyml/Manifest index 54d6a963aa15..80092b24670e 100644 --- a/dev-lang/polyml/Manifest +++ b/dev-lang/polyml/Manifest @@ -1,5 +1,5 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA512 +Hash: SHA256 AUX polyml-5.4.1-asm.patch 1026 SHA256 9879c43c7e82e53ff6d15b838b159df3336b791c46e9f80a38f21c4180500bed SHA512 bf19cedff74b11feba72c0ba2f5a9b6ee8169b5bb1b783d3559640070025ca0e7627d751bc703c41d812025d6909cba56101e49f0199f2aee310bc95ca4f2d6d WHIRLPOOL 4e0fda223b89b12801b06be970c98b8c0caece7bc8fb6994e8cebfe8ebf25d1efc8fec0311b360c5665f45279b0bd72ada9199041ad2245ecf4849118ef034ca AUX polyml-5.4.1-configure.patch 459 SHA256 89e712f53a08386505d8a503f23d6e29310ae1b1ce39e3acaa024ab47ab3b20d SHA512 4e3a5e6651c8b6b9cb018f72f100755eee0265ad7dd0ba57030b7bce95670ff35e7191661be469b59206266f5eb51042d98504601311629bc2e83ed36a0cef8f WHIRLPOOL fa3b63cc9ecb46fe099d9a3e7ce050018c7384c269ceb9359dd9f5bfc02dc36317e79acad6dd728758a89486ac0020b00733ddadd43ced831576961f6708289c @@ -9,32 +9,24 @@ AUX polyml-5.5.0-x-it-basis.patch 562 SHA256 114c8b973ec601a616700c5301d09aa74da AUX polyml-5.5.1-inputN-return-for-zero-chars.patch 1475 SHA256 a58a2376b4c9dc3bf47ac9f4c8aa4c177dbedac1bc4333743aa2434268a9751e SHA512 6a92e1b86ea755221659621ff8a1b401ec76b1f24b5f42998b05d8f522412bf5e8bf6d72a76a0eab35a48dde729440b5e6bc4ae4ceb5a1c0f9cef14b06e7cc54 WHIRLPOOL ae8d4b03ab6a30b2ced84ff4e9e077762659c094b0cd25929a14f9fdcc58390dbf37af85301f3fa1f901072aed2c5f9876cc8413256ada7fed43b5f942b9160e AUX polyml-5.5.1-mprotect-exec.patch 1323 SHA256 472fcd191357d157918eafee495a3481bea00e5e627af673860e929f5a8deb19 SHA512 6c2901283959c3e607dff11647cfa8831f43f139d3c77c5a89bca955c65e85d14adec8221763efe69a99c683d2eedba1cdd03bd3bc277cdc227fdb473098acb8 WHIRLPOOL a27fd20f4666adb940c39d972d67485300a7b054b693c590c6e7a58dee35cd168e83d481abd4361c6629c5fbd4fbbda0f442e80cdd51ce9251d44abe7a53f11c AUX polyml-5.5.1-optimize-closure.patch 6694 SHA256 429b66daa4b4cad501a7711139bbc759b3ceca6082ebc187b7cfe661d2efabfd SHA512 215a4afa4dd29ad551b3ac0eb04e390d2776340874824def1b950dafd306e5dada85482ce3ef037765860f00c5e6a75290747b44fa92223b2a9c6a17a887c4d3 WHIRLPOOL 9421c218663f809f02a9e06f9691c59b02b462faedf01c51ca735187a2ce1b87ff7c39e88cbb1df6229fe88880a3865dccef947f76c53db4dee47551f6637115 -DIST polyml.5.2.1.tar.gz 4114551 SHA256 c84148ae9a28e782f48208bcb8c5b82ee7bfdc178784fe81694cf1f0789ae62e SHA512 c3971eb7765712acfe19a48c91183eb1a93b537cdcf479bc70b47676f1a5d93a1cb966839298607274d077df3419c74dcaed319e4b4c0f79e3e78c36f2af428e WHIRLPOOL e02aa5e4995b9f70a04c700bb53306ed712aaf99a8cf2ff9f0a1dd465ccbe905348b7dcad3c6b9528c1b62293f62fb917e5fa9409bd72852897a933776a2fb51 +AUX polyml-5.5.2-r1952-check_for_negative_sized_array.patch 548 SHA256 b65ba50d7184a5f94cc2d841de82180218711b4b312442d51bb5fa87c447bea1 SHA512 d979c6542a2a983ab1b536e8b983d4d0a154f4f5e00f3d4161dd38f965f63ea5bd339785904690928a715ec43cb2a296f535ff6af1da522b096ffae0bba759a4 WHIRLPOOL adf5310406e02e3d258fa6148a1a5e4a7c5097aa330c9c1a046b64f5ef8a2b5a1c50d300e3f97e938557a8a89dabd98f11e85431e1c9fb30b6381bbf97413c7a +AUX polyml-5.5.2-r1954_Fix_segfault_in_FFI_when_malloc_runs_out_of_memory.patch 4089 SHA256 a2f08bc8f5708df1fbb1b91170f43d35b9d6d69b7b7f44ca9ee67e4b747b5d5f SHA512 8b4f174ace31a839ea592402c10068af62f03227a43a663ea17ea5eefecf52472fc6a3437cd99f1593de7d575af57ae4b8156756695623c7db0f9e726e5f21a6 WHIRLPOOL be034af4b9e9f594895ce0cebccd6a8e9cc262a5e2b0c44f45496a57a9c6159385a86c35acccd8e258cd78c61d258ebaaf14c7ed466ff61e0c4450a334334a8f +AUX polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch 1247 SHA256 9e5a5c254b84ac272fa15ce09494ac61c817d47499c3729bfdf65290cada489b SHA512 ac2d1baff1c8d743ee783ac81f31df12cc4598874dd5a9a7855cd06fb179af2c64bc02a87d85a72238f19c805128143693839bd0a58d9a4002bc75fae985303b WHIRLPOOL a2f044c74b9b8898130436c9e59510321af9a71e24287f78f353b8efaa72c0854c456607fa92c44625f980a3f32ec60f543ae1e6fb1c3fabf4000689d699f1dd +AUX polyml-5.5.2-r2009_Initialise_the_largeObjectCache_fully_in_the_constructor.patch 951 SHA256 9612b28a09e7097440962ba9b59678fefcc0ab85a80fd6436484028682a015f3 SHA512 644e90f26ef80aa8e945257eafa4da1ee2da9d353db40b5c6e367d032f41db4a6589a2527bce9d84d45794d88d31edaeb3cea53d57b4421bf209f6c07be69cf0 WHIRLPOOL d82c663331d7e72ace67a3c20edbab4dd2672dd04e0adaa26e47d953f2357cc4654dfb96a5145579d7485f7b0075647c7614952b6b8d3be9adaf1caaad2ba36c DIST polyml.5.4.1.tar.gz 6107319 SHA256 514d1d07be487b783d4dfa29dbd550b3396640579ce135a9eb5a61f08e7f9cac SHA512 4a7b404ed648b5a9fd9d52917214688d15f4f9a5f4570ba13b52a8304bde1cc4b534f539ffc3c9554283816ae130e4c898a179d776df6d3220fba9743a19b175 WHIRLPOOL 048db0b2210d699c0a86940daaafd24bfc81debae412f7e7dcad2585cd5514253f6c47e0006277ef00b640ab971a031d74e64c78c4abcc09712fa9e8593d1720 DIST polyml.5.5.1.tar.gz 5465794 SHA256 cf8009dabc8b5d308d92e201dcd01f17ce14289d30caa8021a87365f4b8e209a SHA512 283954c8bf5599d83ea69916b827b1acae7137fe4add67537026092da2e6f1a89d71d3a394dbba599bbe9e967ded1446f39f4d81afb90301532db6be949f7a6f WHIRLPOOL 5bfeb8dcedcfe9b0a925ed089abc246d70d1269631ee46e9c78b123d461afb80e68640d6c08d77f47e69b0c244e9c7a27750dd7350741911e007f9dbcb2e7f76 +DIST polyml.5.5.2.tar.gz 5599140 SHA256 73fd2be89f7e3ff0567e27ef525ef788775d9f963d6db54069cb34d53040a682 SHA512 248c2a38c4691898bc1243a041f4683bf227d9c8a98c6c3545af2a8a3249ed5ed96f33f90cb2dede8809b42f33c0557650147302cfe046a5fba965ccd93cbc5b WHIRLPOOL d8dae553b6d4effef80b4303ea8fdbb95f8470790ab7ff49e62ae2a47d70d9d0b11b2113caa28302c029049041bd0286ba06a2153b5266b88a6c26eb1714abf7 DIST polyml.5.5.tar.gz 5504389 SHA256 2b20e597e6fe43df1b0ed01e78e410c6b51d0ac7911833e91d94fcc9eb05d831 SHA512 4725c2e4a786b8c63bc6fc1cadad0de818ed935014d51040af43defa07b03ba7bedb2185bfb2e39a0db7284479e79e698b31ec7fe8463c306b668de1eda69b89 WHIRLPOOL 166c7d0037dff771251c95e17d86a6208d926a5adbbac0188426dfe09b7cdbab1b620919068a722f34377fbc59966145ebd1cba5dcb0664943cc82c10d3b5688 -EBUILD polyml-5.2.1.ebuild 599 SHA256 ae47586ab5cf84d8d23e59fc3d0a4a1611ab8a6d4abfe60ad0aad71acb69ff08 SHA512 ce51e98c6eadd9ab2406e62a50015f692a4ed2bf9e7a272523cbadf8adde51e9740d035c2744106cd7816fc3908b301aa6efb238a35a8051e0be1ad11860814d WHIRLPOOL e46e45d05868210ce158d07ae3b6f6e2bd4f5a704f8be11766ec204c8c04186cd6be818027185f5f13552e580ed42ff5a906141cf6705cb1e6f2fb3f320ebef6 -EBUILD polyml-5.4.1.ebuild 989 SHA256 372f27b0c403e920b577b764ce4a20ad89a3a35e3caec3621deb23743717f0df SHA512 a0c0b8457a78e236bcb722f2db291c83474c88b40d5761730ee7784dbc93fc327594bee7068a6a87cbd4d270fe39d345826394685ac226c8431b16ad094ac47a WHIRLPOOL 3576978e4483fd98704081c6f3677476383c0c2463e5585ed6a3405906da013a219a51309f10e4b3b534e4802df29cc727c8cb8a563e1ce5e1f093899249d25a -EBUILD polyml-5.5.0.ebuild 1228 SHA256 0f6169aaf39b123202c4dcc85b3ea1afbca531ccd2cd88640ab904a1a929d539 SHA512 5260ed748087cb85b72ba19546115f118e41d8a02e7810784c072c7289e9e059a981565514df253098f29d74e19707516f7e001f9150590c5119562432408a8e WHIRLPOOL 9a0d7965475c0f4278ae3875dcab5db27245dccd7e3a1e3a62c20c4fab04c646d10d92e020222b81b82d0164af3b7e1fb86ca360de1d65dccead2271f0076afb -EBUILD polyml-5.5.1.ebuild 1911 SHA256 aa51d6a86a7fc29ee7994b7e94cbb27719e1ef1c39e0e6e34095c9956b6f47c3 SHA512 5bbbfcd1a10f195a83f7396bfa31c3cdd15717d4d68be31d5fa70cd966a5866207a58ea7998a76bb5036063030a92236f597ed0b77a58f8572e13a6726129469 WHIRLPOOL 7b87252febdb89d6d9ab4e9de6d893c92f99cfb281f8f6152bdf8ae0772c7b78449a0a515ed488cefe003781e1bd344630be858c2980cbb569be671c754ca4ad -MISC ChangeLog 2747 SHA256 33041d14af036e8f9d8edf8d74c148b29455f018e6eb238c67c3ede9cfef849b SHA512 609a713fba75d9edcdf9edc61034bea439ab1d01f7d8f577e19313daf42be83665989fc1c12bd3005ad9c5f8ea1f001f1c542617f11ea6e1cab6b9591cfd9373 WHIRLPOOL ba471df9b7aab5c4f9bddd7edb6869de7bf8ff91f8a45654185fc746764bce2163e6190f44f0b7d266510848cc19e3aa294e16ffba984a7eabdb87b2c937c27c +EBUILD polyml-5.4.1.ebuild 991 SHA256 795895dfad0648a066d26538d443c42db6cb1fc4b1664f58dc837f3da72c9064 SHA512 8a6cab2a75d1920b8e71cd95eadc66b9695df6ec087d6937e160573085c00727407978c3e1562771b9d6588665073350f479d75c634825ea3f068e24061c3929 WHIRLPOOL 576b04e8dc65a514adf52872f8e244948eefd929827b067e1124b5e0137a63cd10754145f674f157d479b73311a97515af342bd6dce42a073e6d930e7d93cb74 +EBUILD polyml-5.5.0.ebuild 1230 SHA256 9370fca01997bf08e3301ebdb0505c89bb882b4ee0b4adfbf24bdfd079a24074 SHA512 e9ef2c238c87181836c4fea8cd859892188d00a53ed0dcc3b6f10b63500d117131fa3193ced02df1d2b74bd5aba678fe69df3acaf2a435241197406e312969ab WHIRLPOOL 41ee3e40f823545e29034130fd6359125f1e420e81792f0684725747727bc2c08826bc8bef500f11eaee0a830c2f553171c8a9faa091ba2002e72a5b25df543a +EBUILD polyml-5.5.1.ebuild 1913 SHA256 0701845bb6f5c06f7144ac368d8a6fd4f2f9f038c6adacbbd02895040094683b SHA512 f1552afeebe842e0ee01156b774d24c7787e244f70db9120a65e496b9deed5b28361818bba7a8feabf3b20dab8a7bf82a22d58acbae5526d8f391d967ac95763 WHIRLPOOL e494fc46f8d06980e907883eee83d0cfaffe5d1a11f8b28cd42c9f53cb21eb081ced29ed8247f834fc24834d3989e0425e39a00418e86259fbf239c3cac37aba +EBUILD polyml-5.5.2.ebuild 2071 SHA256 defef2ccf0ddef27e18ff23a1ca8049cb40eee763c73c83a8a7428bbbe9b7a75 SHA512 7a676c5d80eba8582bce0d436aece20dc623cd64594e5748d14e18b8705e7ff830b65566fa24b2158a0bfdc49c99231f6d3363dbed8b311b7a9668866e2ea4b0 WHIRLPOOL f4100a8789d770626126766f4e464415f2b1a5a8fdc4595907e6dc3ff11ce2e0d97f03f02168c21bd1604ae1617f6884946e10adbcdef99b1b637cb798d39c5c +MISC ChangeLog 3467 SHA256 e234d6a82bafcf318ab6bf7cce265924c9c974509ac66df2f84f498ddaa1a837 SHA512 219f020da6115415d7dbd9c076bcf25e9809a99168cdd336916e193c8412b70b681f03504e64bf33900afad95f936ba6cd5841c2eb3b5711a1fb83d795316e1b WHIRLPOOL 92517471801ceb4e0083bb4990da61729f7bdf3fcf8e30acf1528c3e1203f368d641eba1cd3e8c0e292e5a4c7987e5df8673f4f126e59f04d8187ab2c26e6d6e MISC metadata.xml 471 SHA256 0bfe5fc6da051736285084df38ff47d60e98106fe0cc9d721fe9f3b74e81ef98 SHA512 6bae40b9659b82b5ca98104d80f22a41f02923894579021bbb2843598efdae27108f360b210217bfa0323844ec17569febff5db1414d20edf3b1843a9cd45795 WHIRLPOOL c3f961528f7ea9802298930aa08b6bbe1b4033bd187c22a23a9071f33b72c331c8758161c5c5c0fa9f07fa0182e88fe65fa64e81a03b9c95439763466e9938ae -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0 +Version: GnuPG v2 -iQJ8BAEBCgBmBQJVdvN9XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w -ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0QUU0N0I4NzFERUI0MTJFN0EyODE0NUFF -OTQwMkE3OUIwMzUyOUEyAAoJEOlAKnmwNSmiKzcQALcv/5g2L7m7ZOFpZbRgr1RF -gU+FSPS0YlWG7u7msHOEVoqXBx3tsqkq6SeelViiet6zlzIbLlk081ibgCFXVDLB -szBeXRKmZ8zIP0CCFmWuAjYf+truk72TJdmWtAx9Q9kBWhVerJOmSNoC4RfVhQ0n -kiEXh6ig54BLb9mAecQQcEaLV/j3j4ZQFUg84UWIhE8wbrdcLXKnoZOdfFWrZ5jk -pa7sc/+IYFvH4xsmdi81hmlo9fXtIJiMHPtHzWdtqhLahf957OREa2Ceo1jpDbhx -YMuT4YMtREPZ00jEDZdQzA09zdNn++FNOinPMVhwRULAtowgwCcD9cQ58tr7XaFR -mqTpwlSWmo7wMJYegw7BfTKR6DwzSKuu/BpgtJ3ICDw1w5HO88aVkWhpEkKSTsuS -INmKwlzRBbBRJCMUBC4DS9zfi1vC21dif1pZDBPSWgfpLY6Kpew9YQ5GXpmq+LGj -eaQpWSgUynsvpCWQ4lO3I7VycCpmEf56SUho3c4RWyzImXKT058tZHkdUiZI2Tju -vbXh6DuArrjS6ygIeaUv+t2IEyeTgpcSf28DDplAwJOp7eof5fhrM/ejvZ+mEMl+ -GpECWl7sr86oXX9uS4cMIIKDrZAhIg+kmAFpWQcmAsqQgcUKKcKwAXoWXjCk/o6B -INL5Yrcb5PELWa7p7Kpq -=nuDB +iF4EAREIAAYFAlWeZcAACgkQoBEVQmGOlx/pvAEAkTP4Awlw1Jua4bW2+yeXB/va +ZB9gYwwRoAUxO9CCPzkBAL+qcOOSHHQfmfff5q4jQhGU1cUWXmRP+HnMYh2Z0Pjo +=m/9W -----END PGP SIGNATURE----- diff --git a/dev-lang/polyml/files/polyml-5.5.2-r1952-check_for_negative_sized_array.patch b/dev-lang/polyml/files/polyml-5.5.2-r1952-check_for_negative_sized_array.patch new file mode 100644 index 000000000000..1451d2df8d84 --- /dev/null +++ b/dev-lang/polyml/files/polyml-5.5.2-r1952-check_for_negative_sized_array.patch @@ -0,0 +1,13 @@ +Index: polyml/basis/Array.sml +=================================================================== +--- polyml/basis/Array.sml (revision 1951) ++++ polyml/basis/Array.sml (revision 1952) +@@ -129,7 +129,7 @@ + + fun array(len, a) = + let +- val () = if len >= maxLen then raise General.Size else () ++ val () = if len < 0 orelse len >= maxLen then raise General.Size else () + val vec = System_alloc(len+1, 0wx40, RunCall.unsafeCast a) + in + System_setw(vec, 0, RunCall.unsafeCast len); diff --git a/dev-lang/polyml/files/polyml-5.5.2-r1954_Fix_segfault_in_FFI_when_malloc_runs_out_of_memory.patch b/dev-lang/polyml/files/polyml-5.5.2-r1954_Fix_segfault_in_FFI_when_malloc_runs_out_of_memory.patch new file mode 100644 index 000000000000..783577026f67 --- /dev/null +++ b/dev-lang/polyml/files/polyml-5.5.2-r1954_Fix_segfault_in_FFI_when_malloc_runs_out_of_memory.patch @@ -0,0 +1,112 @@ +Index: polyml/libpolyml/foreign.cpp +=================================================================== +--- polyml/libpolyml/foreign.cpp (revision 1953) ++++ polyml/libpolyml/foreign.cpp (revision 1954) +@@ -4,7 +4,7 @@ + + Copyright (c) 2000-7 + Cambridge University Technical Services Limited +- Further development Copyright David C.J. Matthews 2008-2011. ++ Further development Copyright David C.J. Matthews 2008-2014. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public +@@ -251,6 +251,10 @@ + + static Volatile *vols; + static PLock volLock; // Mutex to protect vols. ++// TODO: There is a theoretical risk of deadlock if any ML allocation is made while this ++// lock is held. An allocation can result in a GC which requires all threads to release ++// ML memory but another thread could block waiting for the mutex. ++// N.B. raising an exception involves an allocation. + + #define FIRST_VOL 0 + +@@ -268,24 +272,8 @@ + static unsigned callBackEntries = 0; + static PLock callbackTableLock; // Mutex to protect table. + +- + /********************************************************************** + * +- * Malloc / Free Wrappers +- * +- **********************************************************************/ +- +-static POLYUNSIGNED malloc_count = 0; +-#if 0 +-#define Vmalloc(where,size) {where = malloc(size); printf("malloc: %p,%d\n",where,size); fflush(stdout); malloc_count++;} +-#else +-#define Vmalloc(where,size) {where = malloc(size); malloc_count++;} +-#endif +-#define Vfree(p) { free(p); malloc_count--;} +- +- +-/********************************************************************** +- * + * Volatile Allocation + * + **********************************************************************/ +@@ -349,8 +337,12 @@ + PLocker plocker(&volLock); + Handle res = vol_alloc(taskData); + trace(("size= %" POLYUFMT "\n",size)); +- Vmalloc( C_POINTER(UNVOLHANDLE(res)), size ); ++ void *p = malloc(size); ++ if (p == 0) ++ RAISE_EXN("Insufficient memory"); ++ C_POINTER(UNVOLHANDLE(res)) = p; + OWN_C_SPACE(UNVOLHANDLE(res)) = true; ++ + return res; + } + +@@ -685,7 +677,7 @@ + { + // Can now free this. + trace(("Freeing malloc space of <%" POLYUFMT ">\n",from)); +- Vfree(vols[from].C_pointer); ++ free(vols[from].C_pointer); + vols[from].C_pointer = 0; + vols[from].Own_C_space = false; + } +@@ -702,7 +694,6 @@ + } + } + next_vol = to; +- info(("unfreed mallocs=<%" POLYUFMT "> next_vol=<%" POLYUFMT ">\n", malloc_count, next_vol)); + + /* Callback table. Added DCJM 12/4/04. We always process these as strong references. + For the time being at any rate we treat these as permanent entries so that once a +@@ -910,8 +901,9 @@ + RAISE_EXN("libffi error: ffi_prep_cif failed"); + + // malloc memory for the result +- void *result; +- Vmalloc(result, result_type->size); ++ void *result = malloc(result_type->size); ++ if (result == 0) ++ RAISE_EXN("Insufficient memory to allocate space for result"); + + processes->ThreadReleaseMLMemory(taskData); + ffi_call(&cif, sym, result, arg_values); +@@ -1580,6 +1572,9 @@ + + unsigned num_args = length_list(argTypeList->Word()); + ffi_type **arg_types = (ffi_type**)malloc(num_args * sizeof(ffi_type*)); ++ if (arg_types == 0) ++ RAISE_EXN("Insufficient memory to allocate space for arguments"); ++ + PolyWord p = argTypeList->Word(); + for (POLYUNSIGNED i=0; i<num_args; i++,p=Tail(p)) + arg_types[i] = ctypeToFfiType(taskData, Head(p)); +@@ -1587,6 +1582,9 @@ + + // The cif needs to be on the heap so that it is available in the callback. + ffi_cif *cif = (ffi_cif *)malloc(sizeof(ffi_cif)); ++ if (cif == 0) ++ RAISE_EXN("Insufficient memory to allocate space for cif"); ++ + if (ffi_prep_cif(cif, abi, num_args, result_type, arg_types) != FFI_OK) + RAISE_EXN("libffi error: ffi_prep_cif failed"); + diff --git a/dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch b/dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch new file mode 100644 index 000000000000..36c82947f37b --- /dev/null +++ b/dev-lang/polyml/files/polyml-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch @@ -0,0 +1,27 @@ +Index: polyml/libpolyml/gc_mark_phase.cpp +=================================================================== +--- polyml/libpolyml/gc_mark_phase.cpp (revision 2006) ++++ polyml/libpolyml/gc_mark_phase.cpp (revision 2007) +@@ -130,13 +130,6 @@ + if (locPtr == LARGECACHE_SIZE) locPtr = 0; + largeObjectCache[locPtr].base = obj; + largeObjectCache[locPtr].current = currentPtr; +- // To try to narrow down a bug that results in the ASSERT failing, +- // add these extra checks. +- POLYUNSIGNED lengthWord = obj->LengthWord(); +- ASSERT (OBJ_IS_LENGTH(lengthWord)); +- POLYUNSIGNED length = OBJ_OBJECT_LENGTH(lengthWord); +- ASSERT(length == originalLength); +- ASSERT(currentPtr > (PolyWord*)obj && currentPtr < ((PolyWord*)obj)+length); + } + } + else StackOverflow(obj); +@@ -579,6 +572,8 @@ + ASSERT(nInUse == 0); + MTGCProcessMarkPointers *marker = &markStacks[0]; + marker->active = true; ++ marker->locPtr = 0; ++ marker->largeObjectCache[0].base = 0; + nInUse = 1; + + // Scan the permanent mutable areas. diff --git a/dev-lang/polyml/files/polyml-5.5.2-r2009_Initialise_the_largeObjectCache_fully_in_the_constructor.patch b/dev-lang/polyml/files/polyml-5.5.2-r2009_Initialise_the_largeObjectCache_fully_in_the_constructor.patch new file mode 100644 index 000000000000..0629f12f72ca --- /dev/null +++ b/dev-lang/polyml/files/polyml-5.5.2-r2009_Initialise_the_largeObjectCache_fully_in_the_constructor.patch @@ -0,0 +1,21 @@ +Index: polyml/libpolyml/gc_mark_phase.cpp +=================================================================== +--- polyml/libpolyml/gc_mark_phase.cpp (revision 2008) ++++ polyml/libpolyml/gc_mark_phase.cpp (revision 2009) +@@ -176,6 +176,16 @@ + // Clear the mark stack + for (unsigned i = 0; i < MARK_STACK_SIZE; i++) + markStack[i] = 0; ++ // Clear the large object cache. Actually only largeObjectCache[0].base ++ // needs to be set to zero and for the objects allocated on the heap it is ++ // cleared before each GC in either MarkRoots or MarkPointersTask. ++ // The remianing case is the RescanMarked sub-class which is allocated on the stack ++ // but it doesn't hurt to clear it in all cases. ++ for (unsigned j = 0; j < LARGECACHE_SIZE; j++) ++ { ++ largeObjectCache[locPtr].base = 0; ++ largeObjectCache[locPtr].current = 0; ++ } + } + + // Called when the stack has overflowed. We need to include this diff --git a/dev-lang/polyml/polyml-5.2.1.ebuild b/dev-lang/polyml/polyml-5.2.1.ebuild deleted file mode 100644 index 630d3020f4a2..000000000000 --- a/dev-lang/polyml/polyml-5.2.1.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.2.1.ebuild,v 1.3 2009/01/11 19:16:52 maekke Exp $ - -MY_P=${PN}.${PV} - -DESCRIPTION="Poly/ML is a full implementation of Standard ML" -HOMEPAGE="http://www.polyml.org" -SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="X" - -DEPEND="" -RDEPEND="" - -S=${WORKDIR}/${MY_P} - -src_compile() { - econf $(use_with X) - - emake || die -} - -src_install() { - emake DESTDIR="${D}" install || die -} diff --git a/dev-lang/polyml/polyml-5.4.1.ebuild b/dev-lang/polyml/polyml-5.4.1.ebuild index 1eee8a2d5cf5..59faf3c3f5a0 100644 --- a/dev-lang/polyml/polyml-5.4.1.ebuild +++ b/dev-lang/polyml/polyml-5.4.1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.4.1.ebuild,v 1.6 2012/12/05 09:49:35 gienah Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.4.1.ebuild,v 1.7 2015/07/09 09:46:32 gienah Exp $ EAPI="5" @@ -17,7 +17,7 @@ SLOT="0/${PV}" KEYWORDS="~amd64 ~x86" IUSE="X elibc_glibc +gmp portable test +threads" -RDEPEND="X? ( x11-libs/motif ) +RDEPEND="X? ( x11-libs/motif:0 ) gmp? ( >=dev-libs/gmp-5 ) elibc_glibc? ( threads? ( >=sys-libs/glibc-2.13 ) )" DEPEND="${RDEPEND}" diff --git a/dev-lang/polyml/polyml-5.5.0.ebuild b/dev-lang/polyml/polyml-5.5.0.ebuild index 2ced5678abab..953740159dbc 100644 --- a/dev-lang/polyml/polyml-5.5.0.ebuild +++ b/dev-lang/polyml/polyml-5.5.0.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.5.0.ebuild,v 1.3 2012/12/05 09:49:35 gienah Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.5.0.ebuild,v 1.4 2015/07/09 09:46:32 gienah Exp $ EAPI="5" @@ -20,7 +20,7 @@ SLOT="0/${PV}" KEYWORDS="~amd64 ~x86" IUSE="X elibc_glibc +gmp portable test +threads" -RDEPEND="X? ( x11-libs/motif ) +RDEPEND="X? ( x11-libs/motif:0 ) gmp? ( >=dev-libs/gmp-5 ) elibc_glibc? ( threads? ( >=sys-libs/glibc-2.13 ) ) virtual/libffi" diff --git a/dev-lang/polyml/polyml-5.5.1.ebuild b/dev-lang/polyml/polyml-5.5.1.ebuild index 4e902728cb46..2cbc5149e144 100644 --- a/dev-lang/polyml/polyml-5.5.1.ebuild +++ b/dev-lang/polyml/polyml-5.5.1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.5.1.ebuild,v 1.1 2014/02/11 14:35:09 gienah Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.5.1.ebuild,v 1.2 2015/07/09 09:46:32 gienah Exp $ EAPI="5" @@ -17,7 +17,7 @@ SLOT="0/${PV}" KEYWORDS="~amd64 ~x86" IUSE="X elibc_glibc +gmp portable test +threads" -RDEPEND="X? ( x11-libs/motif ) +RDEPEND="X? ( x11-libs/motif:0 ) gmp? ( >=dev-libs/gmp-5 ) elibc_glibc? ( threads? ( >=sys-libs/glibc-2.13 ) ) virtual/libffi" diff --git a/dev-lang/polyml/polyml-5.5.2.ebuild b/dev-lang/polyml/polyml-5.5.2.ebuild new file mode 100644 index 000000000000..07d5e84e3e40 --- /dev/null +++ b/dev-lang/polyml/polyml-5.5.2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/polyml/polyml-5.5.2.ebuild,v 1.1 2015/07/09 09:46:32 gienah Exp $ + +EAPI="5" + +inherit base autotools pax-utils + +MY_P="${PN}.${PV}" + +DESCRIPTION="Poly/ML is a full implementation of Standard ML" +HOMEPAGE="http://www.polyml.org" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="X elibc_glibc +gmp portable test +threads" + +RDEPEND="X? ( x11-libs/motif:0 ) + gmp? ( >=dev-libs/gmp-5 ) + elibc_glibc? ( threads? ( >=sys-libs/glibc-2.13 ) ) + virtual/libffi" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + # Bug 256679 - patch the assembler code. The remaining executable stacks in ./.libs/poly + # comes from the polyml generated ./polyexport.o file. + "${FILESDIR}/${PN}-5.5.0-asm.patch" + # Patches from http://sourceforge.net/p/polyml/code/HEAD/tree/fixes-5.5.2 + # which are required to build and run sci-mathematics/isabelle-2015 + "${FILESDIR}/${PN}-5.5.2-r1952-check_for_negative_sized_array.patch" + "${FILESDIR}/${PN}-5.5.2-r1954_Fix_segfault_in_FFI_when_malloc_runs_out_of_memory.patch" + "${FILESDIR}/${PN}-5.5.2-r2007_Ensure_the_large_object_cache_pointer_is_cleared.patch" + "${FILESDIR}/${PN}-5.5.2-r2009_Initialise_the_largeObjectCache_fully_in_the_constructor.patch" +) + +src_prepare() { + base_src_prepare + eautoreconf + if [ -f "${S}/Tests/Succeed/Test146.ML" ]; then + mv "${S}/Tests/Succeed/Test146.ML" "${S}/Tests/Succeed/Test146.ML.disable-test-as-it-fails" + fi +} + +src_configure() { + econf \ + --enable-shared \ + --disable-static \ + --with-system-libffi \ + $(use_with X x) \ + $(use_with gmp) \ + $(use_with portable) \ + $(use_with threads) +} + +src_compile() { + # Bug 453146 - dev-lang/polyml-5.5.0: fails to build (pax kernel?) + pushd libpolyml || die "Could not cd to libpolyml" + emake + popd + emake polyimport + pax-mark m "${S}/.libs/polyimport" + emake + pax-mark m "${S}/.libs/poly" +} + +src_test() { + emake tests || die "tests failed" +} |