summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmy Liffey <amynka@gentoo.org>2018-01-21 15:04:46 +0100
committerAmy Liffey <amynka@gentoo.org>2018-01-21 15:05:22 +0100
commit1a5b252380f7cf1f0fc914c35b0d39179001997f (patch)
tree8d945edef54303e22db4aa84d708e56d62f4dcc1 /dev-lang/fpc
parentdev-python/matplotlib: bump to 2.1.2 (diff)
downloadgentoo-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/Manifest5
-rw-r--r--dev-lang/fpc/fpc-3.0.4.ebuild165
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
+}