diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-01-21 19:03:35 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-01-21 19:03:35 +0000 |
commit | 0ebf740b9c9bc7c10ac41bea315ecc6c01c79166 (patch) | |
tree | 15bb76d57cfb8652fd2627a24007e0bb92ec4a99 /dev-lang/fpc | |
parent | 5b5df25227111ef465caf5c52bcfb66dac3219cd (diff) |
gentoo resync : 21.01.2018
Diffstat (limited to 'dev-lang/fpc')
-rw-r--r-- | dev-lang/fpc/Manifest | 6 | ||||
-rw-r--r-- | dev-lang/fpc/fpc-3.0.4.ebuild | 165 |
2 files changed, 171 insertions, 0 deletions
diff --git a/dev-lang/fpc/Manifest b/dev-lang/fpc/Manifest index 56304e01f17a..3059cd0a4641 100644 --- a/dev-lang/fpc/Manifest +++ b/dev-lang/fpc/Manifest @@ -15,11 +15,17 @@ DIST fpc-3.0.2-doc-html.tar.gz 5534720 BLAKE2B 0d0dfcd1486dd3627242f008face430d8 DIST fpc-3.0.2.i386-linux.tar 55019520 BLAKE2B b15c99de6b5341d2e41b0ca2644c67808845c0fcaba6e4b3e2efe8d3f8975268491fa4339d4b2aa244e9c71809860c44dad4a6a5609953cb0182144e5648b28e SHA512 adeba89838eceec899edf54a7655a57551319c59eda9f437aa0b6a76bcce1d3cce691a69f40a9fa57ad5c9064abf514c07b879cf40e87cf55c6e10768deb1b7d DIST fpc-3.0.2.source.tar.gz 39841597 BLAKE2B 0c5b51051e478a03edd689a74d759752d11664706e7c117cee68919758ba0bc074b0c288bcd6ba66bfd5895d1e72f2f0c03df3df600d02c1a3b66fc79b58070a SHA512 8b2540af910c31c96c4bf6bc546f7824b2acd9509fea76b5884370d8ebecd836c167a6ef98fac46b16278027cc15aa6a9f63fb72919e3a103408dc16416e43ae DIST fpc-3.0.2.x86_64-linux.tar 57190400 BLAKE2B 2d38ad274b51efaf8d07431607c0d4184af6d76628771535c16f9466f1d5619dbce1a6ddc5fb3249c7c2fa7b314435d111c3397a4759c094d51438b0e33c7d88 SHA512 fac103f3bf7fad5af9a435831f456c5dd7b546729f56c4b51b2a6dedceea27b331edf48024b4ec7993e50432332e8404ae63d64913d793e787756413c8d95417 +DIST fpc-3.0.4-doc-html.tar.gz 5658315 BLAKE2B 49f9e6f3848ad1aaad8b1621ffd5d2026590b3eed515b9bebe09c489cdf2d7170fcf7413794daebf3465190f5588317325b81d9723d824ab49c81db796f2f48f SHA512 1ebc8c5c5f213568dd24d50667c7939e00c33796c131db174ee93a4dc36122383e7d803cd280896c603eccfadc5bc3474b1831fa7f3e457a58fb3a045b8c33b1 +DIST fpc-3.0.4.i386-linux.tar 54691840 BLAKE2B c0951c85a3916c29e8e7391408da09abd86898a42159bfd7e637410ecf3e3a3f266a33edb5eb5ad458be92cf1fc7741eb249a512fe817a73a13207e216e0c0d2 SHA512 eee7528a69d5c745981efc90f571542047a5e6b4f1b391ad5341460035da5feffdfc4c38229134d23513239ccb33dcbc95354559e45746f1f6665541c60d0ca7 +DIST fpc-3.0.4.source.tar.gz 40347617 BLAKE2B 0764c92cc379d6e70a3f33368d96244ea0203b3395a5dbcadebe6ef51b508cbc7c112f9bc7bce69ae6dae1fde03bc9e45a1a8ad70ca154cc4dd51bc93cab82f9 SHA512 fc64fd94c39f220bd7531126d6281fa2141aed61c218595a7906a025660b46629a305ff7eb023f5e1359eafdec2dba69aa5405f1bbc3c1182414968689cbb52e +DIST fpc-3.0.4.x86_64-linux.tar 56842240 BLAKE2B fda488466f409d4f50501ad17edcce2740f0a7e60ac86bbfec235ccc27c619d62d2aab01aa7878ba3e174c35fd46aab98e43eda4528e98fdf3e098330eea9b26 SHA512 085110d0fade11c4e6e79c002522080eb070cebb8ebbed48ca35e3a2dc025df678516e36c7cba5f951e20c0da57dd261d673dda6839ecdf5d88aa8dfe15a56e5 DIST fpcbuild-2.6.4.tar.gz 55604643 BLAKE2B 5aa9aca60c98c68fd629479fb7e13cd16f3a080f67a2687fa81e7d3daee958f41c6935fec45568dcd9fc03317bc94e99867b9c9cdac9d80e8c25386f08b03a55 SHA512 7c48fb48a3742ffe533a8a172758071c0a1129ffac09231e6969aa1d31bac346dc764598b6ae78dc9d25585a788f6ed4f2b4c39502774d4d3620f09185b807de DIST fpcbuild-3.0.0.tar.gz 66934428 BLAKE2B f73e224ccd6229bc4872df09cf776443f262006a73d78151c4ac352d3f1f011885a4b82bceaf64d90ff901f425bfad94fa40f6a1da1a9bd298632ff5acffe7fc SHA512 d010cdc2dd2d4c6efe67cf005d0babb00c2a8ae70942c8b838bb690153ad72e52c0d7198eded7bbde8c77e64d28b2d7f5a220fdcd6117e5991cd11a24369d1f1 DIST fpcbuild-3.0.2.tar.gz 68407379 BLAKE2B 7cc4ed1e629ae4d078aca9589ab7c8b600856818b92391045601b32c9ab8fc9017ec4715b5bcfb059948337f6fc96447ecef00ba8fabbe8eb656ef9393fcc3b7 SHA512 dfa4865d8166b7903914ac101e48bae9761671a77e37cbfd54c2ee8eb6b2ba0e5f3ac4b55867a2ead79499dbae68cc785db531385c5b77d533945c644a2f6fe6 +DIST fpcbuild-3.0.4.tar.gz 68908523 BLAKE2B b5c3936cf0b803aa2cc71f9c25ded470f207c540a1691cf3c2a9876c9e4eefd5c04f45b9f1f3ca17917b14ba4a90e0f16cc890b27024ff225d9d6bb25649862b SHA512 eedfeb4d25b3f4cb30ae9c8f30e0fec2405ef806fa565933cef7904d512f781730e3f023aea2f908c21250e3ced4f74fa780abad77b560728a88cedf591505b6 EBUILD fpc-2.6.4.ebuild 4822 BLAKE2B 4a253bcc5cae7f4d6a1bf9dfc7223cee092ccea5912163c40bc322d3a5aba34b3b85217b3fd45995ab80cdee2ad3093e456fcdc980b63ac452e6bb73f76a1ae0 SHA512 c9f972c77e85c2ed949e4c3093e2710a093cdb78f29dc3ff6108e320aa38a5c2184f0b81f1f264486ccb48462d672bf313af124c02fd7774fa6098522c5a3d66 EBUILD fpc-3.0.0.ebuild 4228 BLAKE2B a182496b5445f605b00855d0b0da1f9a7f9280b0b8f5cdb9bb25eebadfe4839ca488ed6fc260bafb8d1c2542721cc2922e3be5fce66a1a9476ee191f01ae2bbd SHA512 557e48b626a1845231584e19aa55dd935c889630663416f29f133520bf5e1ae22504c8213eee86dc61d42a676a711b686aca9865100a440295654986f2d6dd5b EBUILD fpc-3.0.2-r1.ebuild 4464 BLAKE2B a7db8ce21cfe1c777498e754b276751c4910d87812c0497752d4a305dea3a4dd6ea28c7c8514e711497bc1fc1a6270d28c27bbb2815128f8ab2ed1e39b6f730e SHA512 7ee63fa4801074005b248a192f0905e8d146ab06cc43b797460dce60c1418aac4ac1600bb055c428766c36ee1f28db3ab18ea45ca1313684f2a275ec86b20fa5 EBUILD fpc-3.0.2.ebuild 4251 BLAKE2B e9139fca9cf0628dde9b7a14da2f1ccae262b7e7486a8d77d1b06381ddb5d0582a89d9dc0e71edda29c30f4a3f9de81192364d130e3f2b2245d14341d354cf39 SHA512 b791aaaf9af69e00559de87f48f3c358ff3772dff3fdabc94c02b57d84265ad5df19b069ccb25a2cf58ef68408668f6720480ca697911f9faf1fd45b7687eef6 +EBUILD fpc-3.0.4.ebuild 4464 BLAKE2B 3d09be561dd2a2434bef2230fd738392f233b41bffdcfcb1d8cfe195ee9bceb2e94c18675693d36433f4d5daef2203e226a60249d4f5d14d390b869ece3e7cd1 SHA512 d33da4b40f1d52cb20cbc64b2a150d7d6c5ae4715724ce06d187e4729b40132ef5baabbee70e0a03fe8b5f2a46076f21cd66771f17307948935d784448e26d40 MISC metadata.xml 385 BLAKE2B 0e0d050ec7539e841469fd1b2dd9b834e274c5acf63c6f5b38923271cac205d8680229e08dbcb931ed0b136f45800843ee21df6c7b670346b81ea988f1ba11b4 SHA512 1d1ec643e71bbaf3f38dd0f817aeba74f8871071a429b203b3b3397b114ef09e89cb5f166a08e7027e834f4f2ef6ad26049063a2d633ecbd65754945d0be1c46 diff --git a/dev-lang/fpc/fpc-3.0.4.ebuild b/dev-lang/fpc/fpc-3.0.4.ebuild new file mode 100644 index 000000000000..73c5e0930042 --- /dev/null +++ b/dev-lang/fpc/fpc-3.0.4.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit prefix toolchain-funcs + +HOMEPAGE="https://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 + + # make the compiled binary check for fpc.cfg under the prefixed /etc/ path + hprefixify "${WORKDIR}"/fpcbuild-${PV}/fpcsrc/compiler/options.pas +} + +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="${ED}"/usr \ + INSTALL_DOCDIR="${ED}"/usr/share/doc/${PF} \ + INSTALL_MANDIR="${ED}"/usr/share/man \ + INSTALL_SOURCEDIR="${ED}"/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 || die + emake -j1 "$@" install + fi + + if use source ; then + cd "${S}" || die + shift + emake -j1 PP="${ED}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall + find "${ED}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \; + fi + + "${ED}"/usr/lib/fpc/${PV}/samplecfg "${ED}"/usr/lib/fpc/${PV} "${ED}"/etc || die + + # set correct (prefixed) path for e.g. unit files + sed -i "s:${ED}:${EPREFIX}:g" "${ED}"/etc/fpc.cfg || die + + if use ide ; then + sed -e "s:${ED}::g" \ + -i "${ED}"/etc/fppkg.cfg \ + -i "${ED}"/etc/fppkg/* \ + -i "${ED}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \ + || die + fi + + rm -r "${ED}"/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 +} |