diff options
Diffstat (limited to 'dev-lang/icon')
-rw-r--r-- | dev-lang/icon/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/icon/files/icon-9.5.1-fpoll.patch | 27 | ||||
-rw-r--r-- | dev-lang/icon/icon-9.5.1-r2.ebuild | 114 |
3 files changed, 143 insertions, 0 deletions
diff --git a/dev-lang/icon/Manifest b/dev-lang/icon/Manifest index c89c82afd8fd..90d81a199f45 100644 --- a/dev-lang/icon/Manifest +++ b/dev-lang/icon/Manifest @@ -1,4 +1,6 @@ AUX icon-9.5.1-flags.patch 2148 BLAKE2B 37fcaca92f67be74caddbf7789ca4e666a4e0b98e7cac3a89376bae5c50fd248eae0f0b282a46ec8d6dc55f5c423ad6dc69744d2999e96ec183d9bb369f7e7b0 SHA512 28b201a1347167b028187d6d35cb50450cf6a13b48fbf65a616683fb6c5d3373d9ba9e64c3d6fe397e858388c88a52ab330a00dc5e4ca087567089e8cdd3c897 +AUX icon-9.5.1-fpoll.patch 977 BLAKE2B 720fac1a8109d3400b6a718f708904d14e2d4207840a2e4d31888dd4be2d02c241c2f40271b89f6e3273732288e203e9298f061dfb485ca4eb0c24baea02534c SHA512 4b9d471d7d2992a75cccea98790339318b8a622d993a34affc69e0dbbbfa7103e8b994494eb33aaf26168bdb18623c5419f2c34471dee4adb1a004b420b793ab DIST icon-v951src.tgz 3133040 BLAKE2B 790a66a8210c1b9c55514a560590f08d3e52d7c5115d60554183f1118b5705fc1754b8188dcc3b5b739318374d568b6eafc1e3c4266de5416709e7ce6056925b SHA512 032dc9cfa57af5af2eb84b2116d0537124b5efb87b7cf744ecace2ccf49e461d5be5f91df99d85e8a988520d144fe4ecf06a6e78f7fff997b78afa95355449ad EBUILD icon-9.5.1-r1.ebuild 2519 BLAKE2B 0c2cfb5c74878481e6d0b6926705497e565505052ca3969aa405941700b4d58ccf03623449ca4d327d5b067e978e852e44494abe0ed3f51b3994b2a566f8a1d0 SHA512 880a9d3d48715d20846592c61196eef061446dcaaaef6620475f38955c5218c9792d3c20b3069048d6075b31ba74f76a481c3e5e507fd2f8a41e624578088b74 +EBUILD icon-9.5.1-r2.ebuild 2677 BLAKE2B 0e4c2c69d4129cca02150a4b99b19e39fafdf70e0cd69399f4799be449498ab9af1fa5e2fff29e15a684aee0ad881e55bb7f81c1157f64af29452013584b8255 SHA512 b60f02abf351ddb63afb4852189983efc46b0888bdaaf20c500a9203e0d11345d07274a22b2c0691b5a87c6c5913efeea7e9f696ce2e868fbd9580929d0fa04e MISC metadata.xml 467 BLAKE2B b480285505dec662f62038d22a88323f01f21b100de7ee652f2e3d5f5f4cdf4345ad7d303f2713b1a2816157c46610c2f5287cb385c61998f68fd95d09bf9d5b SHA512 1a77000b72ae453ecb2bd4452e32ea917328a61bb882e107b96f013ddaa218e951743569e38e97210a341755bd7c891324123d96e56da9a5a7caa93ad4dbb93a diff --git a/dev-lang/icon/files/icon-9.5.1-fpoll.patch b/dev-lang/icon/files/icon-9.5.1-fpoll.patch new file mode 100644 index 000000000000..d2a4d5f33d21 --- /dev/null +++ b/dev-lang/icon/files/icon-9.5.1-fpoll.patch @@ -0,0 +1,27 @@ +diff --git a/ipl/cfuncs/fpoll.c b/ipl/cfuncs/fpoll.c +index 9230e18..33b8121 100644 +--- a/ipl/cfuncs/fpoll.c ++++ b/ipl/cfuncs/fpoll.c +@@ -60,12 +60,9 @@ int fpoll(int argc, descriptor *argv) /*: await data from file */ + + /* check for data already in buffer */ + /* there's no legal way to do this in C; we cheat */ +-#if defined(__GLIBC__) && defined(_STDIO_USES_IOSTREAM) /* new GCC library */ ++#if defined(__GLIBC__) /* New GCC library */ + if (f->_IO_read_ptr < f->_IO_read_end) + RetArg(1); +-#elif defined(__GLIBC__) /* old GCC library */ +- if (f->__bufp < f->__get_limit) +- RetArg(1); + #elif defined(_FSTDIO) /* new BSD library */ + if (f->_r > 0) + RetArg(1); +@@ -92,7 +89,7 @@ int fpoll(int argc, descriptor *argv) /*: await data from file */ + + if (r > 0) + RetArg(1); /* success */ +- else if (r == 0) ++ else if (r == 0) + Fail; /* timeout */ + else + ArgError(1, 214); /* I/O error */ diff --git a/dev-lang/icon/icon-9.5.1-r2.ebuild b/dev-lang/icon/icon-9.5.1-r2.ebuild new file mode 100644 index 000000000000..5f313ed60aae --- /dev/null +++ b/dev-lang/icon/icon-9.5.1-r2.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="very high level language" +HOMEPAGE="http://www.cs.arizona.edu/icon/" + +MY_PV=${PV//./} +SRC_URI="http://www.cs.arizona.edu/icon/ftp/packages/unix/icon-v${MY_PV}src.tgz" + +LICENSE="public-domain HPND" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="X iplsrc" + +S="${WORKDIR}/icon-v${MY_PV}src" + +RDEPEND=" + X? ( x11-libs/libX11:= )" +DEPEND=" + ${RDEPEND} + X? ( + x11-libs/libXpm + x11-libs/libXt + )" + +PATCHES=( + "${FILESDIR}"/${PN}-9.5.1-flags.patch + # https://bugs.gentoo.org/669330 + # Fix glibc 2.28 problem. + # Patch has also been submitted for upstream approval + "${FILESDIR}"/${PN}-9.5.1-fpoll.patch +) + +src_prepare() { + default + + # do not prestrip files + find src -name 'Makefile' | xargs sed -i -e "/strip/d" || die +} + +src_configure() { + # select the right compile target. Note there are many platforms + # available + local mytarget; + if [[ ${CHOST} == *-darwin* ]]; then + mytarget="macintosh" + else + mytarget="linux" + fi + + # Fails if more then one make job process. + # This is an upstream requirement. + emake -j1 $(usex X X-Configure Configure) name=${mytarget} + + # sanitise the Makedefs file generated by Configure + sed -i \ + -e 's:-L/usr/X11R6/lib64::g' \ + -e 's:-L/usr/X11R6/lib::g' \ + -e 's:-I/usr/X11R6/include::g' \ + Makedefs || die "sed of Makedefs failed" + + append-flags $(test-flags -fno-strict-aliasing -fwrapv) +} + +src_compile() { + # Fails if more then one make job process. + # This is an upstream requirement. + emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS}" +} + +src_test() { + emake Samples + emake Test +} + +src_install() { + # Needed for make Install + dodir /usr/$(get_libdir) + + emake Install dest="${D}/usr/$(get_libdir)/icon" + dosym ../$(get_libdir)/icon/bin/icont /usr/bin/icont + dosym ../$(get_libdir)/icon/bin/iconx /usr/bin/iconx + dosym ../$(get_libdir)/icon/bin/icon /usr/bin/icon + dosym ../$(get_libdir)/icon/bin/vib /usr/bin/vib + + cd "${S}/man/man1" || die + doman "${PN}"t.1 + doman "${PN}".1 + + cd "${S}/doc" || die + DOCS=( *.txt ../README ) + + HTML_DOCS=( *.{htm,gif,jpg,css} ) + einstalldocs + + # Clean up items from make Install that get installed elsewhere + rm -rf "${ED}"/usr/$(get_libdir)/${PN}/man || die + rm -rf "${ED}"/usr/$(get_libdir)/icon/{doc,README} || die + + # optional Icon Programming Library + if use iplsrc; then + cd "${S}" || die + + # Remove unneeded files before copy + rm -fv ipl/{BuildBin,BuildExe,CheckAll,Makefile} || die + + insinto /usr/$(get_libdir)/icon + doins -r ipl + fi +} |