summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarald van Dijk <truedfx@gentoo.org>2008-10-05 15:22:10 +0000
committerHarald van Dijk <truedfx@gentoo.org>2008-10-05 15:22:10 +0000
commit0d7c89fb795f8192d1102a94a79d6d902a567a1e (patch)
tree829433e9327d4580b6c300261841d559f4281036 /dev-lang/fpc
parentVersion bump, bug 239480. (diff)
downloadgentoo-2-0d7c89fb795f8192d1102a94a79d6d902a567a1e.tar.gz
gentoo-2-0d7c89fb795f8192d1102a94a79d6d902a567a1e.tar.bz2
gentoo-2-0d7c89fb795f8192d1102a94a79d6d902a567a1e.zip
Version bump (bug #234981 by Mihai Moldovan)
Drop references to functions removed from gtk (bug #239264 by Renato Caldas) (Portage version: 2.2_rc11/cvs/Linux 2.6.26-gentoo-r1 x86_64)
Diffstat (limited to 'dev-lang/fpc')
-rw-r--r--dev-lang/fpc/ChangeLog12
-rw-r--r--dev-lang/fpc/files/fpc-2.2.0-unneeded-symbols.patch62
-rw-r--r--dev-lang/fpc/files/fpc-2.2.2-unneeded-symbols.patch62
-rw-r--r--dev-lang/fpc/fpc-2.2.0-r1.ebuild154
-rw-r--r--dev-lang/fpc/fpc-2.2.2.ebuild153
5 files changed, 442 insertions, 1 deletions
diff --git a/dev-lang/fpc/ChangeLog b/dev-lang/fpc/ChangeLog
index 6fd9a7c34f95..d99d5b752c94 100644
--- a/dev-lang/fpc/ChangeLog
+++ b/dev-lang/fpc/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for dev-lang/fpc
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/fpc/ChangeLog,v 1.42 2008/06/25 19:46:03 nixnut Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/fpc/ChangeLog,v 1.43 2008/10/05 15:22:09 truedfx Exp $
+
+*fpc-2.2.2 (05 Oct 2008)
+*fpc-2.2.0-r1 (05 Oct 2008)
+
+ 05 Oct 2008; Harald van Dijk <truedfx@gentoo.org>
+ +files/fpc-2.2.0-unneeded-symbols.patch,
+ +files/fpc-2.2.2-unneeded-symbols.patch, +fpc-2.2.0-r1.ebuild,
+ +fpc-2.2.2.ebuild:
+ Version bump (bug #234981 by Mihai Moldovan)
+ Drop references to functions removed from gtk (bug #239264 by Renato Caldas)
25 Jun 2008; nixnut <nixnut@gentoo.org> fpc-2.2.0.ebuild:
Stable on ppc wrt bug 194646
diff --git a/dev-lang/fpc/files/fpc-2.2.0-unneeded-symbols.patch b/dev-lang/fpc/files/fpc-2.2.0-unneeded-symbols.patch
new file mode 100644
index 000000000000..6f30ff4a1ca1
--- /dev/null
+++ b/dev-lang/fpc/files/fpc-2.2.0-unneeded-symbols.patch
@@ -0,0 +1,62 @@
+Index: packages/gtk2/src/gtk+/gtk/gtk2.pas
+===================================================================
+--- packages/extra/gtk2/gtk+/gtk/gtk2.pas (revision 11628)
++++ packages/extra/gtk2/gtk+/gtk/gtk2.pas (working copy)
+@@ -63,6 +63,8 @@
+ {$DEFINE HasGTK2_8}
+ {$ENDIF}
+
++// {$define HasGTK_FileSystem}
++
+ interface
+
+ uses
+Index: packages/gtk2/src/gtk+/gtk/gtkfilesystem.inc
+===================================================================
+--- packages/extra/gtk2/gtk+/gtk/gtkfilesystem.inc (revision 11628)
++++ packages/extra/gtk2/gtk+/gtk/gtkfilesystem.inc (working copy)
+@@ -115,17 +115,14 @@
+
+ {$IFDEF read_interface_rest}
+
++{$ifdef HasGTK_FileSystem}
+
+ { GError enumeration for GtkFileSystem }
+
+ function GTK_FILE_SYSTEM_ERROR : TGQuark;
+
+-
+-
+ function gtk_file_system_error_quark:TGQuark;cdecl;external gtklib name 'gtk_file_system_error_quark';
+
+-
+-
+ { Boxed-type for gtk_file_folder_get_info() results }
+
+ function GTK_TYPE_FILE_INFO : GType;
+@@ -244,11 +241,16 @@
+ { GtkFileSystem modules support }
+
+ function _gtk_file_system_create(file_system_name:Pchar):PGtkFileSystem;cdecl;external gtklib name '_gtk_file_system_create';
++
++{$endif HasGTK_FileSystem}
++
+ {$endif} {read_interface_rest}
+
+
+ {$ifdef read_implementation}
+
++{$ifdef HasGTK_FileSystem}
++
+ function GTK_FILE_SYSTEM_ERROR : TGQuark;
+ begin
+ GTK_FILE_SYSTEM_ERROR:=gtk_file_system_error_quark;
+@@ -307,6 +309,8 @@
+ GTK_FILE_FOLDER_GET_IFACE:=G_TYPE_INSTANCE_GET_INTERFACE(inst,GTK_TYPE_FILE_FOLDER);
+ end;
+
++{$endif HasGTK_FileSystem}
++
+ function gtk_file_path_new_dup(str : Pgchar) : PGtkFilePath;
+ begin
+ gtk_file_path_new_dup:=PGtkFilePath(g_strdup(str));
diff --git a/dev-lang/fpc/files/fpc-2.2.2-unneeded-symbols.patch b/dev-lang/fpc/files/fpc-2.2.2-unneeded-symbols.patch
new file mode 100644
index 000000000000..becbbeed63da
--- /dev/null
+++ b/dev-lang/fpc/files/fpc-2.2.2-unneeded-symbols.patch
@@ -0,0 +1,62 @@
+Index: packages/gtk2/src/gtk+/gtk/gtk2.pas
+===================================================================
+--- packages/gtk2/src/gtk+/gtk/gtk2.pas (revision 11628)
++++ packages/gtk2/src/gtk+/gtk/gtk2.pas (working copy)
+@@ -63,6 +63,8 @@
+ {$DEFINE HasGTK2_8}
+ {$ENDIF}
+
++// {$define HasGTK_FileSystem}
++
+ interface
+
+ uses
+Index: packages/gtk2/src/gtk+/gtk/gtkfilesystem.inc
+===================================================================
+--- packages/gtk2/src/gtk+/gtk/gtkfilesystem.inc (revision 11628)
++++ packages/gtk2/src/gtk+/gtk/gtkfilesystem.inc (working copy)
+@@ -115,17 +115,14 @@
+
+ {$IFDEF read_interface_rest}
+
++{$ifdef HasGTK_FileSystem}
+
+ { GError enumeration for GtkFileSystem }
+
+ function GTK_FILE_SYSTEM_ERROR : TGQuark;
+
+-
+-
+ function gtk_file_system_error_quark:TGQuark;cdecl;external gtklib name 'gtk_file_system_error_quark';
+
+-
+-
+ { Boxed-type for gtk_file_folder_get_info() results }
+
+ function GTK_TYPE_FILE_INFO : GType;
+@@ -244,11 +241,16 @@
+ { GtkFileSystem modules support }
+
+ function _gtk_file_system_create(file_system_name:Pchar):PGtkFileSystem;cdecl;external gtklib name '_gtk_file_system_create';
++
++{$endif HasGTK_FileSystem}
++
+ {$endif} {read_interface_rest}
+
+
+ {$ifdef read_implementation}
+
++{$ifdef HasGTK_FileSystem}
++
+ function GTK_FILE_SYSTEM_ERROR : TGQuark;
+ begin
+ GTK_FILE_SYSTEM_ERROR:=gtk_file_system_error_quark;
+@@ -307,6 +309,8 @@
+ GTK_FILE_FOLDER_GET_IFACE:=G_TYPE_INSTANCE_GET_INTERFACE(inst,GTK_TYPE_FILE_FOLDER);
+ end;
+
++{$endif HasGTK_FileSystem}
++
+ function gtk_file_path_new_dup(str : Pgchar) : PGtkFilePath;
+ begin
+ gtk_file_path_new_dup:=PGtkFilePath(g_strdup(str));
diff --git a/dev-lang/fpc/fpc-2.2.0-r1.ebuild b/dev-lang/fpc/fpc-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..bac3c412c857
--- /dev/null
+++ b/dev-lang/fpc/fpc-2.2.0-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/fpc/fpc-2.2.0-r1.ebuild,v 1.1 2008/10/05 15:22:09 truedfx Exp $
+
+inherit eutils
+
+# bug #183604
+RESTRICT="strip"
+
+PV_BIN="2.2.0"
+S="${WORKDIR}/fpcbuild-${PV}/fpcsrc"
+
+HOMEPAGE="http://www.freepascal.org/"
+DESCRIPTION="Free Pascal Compiler"
+SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz
+ x86? ( mirror://sourceforge/freepascal/fpc-${PV_BIN}.i386-linux.tar )
+ sparc? ( mirror://sourceforge/freepascal/fpc-2.0.0.sparc-linux.tar )
+ ppc? ( mirror://sourceforge/freepascal/fpc-${PV_BIN}.powerpc-linux.tar )
+ amd64? ( mirror://sourceforge/freepascal/fpc-${PV_BIN}.x86_64-linux.tar )
+ doc? ( mirror://sourceforge/freepascal/fpc-${PV}-doc-pdf.tar.gz )"
+
+SLOT="0"
+LICENSE="GPL-2 LGPL-2.1 LGPL-2.1-FPC"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="doc source"
+
+DEPEND="!dev-lang/fpc-bin
+ !dev-lang/fpc-source"
+# doc? ( virtual/tetex )
+
+src_unpack() {
+ case ${ARCH} in
+ x86) FPC_ARCH="i386" ;;
+ ppc) FPC_ARCH="powerpc" ;;
+ amd64) FPC_ARCH="x86_64" ;;
+ sparc) FPC_ARCH="sparc" ;;
+ *) die "This ebuild doesn't support ${ARCH}." ;;
+ esac
+
+ unpack ${A} || die "Unpacking ${A} failed!"
+
+ tar -xf 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!"
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-unneeded-symbols.patch
+}
+
+set_pp() {
+ case ${ARCH} in
+ x86) FPC_ARCH="386" ;;
+ ppc) FPC_ARCH="ppc" ;;
+ amd64) FPC_ARCH="x64" ;;
+ sparc) FPC_ARCH="sparc" ;;
+ *) 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 || die "make compiler_cycle failed!"
+
+ # Save new compiler from cleaning...
+ cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new
+
+ # ...rebuild with current version...
+ emake -j1 PP="${S}"/ppc${FPC_ARCH}.new compiler_cycle || die "make compiler_cycle failed!"
+
+ # ..and clean up afterwards
+ rm "${S}"/ppc${FPC_ARCH}.new
+
+ # Using the new compiler.
+ set_pp new
+
+ emake -j1 PP="${pp}" rtl_clean || die "make rtl_clean failed"
+
+ emake -j1 PP="${pp}" rtl packages_base_all packages_fcl_all fv_all \
+ packages_extra_all utils || die "make failed"
+
+ # Use pregenerated docs to avoid sandbox violations (#146804)
+ #if use doc ; then
+ # cd "${S}"/../fpcdocs
+ # emake -j1 pdf || die "make pdf failed!"
+ #fi
+}
+
+src_install() {
+ local pp
+ set_pp new
+
+ set -- PP="${pp}" FPCMAKE="${S}/utils/fpcm/fpcmake" \
+ INSTALL_PREFIX="${D}"usr \
+ INSTALL_DOCDIR="${D}"usr/share/doc/${P} \
+ INSTALL_MANDIR="${D}"usr/share/man \
+ INSTALL_SOURCEDIR="${D}"/usr/lib/fpc/${PV}/source
+
+ emake -j1 "$@" compiler_install rtl_install packages_install \
+ fv_install utils_install || die "make install failed!"
+
+ dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH}
+
+ if ! has nodoc ${FEATURES} ; then
+ cd "${S}"/../install/doc
+ emake -j1 "$@" installdoc || die "make installdoc failed!"
+ fi
+
+ if ! has noman ${FEATURES} ; then
+ cd "${S}"/../install/man
+ emake -j1 "$@" installman || die "make installman failed!"
+ fi
+
+ if ! has nodoc ${FEATURES} && use doc ; then
+ insinto /usr/share/doc/${PF}
+ doins "${WORKDIR}"/share/doc/fpdocs-${PV}/*.pdf
+ #cd "${S}"/../fpcdocs
+ #emake -j1 "$@" pdfinstall || die "make pdfinstall failed"
+ fi
+
+ if use source ; then
+ cd "${S}"
+ shift
+ emake -j1 PP="${D}"usr/bin/ppc${FPC_ARCH} "$@" sourceinstall || die "make sourceinstall failed!"
+ find "${D}"usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
+ fi
+
+ "${D}"usr/lib/fpc/${PV}/samplecfg /usr/lib/fpc/${PV} "${D}"etc
+
+ rm -rf "${D}"usr/lib/fpc/lexyacc
+}
+
+pkg_postinst() {
+ # Using ewarn - it is really important for other ebuilds (e.g. Lazarus)
+ if [ -e /etc/._cfg0000_fpc.cfg ]; then
+ echo
+ ewarn "Make sure you etc-update /etc/fpc.cfg"
+ ewarn "Otherwise FPC will not work correctly."
+ echo
+ ebeep
+ fi
+
+ ewarn "The default configuration for fpc strips executables. This"
+ ewarn "will cause QA notices in ebuilds for software using fpc."
+ ewarn "You can remove -Xs from /etc/fpc.cfg to avoid this."
+}
diff --git a/dev-lang/fpc/fpc-2.2.2.ebuild b/dev-lang/fpc/fpc-2.2.2.ebuild
new file mode 100644
index 000000000000..7f5aab4f2d5d
--- /dev/null
+++ b/dev-lang/fpc/fpc-2.2.2.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/fpc/fpc-2.2.2.ebuild,v 1.1 2008/10/05 15:22:09 truedfx Exp $
+
+inherit eutils
+
+# bug #183604
+RESTRICT="strip"
+
+PV_BIN="2.2.2"
+S="${WORKDIR}/fpcbuild-${PV}/fpcsrc"
+
+HOMEPAGE="http://www.freepascal.org/"
+DESCRIPTION="Free Pascal Compiler"
+SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz
+ x86? ( mirror://sourceforge/freepascal/fpc-${PV_BIN}.i386-linux.tar )
+ sparc? ( mirror://sourceforge/freepascal/fpc-2.0.0.sparc-linux.tar )
+ ppc? ( mirror://sourceforge/freepascal/fpc-2.2.0.powerpc-linux.tar )
+ amd64? ( mirror://sourceforge/freepascal/fpc-${PV_BIN}.x86_64-linux.tar )
+ doc? ( mirror://sourceforge/freepascal/fpc-${PV}-doc-pdf.zip )"
+
+SLOT="0"
+LICENSE="GPL-2 LGPL-2.1 LGPL-2.1-FPC"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="doc source"
+
+DEPEND="!dev-lang/fpc-bin
+ !dev-lang/fpc-source"
+# doc? ( virtual/tetex )
+
+src_unpack() {
+ case ${ARCH} in
+ x86) FPC_ARCH="i386" ;;
+ ppc) FPC_ARCH="powerpc" ;;
+ amd64) FPC_ARCH="x86_64" ;;
+ sparc) FPC_ARCH="sparc" ;;
+ *) die "This ebuild doesn't support ${ARCH}." ;;
+ esac
+
+ unpack ${A} || die "Unpacking ${A} failed!"
+
+ tar -xf 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!"
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-unneeded-symbols.patch
+}
+
+set_pp() {
+ case ${ARCH} in
+ x86) FPC_ARCH="386" ;;
+ ppc) FPC_ARCH="ppc" ;;
+ amd64) FPC_ARCH="x64" ;;
+ sparc) FPC_ARCH="sparc" ;;
+ *) 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 || die "make compiler_cycle failed!"
+
+ # Save new compiler from cleaning...
+ cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new
+
+ # ...rebuild with current version...
+ emake -j1 PP="${S}"/ppc${FPC_ARCH}.new compiler_cycle || die "make compiler_cycle failed!"
+
+ # ..and clean up afterwards
+ rm "${S}"/ppc${FPC_ARCH}.new
+
+ # Using the new compiler.
+ set_pp new
+
+ emake -j1 PP="${pp}" rtl_clean || die "make rtl_clean failed"
+
+ emake -j1 PP="${pp}" rtl packages_all utils || die "make failed"
+
+ # Use pregenerated docs to avoid sandbox violations (#146804)
+ #if use doc ; then
+ # cd "${S}"/../fpcdocs
+ # emake -j1 pdf || die "make pdf failed!"
+ #fi
+}
+
+src_install() {
+ local pp
+ set_pp new
+
+ set -- PP="${pp}" FPCMAKE="${S}/utils/fpcm/fpcmake" \
+ INSTALL_PREFIX="${D}"usr \
+ INSTALL_DOCDIR="${D}"usr/share/doc/${P} \
+ INSTALL_MANDIR="${D}"usr/share/man \
+ INSTALL_SOURCEDIR="${D}"usr/lib/fpc/${PV}/source
+
+ emake -j1 "$@" compiler_install rtl_install packages_install \
+ utils_install || die "make install failed!"
+
+ dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH}
+
+ if ! has nodoc ${FEATURES} ; then
+ cd "${S}"/../install/doc
+ emake -j1 "$@" installdoc || die "make installdoc failed!"
+ fi
+
+ if ! has noman ${FEATURES} ; then
+ cd "${S}"/../install/man
+ emake -j1 "$@" installman || die "make installman failed!"
+ fi
+
+ if ! has nodoc ${FEATURES} && use doc ; then
+ insinto /usr/share/doc/${PF}
+ doins "${WORKDIR}"/doc/*.pdf
+ #cd "${S}"/../fpcdocs
+ #emake -j1 "$@" pdfinstall || die "make pdfinstall failed"
+ fi
+
+ if use source ; then
+ cd "${S}"
+ shift
+ emake -j1 PP="${D}"usr/bin/ppc${FPC_ARCH} "$@" sourceinstall || die "make sourceinstall failed!"
+ find "${D}"usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
+ fi
+
+ "${D}"usr/lib/fpc/${PV}/samplecfg /usr/lib/fpc/${PV} "${D}"etc
+
+ rm -rf "${D}"usr/lib/fpc/lexyacc
+}
+
+pkg_postinst() {
+ # Using ewarn - it is really important for other ebuilds (e.g. Lazarus)
+ if [ -e /etc/._cfg0000_fpc.cfg ]; then
+ echo
+ ewarn "Make sure you etc-update /etc/fpc.cfg"
+ ewarn "Otherwise FPC will not work correctly."
+ echo
+ ebeep
+ fi
+
+ ewarn "The default configuration for fpc strips executables. This"
+ ewarn "will cause QA notices in ebuilds for software using fpc."
+ ewarn "You can remove -Xs from /etc/fpc.cfg to avoid this."
+}