diff options
author | Amy Winston <amynka@gentoo.org> | 2016-03-14 13:32:20 +0100 |
---|---|---|
committer | Amy Winston <amynka@gentoo.org> | 2016-03-14 13:32:20 +0100 |
commit | 0be8a5b97888c1a5755b786b6974f6827760f2c7 (patch) | |
tree | cf68d3ddbea6537e62ab3dacca15f6a620815fe3 /dev-lang | |
parent | dev-ml/mirage-profile: bump to 0.7.0 (diff) | |
download | gentoo-0be8a5b97888c1a5755b786b6974f6827760f2c7.tar.gz gentoo-0be8a5b97888c1a5755b786b6974f6827760f2c7.tar.bz2 gentoo-0be8a5b97888c1a5755b786b6974f6827760f2c7.zip |
dev-lang/fpc: version bump 3.0.0
Package-Manager: portage-2.2.26
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/fpc/Manifest | 5 | ||||
-rw-r--r-- | dev-lang/fpc/fpc-3.0.0.ebuild | 162 |
2 files changed, 167 insertions, 0 deletions
diff --git a/dev-lang/fpc/Manifest b/dev-lang/fpc/Manifest index 236ecc650844..05b747d8692a 100644 --- a/dev-lang/fpc/Manifest +++ b/dev-lang/fpc/Manifest @@ -7,4 +7,9 @@ DIST fpc-2.6.4.powerpc-linux.tar 48220160 SHA256 c1af7e353b7ac40fdd542fbcb6fbfb0 DIST fpc-2.6.4.powerpc64-linux.tar 53975040 SHA256 20a0b4ef0810afe826c4dbf7003f72f5968c3b7caa581e3202f29e38c075fa29 SHA512 0e978f68e339f12e2c53c8641c4f0918604b6b970949159dd20c49d65dabb5253d338d180da144eea3c6102a0110c401d03efbd634885220a320fce5fc686b16 WHIRLPOOL 65c3c496a32f86372db1eb7dc81dd413b0c813313fc6acf3d09c90d37c7c923b4c03420c9043b25dc054072bcbec4b8cb1255bd2e95ad1b966001d09d7031982 DIST fpc-2.6.4.source.tar.gz 29904088 SHA256 c16f2e6e0274c7afc0f1d2dded22d0fec98fe329b1d5b2f011af1655f3a1cc29 SHA512 653968786b40c69c3703f67cddfe7c501686cc8b3524a045498c247dc36b66a6619e9cdb5bb5ca002fb700ddc0b653f2a4298e92527df46fc09c8a69e8e9c3a5 WHIRLPOOL 73fa37e002c1674dee097955b6e199df4bd2a25e0149121810593378b9083660bf1e3eda7398b07d9e97a5a6bdbffe41018d2e40d4b86915076f097422dae417 DIST fpc-2.6.4.x86_64-linux.tar 50350080 SHA256 196c386f927d772c447fb4c84f61b29133891d14261f0ed3aa773c2f9dda3b39 SHA512 3a993d1f978353a1d68d8ce2cd62748a875b0d0589ed8daf71ebba545b51879b09173e26245e02ac327b5d64932153a7695975c02f3f266642b4ef68e8ff48dc WHIRLPOOL eba5dde2fa6614ebc1e3969a7a8524c779cdb7a3ebdb8855872669387488d5606f0c482cc8e9f8ac9db33203edbb5e0fc01c26c61d3179cd67479167705ecc2a +DIST fpc-3.0.0-doc-html.tar.gz 5253600 SHA256 0e2f2d873750602f1ec21d879e710deec3cfc9cc015dd2694fd2e6b01f697111 SHA512 8a6fb405330eb5d4faa6bc892c7cd8b757b2e7b437e3ce19d85d5b98f702df936e1111e0ba9aac24099d20f6366a3bc8c674e087adbd463e62c2b5c615136486 WHIRLPOOL 0336fc2bfcb129e8c8bac25b85fc696cf516d08d5114df85a8b9f81c57850c66d357c169c453304edeb0c55f358d3c0dd5d3cfe6400e8b378aeb5ea57eccd41e +DIST fpc-3.0.0.i386-linux.tar 44892160 SHA256 b3bc31c7650bea785ca44bd6e5a8d685bf2dad3ae6cd34f73e5dffa05f0b6e40 SHA512 6d409aaa3827018f27813d7965f2d820e36b725ad8ec3257b89688b0bbf722b41e44ab99495050422b91db71323a081bd60c68f3919d04f17b1922264ec10e13 WHIRLPOOL a3bce4937215a706b9ad2d14a1a96e0fd02b792524b36e3455b0dea40ee3ec404fb2cd8677f2488325a85ad52c95cb9143481a00a44010f70636c73de3cf0292 +DIST fpc-3.0.0.source.tar.gz 38311370 SHA256 46354862cefab8011bcfe3bc2942c435f96a8958b245c42e10283ec3e44be2dd SHA512 18b91a10320b0c52d0486aa241dbfeb5777eebe040f393f9b3661e8ab27a338b5a8d84c9461d40c6d11b362af2deb014f7c3fc273fc11fee1fc9badf19e18b88 WHIRLPOOL 08d4dad14255fcedab822d189abcd74d80b9e0596489277dced626dfcfda8a8768d035061c080a54ce2e977e0a0074204809359a4bb8c254a0316126427510c3 +DIST fpc-3.0.0.x86_64-linux.tar 46571520 SHA256 c952a6f1fc9a32da7a3f77c309e64fa1b536516e4fae16ff58ac10d5ece85dd4 SHA512 26502cf1dfd2bb83fe860e41cb064ccc5b971d112bf05f95e92089ea71bf0e3aafe659ef4cfc4967dd62271b5ecd3468fedf63dc351944b9e8cb52d662d4a3bb WHIRLPOOL 8d99e813da5c04b7160b42d87b759890af286903db982df9ad2e61b8e11f54f92994dd6b038252541ee46d8edd9ec217281ef3dfd9e34e8357023dde6b55500a DIST fpcbuild-2.6.4.tar.gz 55604643 SHA256 8d9c3bcfa469d9b37c05663e2775d179809e4b3443604fac7d21aa64c9a56daa SHA512 7c48fb48a3742ffe533a8a172758071c0a1129ffac09231e6969aa1d31bac346dc764598b6ae78dc9d25585a788f6ed4f2b4c39502774d4d3620f09185b807de WHIRLPOOL d2cb72917031f6ffaeb66c2e1e4f0bc18050da2437241da9e6655af4f62aa3e05c7f7c89ba88ba3f96ee20571c3e0d733bebab7a9c2e3f04aa2f0208bb1dc7f9 +DIST fpcbuild-3.0.0.tar.gz 66934428 SHA256 d5913b1d5d3d13190ae7ee72c305d5da49ac2ddc1b375b814751ef09ae5c80ec SHA512 d010cdc2dd2d4c6efe67cf005d0babb00c2a8ae70942c8b838bb690153ad72e52c0d7198eded7bbde8c77e64d28b2d7f5a220fdcd6117e5991cd11a24369d1f1 WHIRLPOOL 1b0d68b0b1f9f9825a21774269a02eb6144932af1e132932b88bc10d0d234a20b8b441b2281abf50c919e4dd8e20e97a4467b7a6498d2d13a887167f44999e76 diff --git a/dev-lang/fpc/fpc-3.0.0.ebuild b/dev-lang/fpc/fpc-3.0.0.ebuild new file mode 100644 index 000000000000..74da001b2967 --- /dev/null +++ b/dev-lang/fpc/fpc-3.0.0.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit toolchain-funcs + +HOMEPAGE="http://www.freepascal.org/" +DESCRIPTION="Free Pascal Compiler" +SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz + mirror://sourceforge/freepascal/fpc-${PV}.source.tar.gz + amd64? ( mirror://sourceforge/freepascal/${P}.x86_64-linux.tar ) + x86? ( mirror://sourceforge/freepascal/${P}.i386-linux.tar ) + doc? ( mirror://sourceforge/freepascal/Documentation/${PV}/doc-html.tar.gz -> ${P}-doc-html.tar.gz )" + +SLOT="0" +LICENSE="GPL-2 LGPL-2.1-with-linking-exception" +KEYWORDS="~amd64 ~x86" +IUSE="doc ide source" + +RDEPEND="ide? ( !dev-lang/fpc-ide )" + +RESTRICT="strip" #269221 + +S=${WORKDIR}/fpcbuild-${PV}/fpcsrc + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + # Bug 475210 + if $(tc-getLD) --version | grep -q "GNU gold"; then + eerror "fpc does not function correctly when built with the gold linker." + eerror "Please select the bfd linker with binutils-config." + die "GNU gold detected" + fi + fi +} + +src_unpack() { + case ${ARCH} in + amd64) FPC_ARCH="x86_64" PV_BIN=${PV} ;; + x86) FPC_ARCH="i386" PV_BIN=${PV} ;; + *) die "This ebuild doesn't support ${ARCH}." ;; + esac + + unpack ${A} + + tar -xf ${PN}-${PV_BIN}.${FPC_ARCH}-linux/binary.${FPC_ARCH}-linux.tar || die "Unpacking binary.${FPC_ARCH}-linux.tar failed!" + tar -xzf base.${FPC_ARCH}-linux.tar.gz || die "Unpacking base.${FPC_ARCH}-linux.tar.gz failed!" +} + +src_prepare() { + find "${WORKDIR}" -name Makefile -exec sed -i -e 's/ -Xs / /g' {} + || die + + # let the pkg manager compress man files + sed -i '/find man.* gzip /d' "${WORKDIR}"/fpcbuild-${PV}/install/man/Makefile || die +} + +set_pp() { + case ${ARCH} in + amd64) FPC_ARCH="x64" FPC_PARCH="x86_64" ;; + x86) FPC_ARCH="386" FPC_PARCH="i386" ;; + *) die "This ebuild doesn't support ${ARCH}." ;; + esac + + case ${1} in + bootstrap) pp="${WORKDIR}"/lib/fpc/${PV_BIN}/ppc${FPC_ARCH} ;; + new) pp="${S}"/compiler/ppc${FPC_ARCH} ;; + *) die "set_pp: unknown argument: ${1}" ;; + esac +} + +src_compile() { + local pp + + # Using the bootstrap compiler. + set_pp bootstrap + + emake -j1 PP="${pp}" compiler_cycle AS="$(tc-getAS)" + + # Save new compiler from cleaning... + cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new || die + + # ...rebuild with current version... + emake -j1 PP="${S}"/ppc${FPC_ARCH}.new AS="$(tc-getAS)" compiler_cycle + + # ..and clean up afterwards + rm "${S}"/ppc${FPC_ARCH}.new || die + + # Using the new compiler. + set_pp new + + emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl_clean + + emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl packages_all utils + + if use ide ; then + cd "${S}"/ide || die + emake -j1 PP="${pp}" AS="$(tc-getAS)" + fi +} + +src_install() { + local pp + set_pp new + + #fpcbuild-3.0.0/utils/fpcm/fpcmake + #${WORKDIR}/${PN}build-${PV}/utils/fpcm/fpcmake" + #fpcbuild-3.0.0/fpcsrc/utils/fpcm/bin/x86_64-linux/fpcmake + set -- PP="${pp}" FPCMAKE="${S}/utils/fpcm/bin/${FPC_PARCH}-linux/fpcmake" \ + INSTALL_PREFIX="${D}"/usr \ + INSTALL_DOCDIR="${D}"/usr/share/doc/${PF} \ + INSTALL_MANDIR="${D}"/usr/share/man \ + INSTALL_SOURCEDIR="${D}"/usr/lib/fpc/${PV}/source + + emake -j1 "$@" compiler_install rtl_install packages_install utils_install + + dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH} + + cd "${S}"/../install/doc || die + emake -j1 "$@" installdoc + + cd "${S}"/../install/man || die + emake -j1 "$@" installman + + if use doc ; then + cd "${S}"/../../doc || die + dodoc -r * + fi + + if use ide ; then + cd "${S}"/ide + emake -j1 "$@" install + fi + + if use source ; then + cd "${S}" || die + shift + emake -j1 PP="${D}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall + find "${D}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \; + fi + + "${D}"/usr/lib/fpc/${PV}/samplecfg "${D}"/usr/lib/fpc/${PV} "${D}"/etc || die + + sed -i "s:${D}::g" "${D}"/etc/fpc.cfg || die + + if use ide ; then + sed -e "s:${D}::g" \ + -i "${D}"/etc/fppkg.cfg \ + -i "${D}"/etc/fppkg/* \ + -i "${D}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \ + || die + fi + + rm -r "${D}"/usr/lib/fpc/lexyacc || die +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] && use ide; then + einfo "To read the documentation in the fpc IDE, enable the doc USE flag" + fi +} |