diff options
author | Harald van Dijk <truedfx@gentoo.org> | 2008-10-05 15:22:10 +0000 |
---|---|---|
committer | Harald van Dijk <truedfx@gentoo.org> | 2008-10-05 15:22:10 +0000 |
commit | 0d7c89fb795f8192d1102a94a79d6d902a567a1e (patch) | |
tree | 829433e9327d4580b6c300261841d559f4281036 /dev-lang/fpc | |
parent | Version bump, bug 239480. (diff) | |
download | gentoo-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/ChangeLog | 12 | ||||
-rw-r--r-- | dev-lang/fpc/files/fpc-2.2.0-unneeded-symbols.patch | 62 | ||||
-rw-r--r-- | dev-lang/fpc/files/fpc-2.2.2-unneeded-symbols.patch | 62 | ||||
-rw-r--r-- | dev-lang/fpc/fpc-2.2.0-r1.ebuild | 154 | ||||
-rw-r--r-- | dev-lang/fpc/fpc-2.2.2.ebuild | 153 |
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." +} |