diff options
author | Amy Liffey <amynka@gentoo.org> | 2018-01-21 15:04:46 +0100 |
---|---|---|
committer | Amy Liffey <amynka@gentoo.org> | 2018-01-21 15:05:22 +0100 |
commit | 1a5b252380f7cf1f0fc914c35b0d39179001997f (patch) | |
tree | 8d945edef54303e22db4aa84d708e56d62f4dcc1 /dev-lang/fpc | |
parent | dev-python/matplotlib: bump to 2.1.2 (diff) | |
download | gentoo-1a5b252380f7cf1f0fc914c35b0d39179001997f.tar.gz gentoo-1a5b252380f7cf1f0fc914c35b0d39179001997f.tar.bz2 gentoo-1a5b252380f7cf1f0fc914c35b0d39179001997f.zip |
dev-lang/fpc: version bump 3.0.4
Closes: https://bugs.gentoo.org/645226
Package-Manager: Portage-2.3.13, Repoman-2.3.3
Diffstat (limited to 'dev-lang/fpc')
-rw-r--r-- | dev-lang/fpc/Manifest | 5 | ||||
-rw-r--r-- | dev-lang/fpc/fpc-3.0.4.ebuild | 165 |
2 files changed, 170 insertions, 0 deletions
diff --git a/dev-lang/fpc/Manifest b/dev-lang/fpc/Manifest index 97d839fc11f9..8bc7f1f81d4d 100644 --- a/dev-lang/fpc/Manifest +++ b/dev-lang/fpc/Manifest @@ -15,6 +15,11 @@ 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 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 +} |