delete ild ebuild

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@2334 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one 2010-08-27 15:39:12 +00:00
parent f738cb06f9
commit 0b2109cd1a
47 changed files with 0 additions and 3030 deletions

View File

@ -1,12 +0,0 @@
# ChangeLog for dev-lang/mono
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
22 Aug 2009; Mario Fetka <mario.fetka@gmail.com>
files/mono-2.4-docs.patch:
update docs patch
22 Aug 2009; Mario Fetka <mario.fetka@gmail.com> mono-2.4.2.3.ebuild,
+files/mono-2.4-docs.patch, +metadata.xml:
add docs patch

View File

@ -1,23 +0,0 @@
AUX mono-1.2-glibc28.patch 621 RMD160 51dd3d134ddf2e8894f695f3ea48f705517af7fa SHA1 f4eec2998b42d6fb639f4bc67e0ec45f021e0831 SHA256 378fc337ebea4e6b01885e2581a70c22dc96f14935bc2073595dd2b4e0a2ae12
AUX mono-1.2.4-pic.patch 515 RMD160 7e6b6bf1bf4279881f5b03135d22f1bf488bed61 SHA1 fa8b18dde84c4305341fafafc88cda725dded3b1 SHA256 daab8ca27e5530d688ba611870c62d558be122781776aed8c0ecd97a56465a63
AUX mono-1.2.6-bug-347359.patch 468 RMD160 9057edfe349ae587cc73d2a07011faf64e092095 SHA1 26e350f31c54f29d8e407cb4ea3d31333bafb83e SHA256 3ce69a3b5129bc0715eaa46213e28436acfeabdb11e35818a8a3be9ea7fd06c9
AUX mono-1.2.6-threads-types-private-prototypes.patch 1341 RMD160 a0febde503971203d1ebf7f1274e42f95a5ed3b6 SHA1 b61bf000d7064cb76787954941696c17fa55c8d1 SHA256 0f5ac74f73817749de78c0d9435294bf148c11faef8c67729ce409493a7ee0ff
AUX mono-2.0-fix-headless.patch 5503 RMD160 f660f1dd8be20e6a9d850193b61066ab3f8544a6 SHA1 7e30fdb7892726631b80988ef6b2fe987d6873fd SHA256 988a00c00d90736807bdebb3c505b026ac48edeb19b9680ec3d82c0bceda4ef6
AUX mono-2.0-mimeicon.patch 2186 RMD160 11ab8a2cefb4fe408c95c43ca5656294e797c985 SHA1 5a11bc3367c1a32a76c853309cc429ba79f37502 SHA256 531365bf3033fe22b139239be9cb4f46ab2a84970f53bb2f13eaf4e23030625f
AUX mono-2.0-ppc-threading.patch 498 RMD160 f1d72e8ac6549ef0cbddbb256b2323fbe2ee7695 SHA1 55a2b6b1aa729a5ebcae31bb822548c9ed59bf3b SHA256 f3b7a7c1435b0aa3a8f3216cfbf0b7ad18ff565b324f41492c6ae8412be313bd
AUX mono-2.0.1-fix-wsdl-troubles-with-muine.patch 552 RMD160 2d0c75c9c26a997ead5bfbfa412447bfd16a1d1e SHA1 eec25804a179da8c7d38ee5a2783223d28033c79 SHA256 d38683b4037fb3cda08daec0840d0b0b617efd6f82e8bb9f468e744254d293e3
AUX mono-2.0.1-fix_implicit_pointer_conversions.patch 681 RMD160 cd207884e32f9916a397b53e2abfde760916ad94 SHA1 8f8f67354a6bd5b67b015621a9a42c3d4ea80580 SHA256 9aa2a0d966c848adec5498c9cac9a74098b31dc487c0a17f49c37e422e881678
AUX mono-2.2-freebsd-elf_common.patch 677 RMD160 55feea5e25ac9654c95bfb1a49dc1770a7cd9d01 SHA1 7cbb37524398f9d5789dd4f3ae76b07d33a42d84 SHA256 d753a10897805e87ddde9986982d565f941c6a45a56bf60b91d28fd2531c35a0
AUX mono-2.2-libdir126.patch 2788 RMD160 931e034c90accc2058596714d7ec07d138a77575 SHA1 7807f1d3e28c82ac0292cec2f49e063898a5d0cb SHA256 2d3de73c7aa6fdc90ddec67fc814910f40d6d8ed52ec918397ca9f5ac219c6a1
AUX mono-2.2-ppc-threading.patch 563 RMD160 2ed9822034a966e31cc90312c09e4fec70951d38 SHA1 3dda8a39085fddec0b0e25e31743d49762575605 SHA256 b2a708fc4ec8b886bf095c0d5eacbfdb8c08e1bc58442cfb6fd116f93de466a7
AUX mono-2.2-r121596-work-around-runtime-crash.patch 767 RMD160 a1b7ef12e28a3c14f1beff5f490523efbc474d26 SHA1 be9eb136478b61ff0f365fc9c6f51f082df50c61 SHA256 302df7e285fdc6dc44729d85b6784c3a2abd365b6915f8e00323b611fd12c5b1
AUX mono-2.2-r123987-bless-crash.patch 1543 RMD160 5c56cc0b69e09c2dee150bd6c34d0e1abbe3c82c SHA1 81709d2196530b7e15f96aa6ec325510bff7cda2 SHA256 3125ecbe26798ad4e009b04845e3eb8895d537bd8e1a7fd67267491403c8010e
AUX mono-2.2-uselibdir.patch 714 RMD160 fb0478a9923c5de30b6f71fa1c1cad9703e3dc8c SHA1 790e357aaccb87cb76f08a1c12e16a8804e23b58 SHA256 0d97639d48e9a40847f1053799d00827323df0af615fdf26254a03f069123b03
AUX mono-2.4-docs.patch 757 RMD160 17bc05646a3d4dfcee2b127d9019652b958bf6b3 SHA1 4b77c1c08cc1a43e3bfdbe451f9686a466e27f1c SHA256 2c7bc4979d3cd30f92e0f5c56fb8010b301874596b075bc704bfc8e41efd4491
AUX mono-2.4-openoffice.patch 925 RMD160 37659aa877e5dd9b7a36bf6b2c522762e595747d SHA1 c7fff16e6dd5dced08feb3bd16c9b41342c2d8ab SHA256 cdedb982bd67bba7db1fb8bbf18af2a31f4b9b72caeab290bc74e060116ba627
AUX mono-2.4-ppcbuild-fix.patch 1141 RMD160 3519c930ac57317aa473593ed0962c90c7dea900 SHA1 d86b76af7b246ebefd209e26368a89460d31be67 SHA256 d6ddde4185f8c459a8953cc8a7bd5a1ea5d1eecb7ea4c5cb0c404462ab1ba3ee
AUX mono-biginteger_overflow.diff 848 RMD160 1f2cb38e577102943399459e2ef0f511dcad5209 SHA1 15203be56015aed4a9b63ca3ade01d3a22f4bae3 SHA256 adc10b8a97cbcb6b4758f7de041eee757259d55e1e2cbaf84a89e5ef83e46806
DIST mono-2.4.2.3.tar.bz2 24815426 RMD160 f52bf6e281b076b859a567c17917577710522684 SHA1 c0e7c2992ef6c1ea3d1fd48ef581aa1ff6ec29cb SHA256 1bab0d4e2906c88736ff5e242f2905f4c3535ccfc05bb5c427b72adf0e9236ae
EBUILD mono-2.4.2.3.ebuild 7192 RMD160 8970c9814b6f038e7b2be352a404c3bf6ee2174c SHA1 fa2eaaf53ddcd180ee22747e93c968a37c8a7f22 SHA256 841e781b7457a336cbb9ab410e8d7025d24a067a48389e11727402166503ae32
MISC ChangeLog 350 RMD160 34fd3c424bc59d7f45f94f2b270200d2592ac41d SHA1 d41fd823229df6a657c4274e041d07d1fdcf4db8 SHA256 00d909ad5cac5332c2e283b13cd90ba232ab796fb9554e7c940e45a44dd7141f
MISC metadata.xml 1238 RMD160 c82938e77f387291d6a1c3bf9b0d802f2878dd12 SHA1 b5738f14922c69e78cfb867acdc65eeea25977bf SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5

View File

@ -1,21 +0,0 @@
http://anonsvn.mono-project.com/viewvc?view=rev&revision=101444
https://bugs.gentoo.org/225409
backport for glibc-2.8 stablization
https://bugs.gentoo.org/show_bug.cgi?id=247553
--- trunk/mono/mono/io-layer/wapi_glob.c 2008/04/22 14:29:40 101443
+++ trunk/mono/mono/io-layer/wapi_glob.c 2008/04/22 14:44:10 101444
@@ -299,11 +299,14 @@
}
pathv[pglob->gl_offs + pglob->gl_pathc] = NULL;
+#if 0
+ /* Broken on opensuse 11 */
if ((pglob->gl_flags & WAPI_GLOB_LIMIT) &&
newsize + *limitp >= ARG_MAX) {
errno = 0;
return(WAPI_GLOB_NOSPACE);
}
+#endif
return(copy == NULL ? WAPI_GLOB_NOSPACE : 0);
}

View File

@ -1,18 +0,0 @@
--- mono/utils/mono-compiler.h.orig 2007-02-06 09:17:09.000000000 +0100
+++ mono/utils/mono-compiler.h 2007-02-06 09:56:15.000000000 +0100
@@ -1,5 +1,15 @@
#ifndef __UTILS_MONO_COMPILER_H__
#define __UTILS_MONO_COMPILER_H__
+
+#if defined(__PIC__) && !defined(PIC)
+/*
+ * Must be compiling -fPIE, for executables. Build PIC
+ * but with initial-exec.
+ */
+# define PIC
+# define PIC_INITIAL_EXEC
+#endif
+
/*
* This file includes macros used in the runtime to encapsulate different
* compiler behaviours.

View File

@ -1,13 +0,0 @@
--- trunk/mcs/mcs/expression.cs 2007/12/22 13:17:22 91807
+++ trunk/mcs/mcs/expression.cs 2007/12/23 13:29:15 91831
@@ -4242,6 +4242,10 @@
public override Expression DoResolve (EmitContext ec)
{
+ // Don't resolve already resolved expression
+ if (eclass != ExprClass.Invalid)
+ return this;
+
Expression expr_resolved = expr.Resolve (ec, ResolveFlags.VariableOrValue | ResolveFlags.MethodGroup);
if (expr_resolved == null)
return null;

View File

@ -1,32 +0,0 @@
--- mono/metadata/threads.h 2007/12/20 00:38:27 1.1
+++ mono/metadata/threads.h 2007/12/20 00:38:46
@@ -14,7 +14,6 @@
#include <mono/utils/mono-membar.h>
#include <mono/metadata/object.h>
#include <mono/metadata/appdomain.h>
-#include <mono/metadata/threads-types.h>
G_BEGIN_DECLS
@@ -67,10 +66,6 @@ extern void mono_thread_interruption_che
extern void mono_thread_force_interruption_checkpoint (void);
extern gint32* mono_thread_interruption_request_flag (void);
-extern void mono_thread_set_state (MonoThread *thread, MonoThreadState state);
-extern void mono_thread_clr_state (MonoThread *thread, MonoThreadState state);
-extern gboolean mono_thread_test_state (MonoThread *thread, MonoThreadState test);
-
G_END_DECLS
#endif /* _MONO_METADATA_THREADS_H_ */
--- mono/metadata/threads-types.h 2007/12/20 00:38:32 1.1
+++ mono/metadata/threads-types.h 2007/12/20 00:40:55
@@ -157,4 +157,8 @@ extern MonoThreadHazardPointers* mono_ha
(hp)->hazard_pointers [(i)] = NULL; \
} while (0)
+extern void mono_thread_set_state (MonoThread *thread, MonoThreadState state) MONO_INTERNAL;
+extern void mono_thread_clr_state (MonoThread *thread, MonoThreadState state) MONO_INTERNAL;
+extern gboolean mono_thread_test_state (MonoThread *thread, MonoThreadState test) MONO_INTERNAL;
+
#endif /* _MONO_METADATA_THREADS_TYPES_H_ */

View File

@ -1,152 +0,0 @@
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs 2008-12-19 07:00:41.000000000 +0100
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutPanel.cs 2008-12-19 07:00:55.000000000 +0100
@@ -131,10 +131,11 @@
set {
if (value.isSerialized) {
// Serialized version doesn't calculate these.
value.ColumnCount = value.ColumnStyles.Count;
value.RowCount = value.RowStyles.Count;
+ value.panel = this;
this.settings = value;
value.isSerialized = false;
} else
throw new NotSupportedException ("LayoutSettings value cannot be set directly.");
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs 2008-12-19 07:00:41.000000000 +0100
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutSettings.cs 2008-12-19 07:00:55.000000000 +0100
@@ -46,11 +46,11 @@
private int row_count;
private Dictionary<Object, int> columns;
private Dictionary<Object, int> column_spans;
private Dictionary<Object, int> rows;
private Dictionary<Object, int> row_spans;
- private TableLayoutPanel panel;
+ internal TableLayoutPanel panel;
internal bool isSerialized;
#region Internal Constructor
internal TableLayoutSettings (TableLayoutPanel panel)
{
@@ -132,11 +132,13 @@
if (value < 0)
throw new ArgumentOutOfRangeException ();
if (row_count != value) {
row_count = value;
- panel.PerformLayout (panel, "RowCount");
+
+ if (panel != null)
+ panel.PerformLayout ();
}
}
}
[DesignerSerializationVisibility (DesignerSerializationVisibility.Content)]
@@ -223,55 +225,65 @@
if (control == null)
throw new ArgumentNullException ();
columns[control] = cellPosition.Column;
rows[control] = cellPosition.Row;
- panel.PerformLayout ();
+
+ if (panel != null)
+ panel.PerformLayout ();
}
public void SetColumn (Object control, int column)
{
if (control == null)
throw new ArgumentNullException ();
if (column < -1)
throw new ArgumentException ();
columns[control] = column;
- panel.PerformLayout ();
+
+ if (panel != null)
+ panel.PerformLayout ();
}
public void SetColumnSpan (Object control, int value)
{
if (control == null)
throw new ArgumentNullException ();
if (value < -1)
throw new ArgumentException ();
column_spans[control] = value;
- panel.PerformLayout ();
+
+ if (panel != null)
+ panel.PerformLayout ();
}
public void SetRow (Object control, int row)
{
if (control == null)
throw new ArgumentNullException ();
if (row < -1)
throw new ArgumentException ();
rows[control] = row;
- panel.PerformLayout ();
+
+ if (panel != null)
+ panel.PerformLayout ();
}
public void SetRowSpan (Object control, int value)
{
if (control == null)
throw new ArgumentNullException ();
if (value < -1)
throw new ArgumentException ();
row_spans[control] = value;
- panel.PerformLayout ();
+
+ if (panel != null)
+ panel.PerformLayout ();
}
#endregion
#region Internal Methods
internal List<ControlInfo> GetControls ()
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs 2008-12-19 07:00:41.000000000 +0100
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TableLayoutStyleCollection.cs 2008-12-19 07:00:55.000000000 +0100
@@ -76,11 +76,14 @@
if (layoutStyle.Owner != null)
throw new ArgumentException ("Style is already owned");
layoutStyle.Owner = table;
int result = al.Add (layoutStyle);
- table.PerformLayout ();
+
+ if (table != null)
+ table.PerformLayout ();
+
return result;
}
bool IList.Contains (object style)
{
diff -NrU5 mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs
--- mono-2.0.1.orig/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs 2008-12-19 07:00:41.000000000 +0100
+++ mono-2.0.1/mcs/class/Managed.Windows.Forms/System.Windows.Forms.Layout/TableLayoutSettingsTypeConverter.cs 2008-12-19 07:02:23.000000000 +0100
@@ -117,11 +117,11 @@
if (!(value is string))
return base.ConvertFrom(context, culture, value);
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml (value as string);
- TableLayoutSettings settings = new TableLayoutSettings(new TableLayoutPanel ());
+ TableLayoutSettings settings = new TableLayoutSettings(null);
int count = ParseControl (xmldoc, settings);
ParseColumnStyle (xmldoc, settings);
ParseRowStyle (xmldoc, settings);
settings.RowCount = count;

View File

@ -1,54 +0,0 @@
--- mono-2.0/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MimeIcon.cs 2008-09-02 16:46:50.000000000 +0100
+++ mono-2.0/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MimeIcon-new.cs 2008-09-18 23:29:05.000000000 +0100
@@ -358,11 +358,12 @@
if (internal_mime_type == "harddisk/harddisk" || internal_mime_type == "cdrom/cdrom" || internal_mime_type == "removable/removable")
image = ResourceImageLoader.Get ("text-x-generic.png");
}
-
- index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
- MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
-
- MimeIconEngine.MimeIconIndex.Add (internal_mime_type, index);
+
+ if (image != null) {
+ index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
+ MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
+ MimeIconEngine.MimeIconIndex.Add (internal_mime_type, index);
+ }
}
public override object AddAndGetIconIndex (string filename, string mime_type)
@@ -370,11 +371,11 @@
int index = -1;
Image image = GnomeUtil.GetIcon (filename, mime_type, 48);
-
- index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
- MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
-
- MimeIconEngine.MimeIconIndex.Add (mime_type, index);
+ if (image != null) {
+ index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
+ MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
+ MimeIconEngine.MimeIconIndex.Add (mime_type, index);
+ }
return index;
}
@@ -384,11 +385,11 @@
int index = -1;
Image image = GnomeUtil.GetIcon (mime_type, 48);
-
- index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
- MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
-
- MimeIconEngine.MimeIconIndex.Add (mime_type, index);
+ if (image != null) {
+ index = MimeIconEngine.SmallIcons.Images.Add (image, Color.Transparent);
+ MimeIconEngine.LargeIcons.Images.Add (image, Color.Transparent);
+ MimeIconEngine.MimeIconIndex.Add (mime_type, index);
+ }
return index;
}

View File

@ -1,20 +0,0 @@
--- mono-2.0/mono/mini/main.c 2008-08-03 07:49:23.000000000 +0100
+++ mono-2.0/mono/mini/main-new.c 2008-08-03 07:55:10.000000000 +0100
@@ -23,10 +23,16 @@
}
#else
-
+#include <sched.h>
int
main (int argc, char* argv[])
{
+ /* On PowerPC call sched_setaffinity to bind to one CPU only
+ * to work around parallelism bug on G5 SMP */
+ #ifdef __powerpc__
+ unsigned long mask = 1;
+ sched_setaffinity(0, sizeof(mask), &mask);
+ #endif
return mono_main (argc, argv);
}

View File

@ -1,11 +0,0 @@
--- mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs 2008/10/28 09:09:03 117242
+++ mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs 2008/10/28 09:32:46 117243
@@ -177,7 +177,7 @@
foreach (OperationMessage om in op.Messages) {
Message msg = ctx.Services.GetMessage (om.Message);
foreach (MessagePart part in msg.Parts)
- parts.Add (part,part);
+ parts [part] = part; // do not use Add() - there could be the same MessagePart instance.
}
}

View File

@ -1,18 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## fix_implicit_pointer_conversions.dpatch by Mirco Bauer <meebey@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad mono-1.2.6~/mono/metadata/security.c mono-1.2.6/mono/metadata/security.c
--- mono-1.2.6~/mono/metadata/security.c 2007-11-08 23:07:19.000000000 +0100
+++ mono-1.2.6/mono/metadata/security.c 2007-12-24 15:54:02.000000000 +0100
@@ -12,6 +12,7 @@
#endif
#include <mono/metadata/appdomain.h>
+#include <mono/metadata/assembly.h>
#include <mono/metadata/image.h>
#include <mono/metadata/exception.h>
#include <mono/metadata/object-internals.h>

View File

@ -1,20 +0,0 @@
--- mono/utils/freebsd-elf_common.h.orig 2009-02-12 10:56:14.604852206 +0100
+++ mono/utils/freebsd-elf_common.h 2009-02-12 10:56:52.034748775 +0100
@@ -42,10 +42,14 @@
* not include the padding.
*/
+/*
+ * Patched acording to: http://lists.ximian.com/pipermail/mono-patches/2009-January/138782.html
+ */
+
typedef struct {
- u_int32_t n_namesz; /* Length of name. */
- u_int32_t n_descsz; /* Length of descriptor. */
- u_int32_t n_type; /* Type of this note. */
+ uint32_t n_namesz; /* Length of name. */
+ uint32_t n_descsz; /* Length of descriptor. */
+ uint32_t n_type; /* Type of this note. */
} Elf_Note;
/* Indexes into the e_ident array. Keep synced with

View File

@ -1,68 +0,0 @@
# Allows us to use lib64/lib32 as path for GAC. Snatched from Fedora,
# altered to be easily sedded.
# Sed this file to have the proper libdir:
# sed -i -e "s:@MONOLIBDIR@:$(get_libdir):" FILENAME
# http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-libdir-126.patch?view=log
Index: mono-1.1.16/mcs/tools/cilc/res-Makefile
===================================================================
--- mono-1.1.16.orig/mcs/tools/cilc/res-Makefile
+++ mono-1.1.16/mcs/tools/cilc/res-Makefile
@@ -2,7 +2,7 @@ include defs.mk
LIBNAME = $(shell echo $(basename $(SONAME)) | sed -e 's/^lib//')
HTARGET = $(prefix)/include/$(LIBNAME)/
-LIBTARGET = $(prefix)/lib/
+LIBTARGET = $(libdir)
CFLAGS += -static -fpic $(shell pkg-config --cflags glib-2.0 gobject-2.0 mono) $(EXTRAINCLUDES) -I.
--- mono-1.1.16.1/mono/metadata/assembly.c.libdir 2006-08-17 17:52:42.000000000 +0200
+++ mono-1.1.16.1/mono/metadata/assembly.c 2006-08-17 17:56:21.000000000 +0200
@@ -521,7 +521,7 @@
}
config = g_build_filename (base, "etc", NULL);
- lib = g_build_filename (base, "lib", NULL);
+ lib = g_build_filename (base, "@MONOLIBDIR@", NULL);
mono = g_build_filename (lib, "mono/1.0", NULL);
if (stat (mono, &buf) == -1)
fallback ();
@@ -1844,7 +1844,7 @@
if (extra_gac_paths) {
paths = extra_gac_paths;
while (!res && *paths) {
- gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", aname->name, NULL);
+ gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", aname->name, NULL);
res = probe_for_partial_name (gacpath, fullname, aname, status);
g_free (gacpath);
paths++;
@@ -1908,7 +1908,7 @@
paths = extra_gac_paths;
while (!image && *paths) {
fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths,
- "lib", "mono", "gac", subpath, NULL);
+ "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
image = mono_image_open (fullpath, NULL);
g_free (fullpath);
paths++;
@@ -2058,7 +2058,7 @@
if (extra_gac_paths) {
paths = extra_gac_paths;
while (!result && *paths) {
- fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", subpath, NULL);
+ fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
result = mono_assembly_open_full (fullpath, status, refonly);
g_free (fullpath);
paths++;
--- mono-1.1.16.1/mcs/tools/gacutil/driver.cs.libdir 2006-08-17 15:40:14.000000000 +0200
+++ mono-1.1.16.1/mcs/tools/gacutil/driver.cs 2006-08-17 15:40:19.000000000 +0200
@@ -667,7 +667,7 @@
private static string EnsureLib (string dir)
{
DirectoryInfo d = new DirectoryInfo (dir);
- if (d.Name == "lib")
+ if (d.Name == "lib" || d.Name == "@MONOLIBDIR@")
return dir;
return Path.Combine (dir, "lib");
}

View File

@ -1,21 +0,0 @@
#Binds ppc to use only one core to workaround threading problems for ppc.
http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-ppc-threading.patch?view=log
--- mono-2.2/mono/mini/main.c 2008-11-18 19:00:26.000000000 +0000
+++ mono-2.2/mono/mini/main-new.c 2008-11-18 19:16:11.000000000 +0000
@@ -26,10 +26,14 @@
}
#else
-
+#include <sched.h>
int
main (int argc, char* argv[])
{
+#ifdef __powerpc__
+ unsigned long mask = 1;
+ sched_setaffinity(0, sizeof(mask), &mask);
+#endif
mono_build_date = build_date;
return mono_main (argc, argv);
}

View File

@ -1,17 +0,0 @@
Index: mono/metadata/metadata.c
===================================================================
--- mono/metadata/metadata.c (Revision 121595)
+++ mono/metadata/metadata.c (Revision 121596)
@@ -2178,9 +2178,11 @@
MonoImage *image = data;
MonoMethodInflated *method = key;
+ // FIXME:
+ // https://bugzilla.novell.com/show_bug.cgi?id=458168
return method->declaring->klass->image == image ||
(method->context.class_inst && ginst_in_image (method->context.class_inst, image)) ||
- (method->context.method_inst && ginst_in_image (method->context.method_inst, image));
+ (method->context.method_inst && ginst_in_image (method->context.method_inst, image)) || signature_in_image (mono_method_signature ((MonoMethod*)method), image);
}
static gboolean

View File

@ -1,31 +0,0 @@
# http://gna.org/bugs/?12900
# https://bugzilla.novell.com/show_bug.cgi?id=469213
# http://bugs.gentoo.org/show_bug.cgi?id=256153
Index: mono/mono/mini/method-to-ir.c
===================================================================
--- mono/mono/mini/method-to-ir.c (revision 123986)
+++ mono/mono/mini/method-to-ir.c (revision 123987)
@@ -5839,7 +5839,21 @@
cmethod = (MonoMethod *)mono_method_get_wrapper_data (method, token);
cil_method = cmethod;
} else if (constrained_call) {
- cmethod = mono_get_method_constrained (image, token, constrained_call, generic_context, &cil_method);
+ if ((constrained_call->byval_arg.type == MONO_TYPE_VAR || constrained_call->byval_arg.type == MONO_TYPE_MVAR) && cfg->generic_sharing_context) {
+ /* This is needed when using aot + generic sharing, since
+ * the AOT code allows generic sharing for methods with
+ * type parameters having constraints, and
+ * get_method_constrained can't find the method in klass
+ * representing a type var.
+ * The type var is guaranteed to be a reference type in this
+ * case.
+ */
+ cmethod = mini_get_method (cfg, method, token, NULL, generic_context);
+ cil_method = cmethod;
+ g_assert (!cmethod->klass->valuetype);
+ } else {
+ cmethod = mono_get_method_constrained (image, token, constrained_call, generic_context, &cil_method);
+ }
} else {
cmethod = mini_get_method (cfg, method, token, NULL, generic_context);
cil_method = cmethod;

View File

@ -1,18 +0,0 @@
#Fixes problem with monodoc and libdir
http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-uselibdir.patch?view=log
--- mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper.cs 2008-08-03 07:58:47.000000000 +0100
+++ mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper-new.cs 2008-08-03 08:06:47.000000000 +0100
@@ -53,10 +53,10 @@
//xbuildDir = Path.Combine (t2.FullName, "xbuild");
// /usr/local/lib
t3 = t2.Parent;
+ libDir = t3.FullName;
// /usr/local
t4 = t3.Parent;
binDir = Path.Combine (t4.FullName, "bin");
- libDir = Path.Combine (t4.FullName, "lib");
}
internal static string GetBinDir ()

View File

@ -1,16 +0,0 @@
--- mono-2.4.2.3/mcs/Makefile.orig 2009-07-15 20:54:52.000000000 +0200
+++ mono-2.4.2.3/mcs/Makefile 2009-08-22 03:41:22.000000000 +0200
@@ -1,11 +1,11 @@
thisdir := .
-SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs
+SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors
basic_SUBDIRS := build jay mcs class
net_1_1_bootstrap_SUBDIRS := build jay mcs class ilasm tools
net_2_0_bootstrap_SUBDIRS := build jay mcs class ilasm tools
-net_2_0_SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs
+net_2_0_SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors
net_2_1_bootstrap_SUBDIRS := build mcs class
net_2_1_raw_SUBDIRS := build mcs class tools
net_2_1_SUBDIRS := tools tests errors

View File

@ -1,40 +0,0 @@
--- trunk/mcs/mcs/class.cs 2009/04/28 17:00:23 132860
+++ trunk/mcs/mcs/class.cs 2009/04/28 17:02:37 132861
@@ -2905,6 +2905,9 @@
}
public sealed class Struct : ClassOrStruct {
+
+ bool is_unmanaged, has_unmanaged_check_done;
+
// <summary>
// Modifiers allowed in a struct declaration
// </summary>
@@ -2964,6 +2967,11 @@
if (requires_delayed_unmanagedtype_check)
return true;
+ if (has_unmanaged_check_done)
+ return is_unmanaged;
+
+ has_unmanaged_check_done = true;
+
foreach (FieldBase f in fields) {
if ((f.ModFlags & Modifiers.STATIC) != 0)
continue;
@@ -2972,6 +2980,7 @@
// struct S { S* s; }
Type mt = f.MemberType;
if (mt == null) {
+ has_unmanaged_check_done = false;
requires_delayed_unmanagedtype_check = true;
return true;
}
@@ -2988,6 +2997,7 @@
return false;
}
+ is_unmanaged = true;
return true;
}

View File

@ -1,23 +0,0 @@
# From upstream CVS, fixes build on PPC/PPC64
--- mono-2-4/mono/libgc/include/private/gc_locks.h 2009/04/10 14:32:31 131471
+++ mono-2-4/mono/libgc/include/private/gc_locks.h 2009/04/10 14:34:27 131472
@@ -160,15 +160,15 @@
int temp = 1; /* locked value */
__asm__ __volatile__(
- "1:\tlwarx %0,0,%3\n" /* load and reserve */
+ "1:\tlwarx %0,0,%1\n" /* load and reserve */
"\tcmpwi %0, 0\n" /* if load is */
"\tbne 2f\n" /* non-zero, return already set */
"\tstwcx. %2,0,%1\n" /* else store conditional */
"\tbne- 1b\n" /* retry if lost reservation */
"\tsync\n" /* import barrier */
"2:\t\n" /* oldval is zero if we set */
- : "=&r"(oldval), "=p"(addr)
- : "r"(temp), "1"(addr)
+ : "=&r"(oldval)
+ : "r"(addr), "r"(temp)
: "cr0","memory");
return oldval;
}

View File

@ -1,22 +0,0 @@
--- mcs/class/corlib/Mono.Math/BigInteger.cs 2007-09-19 19:06:06.000000000 +0200
+++ mcs/class/corlib/Mono.Math/BigInteger.cs 2007-10-25 23:46:55.000000000 +0200
@@ -1607,7 +1607,7 @@
uint j = 1;
// Multiply and add
- for (; j < m.length; j++) {
+ for (; j < m.length && j < A.length; j++) {
c += (ulong)u_i * (ulong)*(mP++) + *(aSP++);
*(aDP++) = (uint)c;
c >>= 32;
--- mcs/class/Mono.Security/Mono.Math/BigInteger.cs 2007-07-24 23:48:50.000000000 +0200
+++ mcs/class/Mono.Security/Mono.Math/BigInteger.cs 2007-10-25 23:45:01.000000000 +0200
@@ -1601,7 +1601,7 @@
uint j = 1;
// Multiply and add
- for (; j < m.length; j++) {
+ for (; j < m.length && j < A.length; j++) {
c += (ulong)u_i * (ulong)*(mP++) + *(aSP++);
*(aDP++) = (uint)c;
c >>= 32;

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!--
$Header: /var/cvsroot/gentoo-x86/skel.metadata.xml,v 1.18 2008/07/28 19:27:05 cardoe Exp $
This is the example metadata file.
The root element of this file is <pkgmetadata>. Within this element a
number of subelements are allowed: herd, maintainer, and
longdescription. herd is a required subelement.
For a full description look at:
http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=4
Before committing, please remove the comments from this file. They are
not relevant for general metadata.xml files.
-->
<pkgmetadata>
<herd>no-herd</herd>
<maintainer>
<email>@gentoo.org</email>
<!-- <description>Description of the maintainership</description> -->
</maintainer>
<!-- <longdescription>Long description of the package</longdescription> -->
<!--
<use>
<flag name='flag'>Description of how USE='flag' affects this package</flag>
<flag name='userland_GNU'>Description of how USERLAND='GNU' affects this
package</flag>
<flag name='aspell'>Uses <pkg>app-text/aspell</pkg> for spell checking.
Requires an installed dictionary from <cat>app-dicts</cat></flag>
</use>
-->
</pkgmetadata>

View File

@ -1,273 +0,0 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-2.4.2.ebuild,v 1.1 2009/06/30 06:01:03 loki_val Exp $
EAPI=2
inherit linux-info mono eutils flag-o-matic multilib go-mono
DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
HOMEPAGE="http://www.go-mono.com"
LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
SLOT="0"
KEYWORDS="~x86 ~ppc ~amd64"
IUSE="xen moonlight minimal"
#Bash requirement is for += operator
COMMONDEPEND="!<dev-dotnet/pnet-0.6.12
!dev-util/monodoc
dev-libs/glib:2
!minimal? ( =dev-dotnet/libgdiplus-${GO_MONO_REL_PV}* )
ia64? (
sys-libs/libunwind
)"
RDEPEND="${COMMONDEPEND}
|| ( www-client/links www-client/lynx )"
DEPEND="${COMMONDEPEND}
sys-devel/bc
>=app-shells/bash-3.2"
PDEPEND="dev-dotnet/pe-format"
MAKEOPTS="${MAKEOPTS} -j1"
RESTRICT="test"
PATCHES=(
"${WORKDIR}/mono-2.2-libdir126.patch"
"${FILESDIR}/mono-2.2-ppc-threading.patch"
"${FILESDIR}/mono-2.2-uselibdir.patch"
"${FILESDIR}/mono-2.4-docs.patch"
)
pkg_setup() {
if use kernel_linux
then
get_version
if linux_config_exists
then
if linux_chkconfig_present SYSVIPC
then
einfo "CONFIG_SYSVIPC is set, looking good."
else
eerror "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
eerror "See http://bugs.gentoo.org/261869 for more info."
die "Please set CONFIG_SYSVIPC in your kernel .config"
fi
else
ewarn "Was unable to determine your kernel .config"
ewarn "Please note that if CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
ewarn "See http://bugs.gentoo.org/261869 for more info."
fi
fi
}
src_prepare() {
sed -e "s:@MONOLIBDIR@:$(get_libdir):" \
< "${FILESDIR}"/mono-2.2-libdir126.patch \
> "${WORKDIR}"/mono-2.2-libdir126.patch ||
die "Sedding patch file failed"
go-mono_src_prepare
}
src_configure() {
# mono's build system is finiky, strip the flags
strip-flags
#Remove this at your own peril. Mono will barf in unexpected ways.
append-flags -fno-strict-aliasing
#NOTE: We need the static libs for now so mono-debugger works.
#See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
go-mono_src_configure \
--enable-static \
--disable-quiet-build \
--with-preview \
--with-glib=system \
$(use_with moonlight) \
--with-libgdiplus=$(use minimal && printf "no" || printf "installed" ) \
$(use_with xen xen_opt) \
--without-ikvm-native \
--with-jit \
--disable-dtrace
}
src_test() {
vecho ">>> Test phase [check]: ${CATEGORY}/${PF}"
export MONO_REGISTRY_PATH="${T}/registry"
export XDG_DATA_HOME="${T}/data"
export MONO_SHARED_DIR="${T}/shared"
export XDG_CONFIG_HOME="${T}/config"
export HOME="${T}/home"
emake -j1 check
}
src_install() {
go-mono_src_install
#Bug 255610
sed -i -e "s:mono/2.0/mod.exe:mono/1.0/mod.exe:" \
"${D}"/usr/bin/mod || die "Failed to fix mod."
find "${D}"/usr/ -name '*nunit-docs*' -exec rm -rf '{}' '+' || die "Removing nunit .docs failed"
# Remove Jay to avoid colliding with dev-util/jay, the internal
# version is only used to build mcs.
rm -r "${D}"/usr/share/jay "${D}"/usr/bin/jay "${D}"/usr/share/man/man1/jay.1*
}
#THINK!!!! Before touching postrm and postinst
#Reference phase order:
#pkg_preinst
#pkg_prerm
#pkg_postrm
#pkg_postinst
pkg_preinst() {
local symlink
local NUNIT_DIR="/usr/$(get_libdir)/mono/nunit"
local pv_atom
if [[ "$(readlink "${ROOT}"/${NUNIT_DIR})" == *"mono-nunit"* ]]
then
for pv_atom in 2.2{,-r1,-r2,-r3,-r4} '2.4_pre*' '2.4_rc*' 2.4
do
if has_version "=dev-lang/mono-${pv_atom}"
then
einfo "If you just received a file collision warning message,"
einfo "be advised that this is a known problem, which will now be fixed:"
ebegin "Found broken symlinks created by $(best_version dev-lang/mono), fixing"
for symlink in \
"${ROOT}/${NUNIT_DIR}" \
"${ROOT}/usr/$(get_libdir)/pkgconfig/nunit.pc" \
"${ROOT}/usr/bin/nunit-console" \
"${ROOT}/usr/bin/nunit-console2"
do
if [[ -L "${symlink}" ]]
then
rm -f "${symlink}" &> /dev/null
fi
done
eend 0
break
fi
done
fi
}
pkg_postinst() {
elog "PLEASE TAKE NOTE!"
elog ""
elog "Some of the namespaces supported by Mono require extra packages to be installed."
elog "Below is a list of namespaces and the corresponding package you must install:"
elog ""
elog ">=x11-libs/cairo-1.6.4"
elog " Mono.Cairo"
elog "Also read:"
elog "http://www.mono-project.com/Mono.Cairo"
elog ""
elog ">=dev-db/firebird-2.0.4.13130.1"
elog " FirebirdSql.Data.Firebird"
elog "Also read:"
elog "http://www.mono-project.com/Firebird_Interbase"
elog ""
elog "=dev-dotnet/gluezilla-${GO_MONO_REL_PV}*"
elog " Mono.Mozilla"
elog " Mono.Mozilla.WebBrowser"
elog " Mono.Mozilla.Widget"
elog " Interop.SHDocVw"
elog " AxInterop.SHDocVw"
elog " Interop.mshtml.dll"
elog " System.Windows.Forms.WebBrowser"
elog " Microsoft.IE"
elog "Also read:"
elog "http://www.mono-project.com/WebBrowser"
elog ""
elog "dev-db/sqlite:3"
elog " Mono.Data.Sqlite"
elog " Mono.Data.SqliteClient"
elog "Also read:"
elog "http://www.mono-project.com/SQLite"
elog ""
elog ">=dev-db/oracle-instantclient-basic-10.2"
elog " System.Data.OracleClient"
elog "Also read:"
elog "http://www.mono-project.com/Oracle"
elog ""
elog "Mono also has support for packages that are not included in portage:"
elog ""
elog "No ebuild available:"
elog " IBM.Data.DB2"
elog "Also read: http://www.mono-project.com/IBM_DB2"
elog ""
elog "No ebuild needed:"
elog " Mono.Data.SybaseClient"
elog "Also read: http://www.mono-project.com/Sybase"
}
# NOTICE: THE COPYRIGHT FILES IN THE TARBALL ARE UNCLEAR!
# WHENEVER YOU THINK SOMETHING IS GPL-2+, IT'S ONLY GPL-2
# UNLESS MIGUEL DE ICAZA HIMSELF SAYS OTHERWISE.
# mono
# The code we use is LGPL, but contributions must be made under the MIT/X11
# license, so Novell can serve its paying customers. Exception is mono/man.
# LICENSE="LGPL-2.1"
# mono/man
# LICENSE="MIT"
# mcs/mcs
# mcs/gmcs
# LICENSE="GPL-2 MIT"
# tests
# LICENSE="MIT"
# mcs/class
# Except the listed exceptions:
# LICENSE="MIT"
# mcs/class/ByteFX.Data
# mcs/class/Npgsql
# LICENSE="LGPL-2.1"
# mcs/class/FirebirdSql.Data.Firebird
# LICENSE="IDPL"
# mcs/class/ICSharpCode.SharpZipLib
# LICENSE="GPL-2-with-linking-exception"
# mcs/class/MicrosoftAjaxLibrary
# LICENSE="Ms-Pl"
# mcs/class/Microsoft.JScript/Microsoft.JScript/TokenStream.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Token.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Decompiler.cs
# LICENSE="|| ( NPL-1.1 GPL-2 )"
# mcs/jay
# LICENSE="BSD-4"
# mcs/tools
# Except the listed exceptions:
# LICENSE="MIT"
# mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs
# LICENSE="GPL-2"
# mcs/tools/sqlsharp/SqlSharpCli.cs
# LICENSE="GPL-2"
# mcs/tools/csharp/repl.cs
# LICENSE="|| ( MIT GPL-2 )"
# mcs/tools/mono-win32-setup.nsi
# LICENSE="GPL-2"
# samples
# LICENSE="MIT"

View File

@ -1,17 +0,0 @@
# ChangeLog for dev-lang/php
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.395 2010/07/26 13:42:13 mabi Exp $
26 Jul 2010; Matti Bickel <mabi@gentoo.org>
files/eblits/src_compile-v1.eblit, files/eblits/src_configure-v1.eblit,
files/eblits/src_install-v1.eblit, +files/php-fpm.init,
+files/php-fpm-gentooified.patch, metadata.xml:
update fpm description, actually support fpm in the eblits
*php-5.3.3 (26 Jul 2010)
26 Jul 2010; Matti Bickel <mabi@gentoo.org> php-5.3.2.ebuild,
+php-5.3.3.ebuild, metadata.xml:
version bump, simplify postgres deps (bug #326967), fixes strict aliasing
issues (#329753), version bump is a security update

View File

@ -1,28 +0,0 @@
AUX 20php5-envd 145 RMD160 8c81fb7dc1d1ddf16fd956d748514db3bcb27603 SHA1 f1cef57c0def8e2c5422aaf136f40b4ff47801d2 SHA256 efaae9e6ae5f7010e073c2ab6d8a9dda009f0707c7d7b0c027e142c94f7041a4
AUX 70_mod_php5.conf-apache2 348 RMD160 9f3f49a52ebf92c2650501c5ceb6f95ce4bb2e76 SHA1 62992e793446b4a9a64900d1ecba7bae06873382 SHA256 5bb8a45570582b4389a7d3feea0398e1c13ed4ced96e559b9406ed8c965dea8c
AUX 70_mod_php5.conf-apache2-r1 374 RMD160 ca06cdc9d1a3dc4129a60c938ee3a1b542497fbb SHA1 4733066b6324c5870e716485484c44c7c26a9ff1 SHA256 815c1ca23c9afe8479568ceaac4057eb91ea5444fbd863866b29adb4eea2c82b
AUX 70_mod_php5_concurr.conf-apache2 348 RMD160 9f3f49a52ebf92c2650501c5ceb6f95ce4bb2e76 SHA1 62992e793446b4a9a64900d1ecba7bae06873382 SHA256 5bb8a45570582b4389a7d3feea0398e1c13ed4ced96e559b9406ed8c965dea8c
AUX 70_mod_php5_concurr.conf-apache2-r1 376 RMD160 4f7de5c0784b6191450b5c1a7de7ad941620e199 SHA1 c42a23bd7a1d3e8c7e0ac906f50f180116349f76 SHA256 c05f499d9c8927391c586b94716a9f59d63767165552ea527ec7ff63c36eaa40
AUX eblits/common-v1.eblit 376 RMD160 524d38035ef01b215c6dc06699c41550c246de9d SHA1 b85091f9e56b20217e5c2d3e25cef055642cd088 SHA256 d395752919fe05fa64a0e09deaf690e008a04f2c580f42233b5a854a1012045e
AUX eblits/pkg_postinst-v1.eblit 2184 RMD160 ce65ba811eab10862d067c7e2b4bdc8d2b0aee56 SHA1 11c14f2235041cfb08e33cf2550bebef2037e92b SHA256 9e1cd81be4f051f3156de0ce5398a338b2ab6f8e73047c5983beda47f2f762b0
AUX eblits/pkg_setup-v1.eblit 777 RMD160 aa63e7ab1bae34feffbbfaae902f11c6e797ba9d SHA1 f7334a4750b1a1bb2f24021dff884733a88ac347 SHA256 2613f51ee9e3a258dbab38ff2df724f2971a50a5ad8c097cb5a4e3744df5fc8a
AUX eblits/src_compile-v1.eblit 1897 RMD160 45aa94bdf920a567ab9002309f6afbed8ba13abb SHA1 83c7fce59355d4bc7684bcfad975a147426f7911 SHA256 0fe6bfd4734f0dfe0bf420b09a5e19698490a8441c1ee20d7446bcceee480336
AUX eblits/src_configure-v1.eblit 10019 RMD160 32f9cf226742689ed0ddf8c2fe87fa3233f83071 SHA1 2e027b84a318452068dcee0a1d1934d1b4b14e03 SHA256 540e9e770a8039aa4b40f9f915cb839e7f2ed8c05a06b9cf87f41253f0ccb5bc
AUX eblits/src_install-v1.eblit 4415 RMD160 dc02d3abc3aa3dae2208675c4f00b3d616d1262b SHA1 f41b3430e0054866dbfbdbac5ce11127d4963112 SHA256 0dba349226de4559cd62c73572cb5c1d8213d7ce9f7d5338887d71158f2da64e
AUX eblits/src_prepare-v1.eblit 2616 RMD160 ccff64d09cc90ada1ea5d1311457cf9a05f12f8e SHA1 7db40d0ca7ef01e5b61962f261511803f768f1bc SHA256 915b9755a37f7670f6e436fe5072dae8f5e6b437ccdfbff835e26bb2f9d22b1e
AUX eblits/src_test-v1.eblit 1480 RMD160 68ef731042ef236efee923649b318239c0219d52 SHA1 81c047f180e43eb1e6b0309ee8d6751950ce1b97 SHA256 ddc836ca2e7b2abac20450fc6eb8c7d30277c567d23051016b903ece1d07a6b2
AUX php-5.2.10-pdo_dblib.patch 559 RMD160 062604e291113b2bb86044b5eeffb72fad210fbc SHA1 d59d26e6557dac86e582e1a6ed7bb4795cf150c6 SHA256 0548d63d7379cd19f7ade6ca1222b1b577f684b142ff6b0e8e23742b1f7f9794
AUX php-5.2.12-libpng14.patch 222 RMD160 d63bd712d077d9606a02d6620c7084bca7197c01 SHA1 a25a47386d625a47698094fc4825208c6ec8f2a4 SHA256 af94a9c2a104dcb037aa059dd46b6f534adb939ea44ad4cb9e3a0a7c49b64fab
AUX php-5.2.13-gmp5.patch 508 RMD160 7abb099704abdb107af40825c408e04beffc34fc SHA1 06241c14fa1c6e19932eef0868d0474e12abd5eb SHA256 59a2821f12cb4ef9a02492b8493a0f48acfe198ae0406093fe3d42a60bd4c15d
AUX php-fpm-gentooified.patch 1846 RMD160 60b07cfcf41d41f453aba9a2747dc3d0a26fa016 SHA1 997e4e15057e497a8513a51225cdb9bd29fedd0a SHA256 262c02ad320408314e7635d403bd89b711374fcee09ecb37375e3406a0cc944a
AUX php-fpm.init 385 RMD160 0e266738ceb3853ce335db6375b5438bdea597db SHA1 bce556ebbd17e5192250f70ead99e8c70d9529c1 SHA256 baba8dab2cadc8bdf107e6fe5cede2f5faaabff1281781a0a30b3be79964c94e
AUX php5-ldvs 22 RMD160 5846dab2745b68a88175dd4e72d0b8cf4756dd46 SHA1 592398c92575adb14ec972847ce2aca28a7b9c2c SHA256 b79d0e52b1b3b4543b31ad45525ae1c2814a27ea8e676772ab10bf6fb12dfe79
DIST php-5.2.13.tar.bz2 9084518 RMD160 9e21d32a7b757d25ed827834b26235ea1eebfcc8 SHA1 7127a21f1b493e3cd43f45cadecdb46b623eb1fb SHA256 2b50a2535e3bb9a98cd4d1633f9452d877276c40b385915261f040d535c7eadb
DIST php-5.2.14.tar.bz2 9055945 RMD160 f699488f5b266a1c5e36df570c4d5896dc4e0aea SHA1 311b44b2c0f2eea8ab8dab876d2a6b6e7a55632e SHA256 515b5fd41258798d59b93d86b0d752ab0b03e5738c32af444fba1907763c2bd1
DIST php-patchset-5.2.13-r0.tar.bz2 10207 RMD160 b367c17742553fcfbf4cb1b76f8dd4aae9f08cf8 SHA1 20b60e3aef34d0b558f0c896c6981957490b2ba9 SHA256 c71dad65178186786393164a0cb4f056b85f0e00579da3dc2dbe5b863ec4262b
DIST php-patchset-5.2.14-r0.tar.bz2 10414 RMD160 ce0d1dca4aaed5cd31bacd83e71711f4f2f4804d SHA1 2a0f77e69842481c9bb62960ddb9e35bfe8a5ab0 SHA256 3de5685514ff65fbaec71c4df93f14a0bb6b66de91b242d083e23329bf5c4bee
DIST suhosin-patch-5.2.13-0.9.7.patch.gz 22989 RMD160 63a022a5bf0fb8c6688f4c0ebcfaa8a437ea6935 SHA1 e2faf8db2d7facbd44cee2f737ce87732835d341 SHA256 787743e5d201ab2ce3fcc3f252eedd7f167470fa1f55af0646d7f03aab89d184
EBUILD php-5.2.13.ebuild 16905 RMD160 2727b13454dd1dea0e923bd09d0478bdf7f7b290 SHA1 f88940fc9f8dcb5e90ecef1b433db9eaec2cf2e2 SHA256 4c41816974042b54376ba4a45b66f9247e8ae9c0bd17918166100e52cd96f83e
EBUILD php-5.2.14.ebuild 16905 RMD160 2727b13454dd1dea0e923bd09d0478bdf7f7b290 SHA1 f88940fc9f8dcb5e90ecef1b433db9eaec2cf2e2 SHA256 4c41816974042b54376ba4a45b66f9247e8ae9c0bd17918166100e52cd96f83e
MISC ChangeLog 743 RMD160 a227231a1d1d2481b9db728bf1af6d7a478a63a0 SHA1 e92308e32cb15df50feafd9a635f0d6cfac43d4e SHA256 4591c14ab2fe0cb26f815242618e4eb0d25a67720ca2599f37ba2f751976500e
MISC metadata.xml 2251 RMD160 4167b367fe5472e090fec27c09a465e558b8caf9 SHA1 059e3863cc1e500cf438f12ca98fe7f4ebd24722 SHA256 f402e3753e18c32922a694ab1bbde615754f26bbebc401b90b18f57bf5e49342

View File

@ -1,2 +0,0 @@
MANPATH="/usr/lib/php5/man/"
CONFIG_PROTECT_MASK="/etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/"

View File

@ -1,14 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<IfModule mod_mime.c>
AddHandler application/x-httpd-php .php .php5 .phtml
AddHandler application/x-httpd-php-source .phps
</IfModule>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,17 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<FilesMatch "\.ph(p5?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,14 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<IfModule mod_mime.c>
AddHandler application/x-httpd-php .php .php5 .phtml
AddHandler application/x-httpd-php-source .phps
</IfModule>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,17 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<FilesMatch "\.ph(p5?|tml)$">
SetHandler application/x-httpd-php5
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php5-source
</FilesMatch>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,9 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/common-v1.eblit,v 1.1 2010/05/27 23:05:04 mabi Exp $
php_set_ini_dir() {
PHP_INI_DIR="/etc/php/${1}-php${PHP_MV}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}

View File

@ -1,72 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/pkg_postinst-v1.eblit,v 1.1 2010/05/27 23:05:04 mabi Exp $
eblit-php-pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP${PHP_MV}"
if use concurrentmodphp ; then
APACHE2_MOD_CONF="70_mod_php${PHP_MV}_concurr"
else
APACHE2_MOD_CONF="70_mod_php${PHP_MV}"
fi
apache-module_pkg_postinst
fi
# Update Apache2 to use mod_php
if use apache2 ; then
"${ROOT}/usr/sbin/php-select" -t apache2 php${PHP_MV} > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 2 ]] ; then
php-select apache2 php${PHP_MV}
elif [[ ${exitStatus} == 4 ]] ; then
ewarn "To make Apache2 use php-${PHP_MV}, use"
ewarn " php-select apache2 php${PHP_MV}"
ewarn
fi
fi
# Create the symlinks for php-cli
if use cli ; then
"${ROOT}/usr/sbin/php-select" -t php php${PHP_MV} > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php php${PHP_MV}
elif [[ ${exitStatus} == 4 ]] ; then
ewarn "To make usr/bin/php point to php-${PHP_MV}, use"
ewarn " php-select php php${PHP_MV}"
ewarn
fi
fi
# Create the symlinks for php-cgi
if use cgi ; then
"${ROOT}/usr/sbin/php-select" -t php-cgi php${PHP_MV} > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php-cgi php${PHP_MV}
elif [[ ${exitStatus} == 4 ]] ; then
ewarn "To make usr/bin/php-cgi point to php-${PHP_MV}, use"
ewarn " php-select php-cgi php${PHP_MV}"
ewarn
fi
fi
# Create the symlinks for php-devel
"${ROOT}/usr/sbin/php-select" -t php-devel php${PHP_MV} > /dev/null 2>&1
exitStatus=$?
if [[ $exitStatus == 5 ]] ; then
php-select php-devel php${PHP_MV}
elif [[ $exitStatus == 4 ]] ; then
ewarn "To make usr/bin/php-config and usr/bin/phpize point to php-${PHP_MV}, use"
ewarn " php-select php-devel php${PHP_MV}"
ewarn
fi
ewarn "You may have to recompile third-party extensions now"
ewarn "(includes every dev-php5/pecl-* package and probably others in that category)"
ewarn
}

View File

@ -1,28 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/pkg_setup-v1.eblit,v 1.2 2010/07/08 22:39:52 mabi Exp $
eblit-php-pkg_setup() {
if use concurrentmodphp || use kolab ; then
ewarn "concurrentmodphp and kolab are Gentoo-specific experimental"
ewarn "patches. Before reporting any bugs to bugs.php.net, make sure to"
ewarn "rebuild PHP with those USE flags disabled"
ewarn
fi
# Mail support
php_check_mta
# imap support
# if virtuals/imap-c-client goes to new style virtual, we can exchange this
# for proper use-deps
php_check_imap
# Oracle support
php_check_oracle_8
phpconfutils_warn_about_external_deps
depend.apache_pkg_setup
}

View File

@ -1,90 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_compile-v1.eblit,v 1.4 2010/07/26 13:42:12 mabi Exp $
eblit-php-src_compile() {
SAPI_DIR="${WORKDIR}/sapis"
local is_first_sapi=1
for sapi in ${SAPIS} ; do
use "${sapi}" || continue
if [[ ${is_first_sapi} == 1 ]]; then
is_first_sapi=0
else
emake clean
fi
php_sapi_build "${sapi}"
php_sapi_copy "${sapi}"
done
}
php_sapi_build() {
local sapi="$1"
php_set_ini_dir "${sapi}"
mkdir -p "${SAPI_DIR}/${sapi}"
sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR}
--with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}"
for one_sapi in $SAPIS ; do
case "$one_sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --enable-${one_sapi}"
else
sapi_conf="${sapi_conf} --disable-${one_sapi}"
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --with-apxs2=/usr/sbin/apxs"
else
sapi_conf="${sapi_conf} --without-apxs2"
fi
;;
esac
done
econf ${sapi_conf}
emake || die "emake failed"
}
php_sapi_copy() {
local sapi="$1"
local source=""
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}.so"
;;
apache2)
# apache2 is a special case; the necessary files
# (yes, multiple) are copied by make install, not
# by the ebuild; that's the reason, why apache2 has
# to be the last sapi
emake INSTALL_ROOT="${SAPI_DIR}/${sapi}/" install-sapi
;;
*)
die "unhandled sapi in php_sapi_copy"
;;
esac
if [[ "${source}" ]] ; then
cp "$source" "${SAPI_DIR}/$sapi" || die "Unable to copy ${sapi} SAPI"
fi
}

View File

@ -1,246 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_configure-v1.eblit,v 1.4 2010/07/26 13:42:12 mabi Exp $
eblit-php-src_configure() {
PHP_DESTDIR="/usr/$(get_libdir)/php${PHP_MV}"
# This is a global variable and should be in caps. It isn't because the
# phpconfutils eclass relies on exactly this name...
# for --with-libdir see bug #327025
my_conf="
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}"/man
--infodir="${PHP_DESTDIR}"/info
--libdir="${PHP_DESTDIR}"/lib
--with-libdir=$(get_libdir)
--without-pear
$(use_enable threads maintainer-zts)"
phpconfutils_init
# extension USE flag shared
phpconfutils_extension_enable "bcmath" "bcmath" 1
phpconfutils_extension_with "bz2" "bzip2" 1
phpconfutils_extension_enable "calendar" "calendar" 1
phpconfutils_extension_disable "ctype" "ctype" 0
phpconfutils_extension_with "curl" "curl" 1
phpconfutils_extension_with "curlwrappers" "curlwrappers" 0
phpconfutils_extension_disable "dom" "xml" 0
phpconfutils_extension_with "enchant" "enchant" 1 "/usr"
phpconfutils_extension_enable "exif" "exif" 1
phpconfutils_extension_disable "fileinfo" "fileinfo" 1
phpconfutils_extension_disable "filter" "filter" 0
phpconfutils_extension_enable "ftp" "ftp" 1
phpconfutils_extension_with "gettext" "nls" 1
phpconfutils_extension_with "gmp" "gmp" 1
phpconfutils_extension_disable "hash" "hash" 0
phpconfutils_extension_without "iconv" "iconv" 0
phpconfutils_extension_enable "intl" "intl" 1
phpconfutils_extension_disable "ipv6" "ipv6" 0
phpconfutils_extension_disable "json" "json" 0
phpconfutils_extension_with "kerberos" "kerberos" 0 "/usr"
phpconfutils_extension_disable "libxml" "xml" 0
phpconfutils_extension_enable "mbstring" "unicode" 1
phpconfutils_extension_with "mcrypt" "crypt" 1
phpconfutils_extension_with "mssql" "mssql" 1
phpconfutils_extension_with "onig" "unicode" 0 "/usr"
phpconfutils_extension_with "openssl" "ssl" 0
phpconfutils_extension_with "openssl-dir" "ssl" 0 "/usr"
phpconfutils_extension_enable "pcntl" "pcntl" 1
phpconfutils_extension_disable "phar" "phar" 1
phpconfutils_extension_disable "pdo" "pdo" 0
phpconfutils_extension_with "pgsql" "postgres" 1
phpconfutils_extension_disable "posix" "posix" 0
phpconfutils_extension_with "pspell" "spell" 1
phpconfutils_extension_with "recode" "recode" 1
phpconfutils_extension_disable "simplexml" "simplexml" 0
phpconfutils_extension_enable "shmop" "sharedmem" 0
phpconfutils_extension_with "snmp" "snmp" 1
phpconfutils_extension_enable "soap" "soap" 1
phpconfutils_extension_enable "sockets" "sockets" 1
phpconfutils_extension_without "sqlite3" "sqlite3" 1 "/usr"
phpconfutils_extension_with "sybase-ct" "sybase-ct" 1
phpconfutils_extension_enable "sysvmsg" "sysvipc" 1
phpconfutils_extension_enable "sysvsem" "sysvipc" 1
phpconfutils_extension_enable "sysvshm" "sysvipc" 1
phpconfutils_extension_with "tidy" "tidy" 1
phpconfutils_extension_disable "tokenizer" "tokenizer" 0
phpconfutils_extension_enable "wddx" "wddx" 1
phpconfutils_extension_disable "xml" "xml" 0
phpconfutils_extension_disable "xmlreader" "xmlreader" 0
phpconfutils_extension_disable "xmlwriter" "xmlwriter" 0
phpconfutils_extension_with "xmlrpc" "xmlrpc" 1
phpconfutils_extension_with "xsl" "xsl" 1
phpconfutils_extension_enable "zip" "zip" 1
phpconfutils_extension_with "zlib" "zlib" 1
phpconfutils_extension_enable "debug" "debug" 0
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
my_conf="${my_conf} --enable-dba${shared}"
fi
# DBA drivers support
phpconfutils_extension_with "cdb" "cdb" 0
phpconfutils_extension_with "db4" "berkdb" 0
phpconfutils_extension_enable "flatfile" "flatfile" 0
phpconfutils_extension_with "gdbm" "gdbm" 0
phpconfutils_extension_enable "inifile" "inifile" 0
phpconfutils_extension_with "qdbm" "qdbm" 0
# Support for the GD graphics library
if use gd-external ; then
phpconfutils_extension_with "freetype-dir" "truetype" 0 "/usr"
phpconfutils_extension_with "t1lib" "truetype" 0 "/usr"
phpconfutils_extension_enable "gd-jis-conv" "cjk" 0
phpconfutils_extension_with "gd" "gd-external" 1 "/usr"
else
phpconfutils_extension_with "freetype-dir" "truetype" 0 "/usr"
phpconfutils_extension_with "t1lib" "truetype" 0 "/usr"
phpconfutils_extension_enable "gd-jis-conv" "cjk" 0
phpconfutils_extension_with "jpeg-dir" "gd" 0 "/usr"
phpconfutils_extension_with "png-dir" "gd" 0 "/usr"
phpconfutils_extension_with "xpm-dir" "xpm" 0 "/usr"
# enable gd last, so configure can pick up the previous settings
phpconfutils_extension_with "gd" "gd" 0
fi
# IMAP support
if use imap ; then
phpconfutils_extension_with "imap" "imap" 1
phpconfutils_extension_with "imap-ssl" "ssl" 0
fi
phpconfutils_extension_with "interbase" "interbase" 0 "/opt"
phpconfutils_extension_with "interbase" "firebird" 0 "/usr"
# LDAP support
if use ldap ; then
if use oci8 ; then
phpconfutils_extension_with "ldap" "ldap" 1 "${ORACLE_HOME}"
else
phpconfutils_extension_with "ldap" "ldap" 1
phpconfutils_extension_with "ldap-sasl" "ldap-sasl" 0
fi
fi
# MySQL support
if use mysql ; then
if use mysqlnd ; then
phpconfutils_extension_with "mysql" "mysql" 1 "mysqlnd"
else
phpconfutils_extension_with "mysql" "mysql" 1 "/usr"
fi
phpconfutils_extension_with "mysql-sock" "mysql" 0 "/var/run/mysqld/mysqld.sock"
fi
# MySQLi support
if use mysqlnd ; then
phpconfutils_extension_with "mysqli" "mysqli" 1 "mysqlnd"
else
phpconfutils_extension_with "mysqli" "mysqli" 1 "/usr/bin/mysql_config"
fi
# ODBC support
if use odbc ; then
phpconfutils_extension_with "unixODBC" "odbc" 1 "/usr"
phpconfutils_extension_with "adabas" "adabas" 1
phpconfutils_extension_with "birdstep" "birdstep" 1
phpconfutils_extension_with "dbmaker" "dbmaker" 1
phpconfutils_extension_with "empress" "empress" 1
if use empress ; then
phpconfutils_extension_with "empress-bcs" "empress-bcs" 0
fi
phpconfutils_extension_with "esoob" "esoob" 1
phpconfutils_extension_with "ibm-db2" "db2" 1
phpconfutils_extension_with "sapdb" "sapdb" 1
phpconfutils_extension_with "solid" "solid" 1
fi
if use iodbc ; then
phpconfutils_extension_with "iodbc" "iodbc" 1 "/usr"
fi
# Oracle support
phpconfutils_extension_with "oci8" "oci8" 1
if use oci8-instant-client ; then
OCI8IC_PKG="$(best_version dev-db/oracle-instantclient-basic | \
sed -e 's|dev-db/oracle-instantclient-basic-||g' | \
sed -e 's|-r.*||g')"
phpconfutils_extension_with "oci8" "oci8-instant-client" 1 \
"instantclient,/usr/lib/oracle/${OCI8IC_PKG}/client/lib"
fi
# PDO support
if use pdo ; then
phpconfutils_extension_with "pdo-dblib" "mssql" 1
if use mysqlnd ; then
phpconfutils_extension_with "pdo-mysql" "mysql" 1 "mysqlnd"
else
phpconfutils_extension_with "pdo-mysql" "mysql" 1 "/usr"
fi
phpconfutils_extension_with "pdo-pgsql" "postgres" 1
phpconfutils_extension_with "pdo-sqlite" "sqlite" 1 "/usr"
phpconfutils_extension_with "pdo-odbc" "odbc" 1 "unixODBC,/usr"
if use oci8 ; then
phpconfutils_extension_with "pdo-oci" "oci8" 1
fi
if use oci8-instant-client ; then
phpconfutils_extension_with "pdo-oci" "oci8-instant-client" 1 \
"instantclient,/usr,${OCI8IC_PKG}"
fi
fi
# readline/libedit support
phpconfutils_extension_with "readline" "readline" 0
phpconfutils_extension_with "libedit" "libedit" 0
# Session support
if use session ; then
phpconfutils_extension_with "mm" "sharedmem" 0
else
phpconfutils_extension_disable "session" "session" 0
fi
# SQLite support
if use sqlite ; then
phpconfutils_extension_with "sqlite" "sqlite" 0 "/usr"
phpconfutils_extension_enable "sqlite-utf8" "unicode" 0
else
phpconfutils_extension_without "sqlite" "sqlite" 0
fi
if use pic ; then
my_conf="${my_conf} --with-pic"
fi
if has fpm ${IUSE//+} && use fpm ; then
my_conf="${my_conf} --with-libevent-dir=/usr/lib"
fi
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
my_conf="${my_conf} --with-pcre-regex=/usr --with-pcre-dir=/usr"
# Catch CFLAGS problems
php_check_cflags
# Support user-passed configuration parameters
my_conf="${my_conf} ${EXTRA_ECONF:-}"
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
if use apache2 ; then
# Concurrent PHP Apache2 modules support
if use concurrentmodphp ; then
append-ldflags "-Wl,--version-script=${FILESDIR}/php${PHP_MV}-ldvs"
fi
fi
}

View File

@ -1,140 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_install-v1.eblit,v 1.4 2010/07/26 13:42:12 mabi Exp $
eblit-php-src_install() {
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR}/bin"
# Install php environment (without any sapis)
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs \
|| die "emake install failed"
local extension_dir="$("${D}/${PHP_DESTDIR}/bin/php-config" --extension-dir)"
# And install the modules to it
if use sharedext ; then
insinto "${extension_dir}"
doins "${S}/modules/"*.so
fi
# Generate the USE file for PHP
phpconfutils_generate_usefile
# Create the directory where we'll put version-specific php scripts
keepdir /usr/share/php${PHP_MV}
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
# needed each time, php_install_ini would reset it
into "${PHP_DESTDIR}"
file=$(find "${SAPI_DIR}/${sapi}/" -type f | head -n 1)
if [[ "${file: -3}" == ".so" ]]; then
if [[ "${sapi}" == "apache2" ]]; then
insinto "${PHP_DESTDIR}/../apache2/modules/"
newins "${file}" "${file/*\/}"
else
dolib.so "${file}" || die "Unable to install ${sapi} sapi"
fi
else
dobin "${file}" || die "Unable to install ${sapi} sapi"
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Install env.d files
newenvd "${FILESDIR}/20php${PHP_MV}-envd" \
"20php${PHP_MV}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i \
"${D}/etc/env.d/20php${PHP_MV}"
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${D}/usr/$(get_libdir)/php5/bin/php-config"
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
# default to expose_php=Off, bug 300695
sed -e 's|^expose_php .*|expose_php = Off|g' -i "${phpinisrc}"
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:/usr/share/php'${PHP_MV}':/usr/share/php"|' -i "${phpinisrc}"
dodir "${PHP_INI_DIR}"
insinto "${PHP_INI_DIR}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
dodir "${PHP_EXT_INI_DIR}"
dodir "${PHP_EXT_INI_DIR_ACTIVE}"
# Install any extensions built as shared objects
if use sharedext ; then
insinto "${PHP_EXT_INI_DIR}"
for extension in "${D}/${extension_dir}/"*.so ; do
extension="${extension##*/}"
inifilename="${extension/.so/.ini}"
echo "extension=${extension}" > "${S}/modules/$inifilename"
doins "${S}/modules/$inifilename"
dosym "${PHP_EXT_INI_DIR}/${inifilename}" "${PHP_EXT_INI_DIR_ACTIVE}/${inifilename}"
done
fi
# SAPI-specific handling
if [[ "${sapi}" == "apache2" ]] ; then
if use concurrentmodphp ; then
einfo "Installing Apache2 config file 70_mod_php${PHP_MV}_concurr.conf"
insinto "${APACHE_MODULES_CONFDIR}"
newins "${FILESDIR}/70_mod_php${PHP_MV}_concurr.conf-apache2" \
"70_mod_php${PHP_MV}_concurr.conf"
# Put the ld version script in the right place so
# it's always accessible
insinto "/var/lib/php-pkg/${CATEGORY}/${PN}-${PVR}/"
doins "${FILESDIR}/php${PHP_MV}-ldvs"
else
einfo "Installing Apache2 config 70_mod_php${PHP_MV}.conf)"
insinto ${APACHE_MODULES_CONFDIR}
newins "${FILESDIR}/70_mod_php${PHP_MV}.conf-apache2" \
"70_mod_php${PHP_MV}.conf"
fi
fi
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM CGI config file php-fpm.conf"
epatch "${FILESDIR}/php-fpm-gentooified.patch"
insinto ${PHP_INI_DIR}
doins "${S}/sapi/fpm/php-fpm.conf"
dodir "/etc/init.d"
insinto "/etc/init.d"
newins "${FILESDIR}/php-fpm.init" "php-fpm"
fperms 755 "/etc/init.d/php-fpm"
dosym "${PHP_DESTDIR}/bin/php-fpm" "/usr/bin/php-fpm"
fi
}

View File

@ -1,70 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_prepare-v1.eblit,v 1.3 2010/06/01 16:17:05 mabi Exp $
eblit-php-src_prepare() {
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
# ([empty session.save_path]/session_mm_[sapi][gid].sem)
# there is no easy way to circumvent that, all php calls during
# install use -n, so no php.ini file will be used.
# As such, this is the easiest way to get around
addpredict /session_mm_cli250.sem
addpredict /session_mm_cli0.sem
# Concurrent PHP Apache2 modules support
use apache2 && use concurrentmodphp && \
epatch "${WORKDIR}/${PV}/opt/concurrent_apache_modules.patch"
# kolab support (support for imap annotations)
use kolab && epatch "${WORKDIR}/${PV}/opt/imap-kolab-annotations.patch"
# Change PHP branding
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1${PHP_EXTRA_BRANDING}-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Apply generic PHP patches
EPATCH_SOURCE="${WORKDIR}/${PV}/generic" EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
EPATCH_MULTI_MSG="Applying generic patches and fixes from upstream..." epatch
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
# Suhosin support
if use suhosin ; then
epatch "${WORKDIR}/${SUHOSIN_PATCH}"
fi
# rebuild the whole autotools stuff as we are heavily patching it
# (suhosin, fastbuild, ...)
# eaclocal doesn't accept --force, so we try to force re-generation
# this way
rm aclocal.m4
# work around divert() issues with newer autoconf, bug #281697
if has_version '>=sys-devel/autoconf-2.64' ; then
sed -i -r \
-e 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
$(grep -l divert $(find . -name '*.m4') configure.in) || die
fi
eautoreconf --force -W no-cross
}

View File

@ -1,54 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_test-v1.eblit,v 1.1 2010/05/27 23:05:04 mabi Exp $
eblit-php-src_test() {
vecho ">>> Test phase [test]: ${CATEGORY}/${PF}"
if [[ ! -x "${S}/sapi/cli/php" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${S}/sapi/cli/php"
fi
if [[ -x "${S}/sapi/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${S}/sapi/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \
"${S}/run-tests.php" -n -q -d "session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}

View File

@ -1,16 +0,0 @@
diff -Naur php-5.2.10.old/ext/pdo_dblib/dblib_driver.c php-5.2.10/ext/pdo_dblib/dblib_driver.c
--- php-5.2.10.old/ext/pdo_dblib/dblib_driver.c 2009-03-20 23:14:17.000000000 +0100
+++ php-5.2.10/ext/pdo_dblib/dblib_driver.c 2009-09-25 00:19:31.000000000 +0200
@@ -230,9 +230,9 @@
goto cleanup;
}
- if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
- goto cleanup;
- }
+// if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
+// goto cleanup;
+// }
if (vars[3].optval && FAIL == dbuse(H->link, vars[3].optval)) {
goto cleanup;

View File

@ -1,11 +0,0 @@
--- ext/gd/libgd/gd_png.c
+++ ext/gd/libgd/gd_png.c
@@ -139,7 +139,7 @@
return NULL;
}
- if (!png_check_sig (sig, 8)) { /* bad signature */
+ if (png_sig_cmp (sig, 0, 8)) { /* bad signature */
return NULL;
}

View File

@ -1,12 +0,0 @@
diff -uNr php-5.2.13/ext/gmp/gmp.c php-5.2.13.orig//ext/gmp/gmp.c
--- php-5.2.13/ext/gmp/gmp.c 2010-07-27 11:39:15.000000000 +0200
+++ php-5.2.13.orig//ext/gmp/gmp.c 2010-07-27 11:37:40.000000000 +0200
@@ -1396,7 +1396,7 @@
GMPG(rand_initialized) = 1;
}
- mpz_urandomb(*gmpnum_result, GMPG(rand_state), GMP_ABS (limiter) * __GMP_BITS_PER_MP_LIMB);
+ mpz_urandomb(*gmpnum_result, GMPG(rand_state), GMP_ABS (limiter) * GMP_LIMB_BITS);
ZEND_REGISTER_RESOURCE(return_value, gmpnum_result, le_gmp);
}

View File

@ -1,55 +0,0 @@
--- sapi/fpm/php-fpm.conf.orig 2010-06-03 21:04:30.000000000 +0200
+++ sapi/fpm/php-fpm.conf 2010-06-03 22:40:41.000000000 +0200
@@ -8,7 +8,7 @@
; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
-;include=/etc/fpm.d/*.conf
+;include=/etc/php/fpm-php5/fpm.d/*.conf
;;;;;;;;;;;;;;;;;;
; Global Options ;
@@ -17,11 +17,11 @@
[global]
; Pid file
; Default Value: none
-;pid = /var/lib/run/php-fpm.pid
+;pid = /var/run/php-fpm.pid
; Error log file
; Default Value: /var/lib/log/php-fpm.log
-;error_log = /var/lib/log/php-fpm.log
+error_log = /var/log/php-fpm.log
; Log level
; Possible Values: alert, error, warning, notice, debug
@@ -133,17 +133,17 @@
; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
-;pm.start_servers = 20
+pm.start_servers = 20
; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
-;pm.min_spare_servers = 5
+pm.min_spare_servers = 5
; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
-;pm.max_spare_servers = 35
+pm.max_spare_servers = 35
; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
@@ -213,7 +213,7 @@
; The log file for slow requests
; Default Value: /var/lib/log/php-fpm.log.slow
-;slowlog = /var/lib/log/php-fpm.log.slow
+;slowlog = /var/log/php-fpm.log.slow
; Set open file descriptor rlimit.
; Default Value: system defined value

View File

@ -1,22 +0,0 @@
#!/sbin/runscript
PHP_FPM_CONF="/etc/php/fpm-php5/php-fpm.conf"
opts="depend start stop reload"
depend() {
need net
use apache2 lighttpd nginx
}
start() {
ebegin "Starting PHP FastCGI server"
start-stop-daemon --start --exec /usr/bin/php-fpm -- -y "${PHP_FPM_CONF}"
eend $?
}
stop() {
ebegin "Stopping PHP FastCGI server"
start-stop-daemon --stop --name php-fpm
eend $?
}

View File

@ -1 +0,0 @@
PHP_5 { global: *; };

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>php</herd>
<use>
<flag name='cli'>Enable CLI SAPI</flag>
<flag name='concurrentmodphp'>Make it possible to load both mod_php4 and mod_php5 into the same Apache2 instance (experimental)</flag>
<flag name='discard-path'>Switch on common security setting for CGI SAPI</flag>
<flag name='embed'>Enable embed SAPI</flag>
<flag name='enchant'>Add supports Enchant spelling library.</flag>
<flag name='fastbuild'>Build PHP quicker (experimental)</flag>
<flag name='fdftk'>Add supports for Adobe's FDF toolkit.</flag>
<flag name='fileinfo'>Add fileinfo extension support</flag>
<flag name='filter'>Add filter extension support</flag>
<flag name='force-cgi-redirect'>Switch on common security setting for CGI SAPI</flag>
<flag name='fpm'>Enable the FastCGI Process Manager SAPI</flag>
<flag name='hash'>Enable the hash extension</flag>
<flag name='intl'>Enables the intl extension for extended internalization support</flag>
<flag name='java-external'>Use the external java extension rather than the bundled one</flag>
<flag name='json'>Enable JSON support</flag>
<flag name='ldap-sasl'>Add SASL support for the PHP LDAP extension</flag>
<flag name='mysqlnd'>Use native driver for mysql, mysqli, PDO_Mysql</flag>
<flag name='pcre'>Adds support for Perl Compatible Regular Expressions (deprecated: always "on" in php 5.3)</flag>
<flag name='pic'>Force shared modules to build as PIC on x86 (speed tradeoff with memory usage)</flag>
<flag name='pdo'>Enable the bundled PDO extensions</flag>
<flag name='phar'>Enables the phar extension to provide phar archive support</flag>
<flag name='reflection'>Enable the reflection extension (Reflection API) (deprecated: always "on" in php 5.3)</flag>
<flag name='spl'>Adds support for the Standard PHP Library (deprecated: always "on" in php 5.3)</flag>
<flag name='suhosin'>Add Suhosin support (patch and extension from http://www.suhosin.org/)</flag>
<flag name='xmlreader'>Enable XMLReader support</flag>
<flag name='xmlwriter'>Enable XMLWriter support</flag>
<flag name='zip'>Enable ZIP file support</flag>
</use>
</pkgmetadata>

View File

@ -1,552 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.2.13.ebuild,v 1.8 2010/07/05 23:19:20 mabi Exp $
CGI_SAPI_USE="discard-path force-cgi-redirect"
APACHE2_SAPI_USE="concurrentmodphp threads"
IUSE="cli cgi ${CGI_SAPI_USE} ${APACHE2_SAPI_USE} fastbuild"
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
# NOTE: Portage doesn't support setting PROVIDE based on the USE flags
# that have been enabled, so we have to PROVIDE everything for now
# and hope for the best
PROVIDE="virtual/php"
# php package settings
SLOT="5"
MY_PHP_PV="${PV}"
MY_PHP_P="php-${MY_PHP_PV}"
PHP_PACKAGE="1"
# php patch settings, general
PHP_PATCHSET_REV="${PR/r/}"
PHP_PATCHSET_URI="http://dev.gentoo.org/~keytoaster/distfiles/php-patchset-${PV}-r${PHP_PATCHSET_REV}.tar.bz2"
SUHOSIN_PATCH="suhosin-patch-5.2.13-0.9.7.patch.gz"
MULTILIB_PATCH="${MY_PHP_PV}/opt/multilib-search-path.patch"
# php patch settings, ebuild specific
FASTBUILD_PATCH="${MY_PHP_PV}/opt/fastbuild.patch"
CONCURRENTMODPHP_PATCH="${MY_PHP_PV}/opt/concurrent_apache_modules.patch"
# kolab patch - http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/patches/php/
# bugs about this go to wrobel@gentoo.org
KOLAB_PATCH="${MY_PHP_PV}/opt/kolab-imap-annotations.patch"
inherit versionator php5_2-sapi apache-module
# Suhosin patch support
[[ -n "${SUHOSIN_PATCH}" ]] && SRC_URI="${SRC_URI} suhosin? (
http://download.suhosin.org/${SUHOSIN_PATCH} )"
DESCRIPTION="The PHP language runtime engine: CLI, CGI and Apache2 SAPIs."
DEPEND="app-admin/php-toolkit
imap? ( >=virtual/imap-c-client-2006k )
pcre? ( >=dev-libs/libpcre-7.8 )
xml? ( >=dev-libs/libxml2-2.7.2-r2 )
xmlrpc? ( >=dev-libs/libxml2-2.7.2-r2 virtual/libiconv )"
RDEPEND="${DEPEND}"
if [[ -n "${KOLAB_PATCH}" ]] ; then
IUSE="${IUSE} kolab"
DEPEND="${DEPEND}
kolab? ( >=net-libs/c-client-2004g-r1 )"
fi
PDEPEND="suhosin? ( >=dev-php5/suhosin-0.9.29 )"
want_apache
pkg_setup() {
PHPCONFUTILS_AUTO_USE=""
# Make sure the user has specified at least one SAPI
einfo "Determining SAPI(s) to build"
phpconfutils_require_any " Enabled SAPI:" " Disabled SAPI:" cli cgi apache2
# Threaded Apache2 support
if use apache2 ; then
has_apache_threads
fi
# Concurrent PHP Apache2 modules support
if use apache2 ; then
if use concurrentmodphp ; then
ewarn
ewarn "'concurrentmodphp' makes it possible to load multiple, differently"
ewarn "versioned mod_php's into the same Apache instance. This is done with"
ewarn "a few linker tricks and workarounds, and is not guaranteed to always"
ewarn "work correctly, so use it at your own risk. Especially, do not use"
ewarn "this in conjunction with PHP modules (PECL, ...) other than the ones"
ewarn "you may find in the Portage tree or the PHP Overlay!"
ewarn "This is an experimental feature, so please rebuild PHP"
ewarn "without the 'concurrentmodphp' USE flag if you experience"
ewarn "any problems, and then reproduce any bugs before filing"
ewarn "them in Gentoo's Bugzilla or bugs.php.net."
ewarn "If you have conclusive evidence that a bug directly"
ewarn "derives from 'concurrentmodphp', please file a bug in"
ewarn "Gentoo's Bugzilla only."
ewarn
ebeep 5
fi
fi
# fastbuild support
if use fastbuild ; then
ewarn
ewarn "'fastbuild' attempts to build all SAPIs in a single pass."
ewarn "This is an experimental feature, so please rebuild PHP"
ewarn "without the 'fastbuild' USE flag if you experience"
ewarn "any problems, and then reproduce any bugs before filing"
ewarn "them in Gentoo's Bugzilla or bugs.php.net."
ewarn "If you have conclusive evidence that a bug directly"
ewarn "derives from 'fastbuild', please file a bug in"
ewarn "Gentoo's Bugzilla only."
ewarn
fi
if use pcre ; then
built_with_use dev-libs/libpcre unicode || \
die "Please rebuild dev-libs/libpcre with USE=unicode"
fi
depend.apache_pkg_setup
php5_2-sapi_pkg_setup
}
php_determine_sapis() {
# holds the list of sapis that we want to build
PHPSAPIS=
if use cli || phpconfutils_usecheck cli ; then
PHPSAPIS="${PHPSAPIS} cli"
fi
if use cgi ; then
PHPSAPIS="${PHPSAPIS} cgi"
fi
# note - apache SAPI comes after the simpler cli/cgi sapis
if use apache2 ; then
PHPSAPIS="${PHPSAPIS} apache${APACHE_VERSION}"
fi
}
src_unpack() {
if [[ "${PHP_PACKAGE}" == 1 ]] ; then
unpack ${A}
fi
cd "${S}"
epatch "${FILESDIR}"/${PN}-5.2.12-libpng14.patch
epatch "${FILESDIR}"/${PN}-5.2.13-gmp5.patch
# Concurrent PHP Apache2 modules support
if use apache2 ; then
if use concurrentmodphp ; then
if [[ -n "${CONCURRENTMODPHP_PATCH}" ]] && [[ -f "${WORKDIR}/${CONCURRENTMODPHP_PATCH}" ]] ; then
epatch "${WORKDIR}/${CONCURRENTMODPHP_PATCH}"
else
ewarn "There is no concurrent mod_php patch available for this PHP release yet!"
fi
fi
fi
# fastbuild support
if use fastbuild ; then
if [[ -n "${FASTBUILD_PATCH}" ]] && [[ -f "${WORKDIR}/${FASTBUILD_PATCH}" ]] ; then
epatch "${WORKDIR}/${FASTBUILD_PATCH}"
else
ewarn "There is no fastbuild patch available for this PHP release yet!"
fi
fi
# kolab support
if [[ -n "${KOLAB_PATCH}" ]] ; then
use kolab && epatch "${WORKDIR}/${KOLAB_PATCH}"
fi
# pretend to not have flex, bug 221357
sed -re 's:( +)PHP_SUBST\(LEX\):\1LEX="exit 0;"\n\0:' -i acinclude.m4
# Now let the eclass do the rest and regenerate the configure
php5_2-sapi_src_unpack
# Fix Makefile.global:test to consider the CGI SAPI if present
if use cgi ; then
sed -e "s|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\"|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\" \&\& test \! -z \"\$(top_builddir)/php-cgi\" \&\& test -x \"\$(top_builddir)/php-cgi\"|g" -i Makefile.global
sed -e "s|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\"|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\" TEST_PHP_CGI_EXECUTABLE=\"\$(top_builddir)/php-cgi\"|g" -i Makefile.global
fi
# try to fix some test cases which fail because of sandbox otherwise
sed -e 's:/no/such/:.\0:' -i ext/standard/tests/file/005_error.phpt \
ext/standard/tests/file/006_error.phpt \
ext/standard/tests/file/touch.phpt
# REMOVING BROKEN TESTS:
# removing this test as it has been broken for ages and is not easily
# fixable (depends on a lot of factors)
rm ext/standard/tests/general_functions/phpinfo.phpt
# never worked properly, no easy fix
rm ext/iconv/tests/iconv_stream_filter.phpt
# needs write access to /tmp and others
rm ext/session/tests/session_save_path_variation5.phpt
# new tests since 5.2.7 which have never been working for me
rm ext/spl/tests/arrayObject___construct_basic4.phpt \
ext/spl/tests/arrayObject___construct_basic5.phpt \
ext/spl/tests/arrayObject_exchangeArray_basic3.phpt \
ext/spl/tests/arrayObject_setFlags_basic1.phpt
# those might as well be related to suhosin
rm ext/session/tests/session_decode_variation3.phpt \
ext/session/tests/session_encode_variation8.phpt
# missing skipif
use reflection || \
rm ext/standard/tests/directory/DirectoryClass_basic_001.phpt
# sandbox-related (sandbox checks for permissions before even looking
# at the fs, but the tests expect "No such file or directory"
sed -e 's:/blah:./bla:' -i \
ext/session/tests/session_save_path_variation{2,3}.phpt
rm ext/standard/tests/file/rename_variation13.phpt
# test passes, but run-tests.php claims failure
rm ext/standard/tests/file/tempnam_variation4.phpt
# these tests behave differently with suhosin enabled, adapting them...
use suhosin && sed -e 's:File(\.\./):File(..):g' -i \
tests/security/open_basedir*{.inc,.phpt}
}
src_compile() {
# bug 217392 (autconf-2.62 behavior changes)
export CFLAGS="${CFLAGS} -D_GNU_SOURCE"
export CXXFLAGS="${CXXFLAGS} -D_GNU_SOURCE"
if use fastbuild && [[ -n "${FASTBUILD_PATCH}" ]] ; then
src_compile_fastbuild
else
src_compile_normal
fi
}
src_compile_fastbuild() {
php_determine_sapis
build_cli=0
build_cgi=0
build_apache2=0
my_conf=""
for x in ${PHPSAPIS} ; do
case ${x} in
cli)
build_cli=1
;;
cgi)
build_cgi=1
;;
apache2)
build_apache2=1
;;
esac
done
if [[ ${build_cli} = 1 ]] ; then
my_conf="${my_conf} --enable-cli"
else
my_conf="${my_conf} --disable-cli"
fi
if [[ ${build_cgi} = 1 ]] ; then
my_conf="${my_conf} --enable-cgi --enable-fastcgi"
phpconfutils_extension_enable "discard-path" "discard-path" 0
phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0
else
my_conf="${my_conf} --disable-cgi"
fi
if [[ ${build_apache2} = 1 ]] ; then
my_conf="${my_conf} --with-apxs2=/usr/sbin/apxs2"
# Threaded Apache2 support
if use threads ; then
my_conf="${my_conf} --enable-maintainer-zts"
ewarn "Enabling ZTS for Apache2 MPM"
fi
# Concurrent PHP Apache2 modules support
if use concurrentmodphp ; then
append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs"
fi
fi
if use pcre || phpconfutils_usecheck pcre ; then
myconf="${my_conf} --with-pcre-dir=/usr"
phpconfutils_extension_with "pcre-regex" "pcre" 0 "/usr"
fi
# Now we know what we are building, build it
php5_2-sapi_src_compile
# To keep the separate php.ini files for each SAPI, we change the
# build-defs.h and recompile
if [[ ${build_cli} = 1 ]] ; then
einfo
einfo "Building CLI SAPI"
einfo
sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cli-php5"|g;' -i main/build-defs.h
sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cli-php5/ext-active"|g;' -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make sapi/cli/php || die "Unable to make CLI SAPI"
cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI"
fi
if [[ ${build_cgi} = 1 ]] ; then
einfo
einfo "Building CGI SAPI"
einfo
sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cgi-php5"|g;' -i main/build-defs.h
sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cgi-php5/ext-active"|g;' -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make sapi/cgi/php-cgi || die "Unable to make CGI SAPI"
cp sapi/cgi/php-cgi php-cgi || die "Unable to copy CGI SAPI"
fi
if [[ ${build_apache2} = 1 ]] ; then
einfo
einfo "Building apache${APACHE_VERSION} SAPI"
einfo
sed -e "s|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH \"/etc/php/apache${APACHE_VERSION}-php5\"|g;" -i main/build-defs.h
sed -e "s|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR \"/etc/php/apache${APACHE_VERSION}-php5/ext-active\"|g;" -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make || die "Unable to make apache${APACHE_VERSION} SAPI"
fi
}
src_compile_normal() {
php_determine_sapis
CLEAN_REQUIRED=0
my_conf=""
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
if use apache2 ; then
# Concurrent PHP Apache2 modules support
if use concurrentmodphp ; then
append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs"
fi
fi
for x in ${PHPSAPIS} ; do
if use pcre || phpconfutils_usecheck pcre ; then
myconf="${my_conf} --with-pcre-dir=/usr"
phpconfutils_extension_with "pcre-regex" "pcre" 0 "/usr"
fi
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
if use apache2 ; then
# Threaded Apache2 support
if use threads ; then
my_conf="${my_conf} --enable-maintainer-zts"
ewarn "Enabling ZTS for Apache2 MPM"
fi
fi
if [[ "${CLEAN_REQUIRED}" = 1 ]] ; then
make clean
fi
PHPSAPI="${x}"
case ${x} in
cli)
my_conf="${my_conf} --enable-cli --disable-cgi"
php5_2-sapi_src_compile
cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI"
;;
cgi)
my_conf="${my_conf} --disable-cli --enable-cgi --enable-fastcgi"
phpconfutils_extension_enable "discard-path" "discard-path" 0
phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0
php5_2-sapi_src_compile
cp sapi/cgi/php-cgi php-cgi || die "Unable to copy CGI SAPI"
;;
apache2)
my_conf="${my_conf} --disable-cli --with-apxs2=/usr/sbin/apxs2"
php5_2-sapi_src_compile
;;
esac
CLEAN_REQUIRED=1
my_conf=""
done
}
src_install() {
php_determine_sapis
destdir=/usr/$(get_libdir)/php5
# Let the eclass do the common work
php5_2-sapi_src_install
einfo
einfo "Installing SAPI(s) ${PHPSAPIS}"
einfo
for x in ${PHPSAPIS} ; do
PHPSAPI="${x}"
case ${x} in
cli)
einfo "Installing CLI SAPI"
into ${destdir}
newbin php-cli php || die "Unable to install ${x} sapi"
php5_2-sapi_install_ini
;;
cgi)
einfo "Installing CGI SAPI"
into ${destdir}
dobin php-cgi || die "Unable to install ${x} sapi"
php5_2-sapi_install_ini
;;
apache2)
einfo "Installing Apache${APACHE_VERSION} SAPI"
make INSTALL_ROOT="${D}" install-sapi || die "Unable to install ${x} SAPI"
if use concurrentmodphp ; then
einfo "Installing Apache${APACHE_VERSION} config file for PHP5-concurrent (70_mod_php5_concurr.conf)"
insinto ${APACHE_MODULES_CONFDIR}
newins "${FILESDIR}/70_mod_php5_concurr.conf-apache2-r1" "70_mod_php5_concurr.conf"
# Put the ld version script in the right place so it's always accessible
insinto "/var/lib/php-pkg/${CATEGORY}/${PN}-${PVR}/"
doins "${FILESDIR}/php5-ldvs"
# Redefine the extension dir to have the modphp suffix
PHPEXTDIR="`"${D}/${destdir}/bin/php-config" --extension-dir`-versioned"
else
einfo "Installing Apache${APACHE_VERSION} config file for PHP5 (70_mod_php5.conf)"
insinto ${APACHE_MODULES_CONFDIR}
newins "${FILESDIR}/70_mod_php5.conf-apache2-r1" "70_mod_php5.conf"
fi
php5_2-sapi_install_ini
;;
esac
done
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php5"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${D}/etc/env.d/20php5"
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP5"
if use concurrentmodphp ; then
APACHE2_MOD_CONF="70_mod_php5_concurr"
else
APACHE2_MOD_CONF="70_mod_php5"
fi
apache-module_pkg_postinst
fi
# Update Apache2 to use mod_php
if use apache2 ; then
"${ROOT}/usr/sbin/php-select" -t apache2 php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 2 ]] ; then
php-select apache2 php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "Apache2 is configured to load a different version of PHP."
ewarn "To make Apache2 use PHP v5, use php-select:"
ewarn
ewarn " php-select apache2 php5"
ewarn
fi
fi
# Create the symlinks for php-cli
if use cli || phpconfutils_usecheck cli ; then
"${ROOT}/usr/sbin/php-select" -t php php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "/usr/bin/php links to a different version of PHP."
ewarn "To make /usr/bin/php point to PHP v5, use php-select:"
ewarn
ewarn " php-select php php5"
ewarn
fi
fi
# Create the symlinks for php-cgi
if use cgi ; then
"${ROOT}/usr/sbin/php-select" -t php-cgi php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php-cgi php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "/usr/bin/php-cgi links to a different version of PHP."
ewarn "To make /usr/bin/php-cgi point to PHP v5, use php-select:"
ewarn
ewarn " php-select php-cgi php5"
ewarn
fi
fi
# Create the symlinks for php-devel
"${ROOT}/usr/sbin/php-select" -t php-devel php5 > /dev/null 2>&1
exitStatus=$?
if [[ $exitStatus == 5 ]] ; then
php-select php-devel php5
elif [[ $exitStatus == 4 ]] ; then
ewarn
ewarn "/usr/bin/php-config and/or /usr/bin/phpize are linked to a"
ewarn "different version of PHP. To make them point to PHP v5, use"
ewarn "php-select:"
ewarn
ewarn " php-select php-devel php5"
ewarn
fi
php5_2-sapi_pkg_postinst
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
if [[ ! -x "${S}"/php-cli ]]; then
ewarn "Running the php test suite requires USE=cli"
return
fi
export TEST_PHP_EXECUTABLE="${S}"/php-cli
if [[ -x "${S}"/php-cgi ]]; then
export TEST_PHP_CGI_EXECUTABLE="${S}"/php-cgi
fi
REPORT_EXIT_STATUS=1 "${S}"/php-cli -n "${S}"/run-tests.php -n
if [[ $? != 0 ]] ; then
eerror "Not all tests were successful!"
fi
}

View File

@ -1,552 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.2.13.ebuild,v 1.8 2010/07/05 23:19:20 mabi Exp $
CGI_SAPI_USE="discard-path force-cgi-redirect"
APACHE2_SAPI_USE="concurrentmodphp threads"
IUSE="cli cgi ${CGI_SAPI_USE} ${APACHE2_SAPI_USE} fastbuild"
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
# NOTE: Portage doesn't support setting PROVIDE based on the USE flags
# that have been enabled, so we have to PROVIDE everything for now
# and hope for the best
PROVIDE="virtual/php"
# php package settings
SLOT="5"
MY_PHP_PV="${PV}"
MY_PHP_P="php-${MY_PHP_PV}"
PHP_PACKAGE="1"
# php patch settings, general
PHP_PATCHSET_REV="${PR/r/}"
PHP_PATCHSET_URI="http://dev.gentoo.org/~keytoaster/distfiles/php-patchset-${PV}-r${PHP_PATCHSET_REV}.tar.bz2"
SUHOSIN_PATCH="suhosin-patch-5.2.13-0.9.7.patch.gz"
MULTILIB_PATCH="${MY_PHP_PV}/opt/multilib-search-path.patch"
# php patch settings, ebuild specific
FASTBUILD_PATCH="${MY_PHP_PV}/opt/fastbuild.patch"
CONCURRENTMODPHP_PATCH="${MY_PHP_PV}/opt/concurrent_apache_modules.patch"
# kolab patch - http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/patches/php/
# bugs about this go to wrobel@gentoo.org
KOLAB_PATCH="${MY_PHP_PV}/opt/kolab-imap-annotations.patch"
inherit versionator php5_2-sapi apache-module
# Suhosin patch support
[[ -n "${SUHOSIN_PATCH}" ]] && SRC_URI="${SRC_URI} suhosin? (
http://download.suhosin.org/${SUHOSIN_PATCH} )"
DESCRIPTION="The PHP language runtime engine: CLI, CGI and Apache2 SAPIs."
DEPEND="app-admin/php-toolkit
imap? ( >=virtual/imap-c-client-2006k )
pcre? ( >=dev-libs/libpcre-7.8 )
xml? ( >=dev-libs/libxml2-2.7.2-r2 )
xmlrpc? ( >=dev-libs/libxml2-2.7.2-r2 virtual/libiconv )"
RDEPEND="${DEPEND}"
if [[ -n "${KOLAB_PATCH}" ]] ; then
IUSE="${IUSE} kolab"
DEPEND="${DEPEND}
kolab? ( >=net-libs/c-client-2004g-r1 )"
fi
PDEPEND="suhosin? ( >=dev-php5/suhosin-0.9.29 )"
want_apache
pkg_setup() {
PHPCONFUTILS_AUTO_USE=""
# Make sure the user has specified at least one SAPI
einfo "Determining SAPI(s) to build"
phpconfutils_require_any " Enabled SAPI:" " Disabled SAPI:" cli cgi apache2
# Threaded Apache2 support
if use apache2 ; then
has_apache_threads
fi
# Concurrent PHP Apache2 modules support
if use apache2 ; then
if use concurrentmodphp ; then
ewarn
ewarn "'concurrentmodphp' makes it possible to load multiple, differently"
ewarn "versioned mod_php's into the same Apache instance. This is done with"
ewarn "a few linker tricks and workarounds, and is not guaranteed to always"
ewarn "work correctly, so use it at your own risk. Especially, do not use"
ewarn "this in conjunction with PHP modules (PECL, ...) other than the ones"
ewarn "you may find in the Portage tree or the PHP Overlay!"
ewarn "This is an experimental feature, so please rebuild PHP"
ewarn "without the 'concurrentmodphp' USE flag if you experience"
ewarn "any problems, and then reproduce any bugs before filing"
ewarn "them in Gentoo's Bugzilla or bugs.php.net."
ewarn "If you have conclusive evidence that a bug directly"
ewarn "derives from 'concurrentmodphp', please file a bug in"
ewarn "Gentoo's Bugzilla only."
ewarn
ebeep 5
fi
fi
# fastbuild support
if use fastbuild ; then
ewarn
ewarn "'fastbuild' attempts to build all SAPIs in a single pass."
ewarn "This is an experimental feature, so please rebuild PHP"
ewarn "without the 'fastbuild' USE flag if you experience"
ewarn "any problems, and then reproduce any bugs before filing"
ewarn "them in Gentoo's Bugzilla or bugs.php.net."
ewarn "If you have conclusive evidence that a bug directly"
ewarn "derives from 'fastbuild', please file a bug in"
ewarn "Gentoo's Bugzilla only."
ewarn
fi
if use pcre ; then
built_with_use dev-libs/libpcre unicode || \
die "Please rebuild dev-libs/libpcre with USE=unicode"
fi
depend.apache_pkg_setup
php5_2-sapi_pkg_setup
}
php_determine_sapis() {
# holds the list of sapis that we want to build
PHPSAPIS=
if use cli || phpconfutils_usecheck cli ; then
PHPSAPIS="${PHPSAPIS} cli"
fi
if use cgi ; then
PHPSAPIS="${PHPSAPIS} cgi"
fi
# note - apache SAPI comes after the simpler cli/cgi sapis
if use apache2 ; then
PHPSAPIS="${PHPSAPIS} apache${APACHE_VERSION}"
fi
}
src_unpack() {
if [[ "${PHP_PACKAGE}" == 1 ]] ; then
unpack ${A}
fi
cd "${S}"
epatch "${FILESDIR}"/${PN}-5.2.12-libpng14.patch
epatch "${FILESDIR}"/${PN}-5.2.13-gmp5.patch
# Concurrent PHP Apache2 modules support
if use apache2 ; then
if use concurrentmodphp ; then
if [[ -n "${CONCURRENTMODPHP_PATCH}" ]] && [[ -f "${WORKDIR}/${CONCURRENTMODPHP_PATCH}" ]] ; then
epatch "${WORKDIR}/${CONCURRENTMODPHP_PATCH}"
else
ewarn "There is no concurrent mod_php patch available for this PHP release yet!"
fi
fi
fi
# fastbuild support
if use fastbuild ; then
if [[ -n "${FASTBUILD_PATCH}" ]] && [[ -f "${WORKDIR}/${FASTBUILD_PATCH}" ]] ; then
epatch "${WORKDIR}/${FASTBUILD_PATCH}"
else
ewarn "There is no fastbuild patch available for this PHP release yet!"
fi
fi
# kolab support
if [[ -n "${KOLAB_PATCH}" ]] ; then
use kolab && epatch "${WORKDIR}/${KOLAB_PATCH}"
fi
# pretend to not have flex, bug 221357
sed -re 's:( +)PHP_SUBST\(LEX\):\1LEX="exit 0;"\n\0:' -i acinclude.m4
# Now let the eclass do the rest and regenerate the configure
php5_2-sapi_src_unpack
# Fix Makefile.global:test to consider the CGI SAPI if present
if use cgi ; then
sed -e "s|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\"|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\" \&\& test \! -z \"\$(top_builddir)/php-cgi\" \&\& test -x \"\$(top_builddir)/php-cgi\"|g" -i Makefile.global
sed -e "s|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\"|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\" TEST_PHP_CGI_EXECUTABLE=\"\$(top_builddir)/php-cgi\"|g" -i Makefile.global
fi
# try to fix some test cases which fail because of sandbox otherwise
sed -e 's:/no/such/:.\0:' -i ext/standard/tests/file/005_error.phpt \
ext/standard/tests/file/006_error.phpt \
ext/standard/tests/file/touch.phpt
# REMOVING BROKEN TESTS:
# removing this test as it has been broken for ages and is not easily
# fixable (depends on a lot of factors)
rm ext/standard/tests/general_functions/phpinfo.phpt
# never worked properly, no easy fix
rm ext/iconv/tests/iconv_stream_filter.phpt
# needs write access to /tmp and others
rm ext/session/tests/session_save_path_variation5.phpt
# new tests since 5.2.7 which have never been working for me
rm ext/spl/tests/arrayObject___construct_basic4.phpt \
ext/spl/tests/arrayObject___construct_basic5.phpt \
ext/spl/tests/arrayObject_exchangeArray_basic3.phpt \
ext/spl/tests/arrayObject_setFlags_basic1.phpt
# those might as well be related to suhosin
rm ext/session/tests/session_decode_variation3.phpt \
ext/session/tests/session_encode_variation8.phpt
# missing skipif
use reflection || \
rm ext/standard/tests/directory/DirectoryClass_basic_001.phpt
# sandbox-related (sandbox checks for permissions before even looking
# at the fs, but the tests expect "No such file or directory"
sed -e 's:/blah:./bla:' -i \
ext/session/tests/session_save_path_variation{2,3}.phpt
rm ext/standard/tests/file/rename_variation13.phpt
# test passes, but run-tests.php claims failure
rm ext/standard/tests/file/tempnam_variation4.phpt
# these tests behave differently with suhosin enabled, adapting them...
use suhosin && sed -e 's:File(\.\./):File(..):g' -i \
tests/security/open_basedir*{.inc,.phpt}
}
src_compile() {
# bug 217392 (autconf-2.62 behavior changes)
export CFLAGS="${CFLAGS} -D_GNU_SOURCE"
export CXXFLAGS="${CXXFLAGS} -D_GNU_SOURCE"
if use fastbuild && [[ -n "${FASTBUILD_PATCH}" ]] ; then
src_compile_fastbuild
else
src_compile_normal
fi
}
src_compile_fastbuild() {
php_determine_sapis
build_cli=0
build_cgi=0
build_apache2=0
my_conf=""
for x in ${PHPSAPIS} ; do
case ${x} in
cli)
build_cli=1
;;
cgi)
build_cgi=1
;;
apache2)
build_apache2=1
;;
esac
done
if [[ ${build_cli} = 1 ]] ; then
my_conf="${my_conf} --enable-cli"
else
my_conf="${my_conf} --disable-cli"
fi
if [[ ${build_cgi} = 1 ]] ; then
my_conf="${my_conf} --enable-cgi --enable-fastcgi"
phpconfutils_extension_enable "discard-path" "discard-path" 0
phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0
else
my_conf="${my_conf} --disable-cgi"
fi
if [[ ${build_apache2} = 1 ]] ; then
my_conf="${my_conf} --with-apxs2=/usr/sbin/apxs2"
# Threaded Apache2 support
if use threads ; then
my_conf="${my_conf} --enable-maintainer-zts"
ewarn "Enabling ZTS for Apache2 MPM"
fi
# Concurrent PHP Apache2 modules support
if use concurrentmodphp ; then
append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs"
fi
fi
if use pcre || phpconfutils_usecheck pcre ; then
myconf="${my_conf} --with-pcre-dir=/usr"
phpconfutils_extension_with "pcre-regex" "pcre" 0 "/usr"
fi
# Now we know what we are building, build it
php5_2-sapi_src_compile
# To keep the separate php.ini files for each SAPI, we change the
# build-defs.h and recompile
if [[ ${build_cli} = 1 ]] ; then
einfo
einfo "Building CLI SAPI"
einfo
sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cli-php5"|g;' -i main/build-defs.h
sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cli-php5/ext-active"|g;' -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make sapi/cli/php || die "Unable to make CLI SAPI"
cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI"
fi
if [[ ${build_cgi} = 1 ]] ; then
einfo
einfo "Building CGI SAPI"
einfo
sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cgi-php5"|g;' -i main/build-defs.h
sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cgi-php5/ext-active"|g;' -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make sapi/cgi/php-cgi || die "Unable to make CGI SAPI"
cp sapi/cgi/php-cgi php-cgi || die "Unable to copy CGI SAPI"
fi
if [[ ${build_apache2} = 1 ]] ; then
einfo
einfo "Building apache${APACHE_VERSION} SAPI"
einfo
sed -e "s|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH \"/etc/php/apache${APACHE_VERSION}-php5\"|g;" -i main/build-defs.h
sed -e "s|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR \"/etc/php/apache${APACHE_VERSION}-php5/ext-active\"|g;" -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make || die "Unable to make apache${APACHE_VERSION} SAPI"
fi
}
src_compile_normal() {
php_determine_sapis
CLEAN_REQUIRED=0
my_conf=""
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
if use apache2 ; then
# Concurrent PHP Apache2 modules support
if use concurrentmodphp ; then
append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs"
fi
fi
for x in ${PHPSAPIS} ; do
if use pcre || phpconfutils_usecheck pcre ; then
myconf="${my_conf} --with-pcre-dir=/usr"
phpconfutils_extension_with "pcre-regex" "pcre" 0 "/usr"
fi
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
if use apache2 ; then
# Threaded Apache2 support
if use threads ; then
my_conf="${my_conf} --enable-maintainer-zts"
ewarn "Enabling ZTS for Apache2 MPM"
fi
fi
if [[ "${CLEAN_REQUIRED}" = 1 ]] ; then
make clean
fi
PHPSAPI="${x}"
case ${x} in
cli)
my_conf="${my_conf} --enable-cli --disable-cgi"
php5_2-sapi_src_compile
cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI"
;;
cgi)
my_conf="${my_conf} --disable-cli --enable-cgi --enable-fastcgi"
phpconfutils_extension_enable "discard-path" "discard-path" 0
phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0
php5_2-sapi_src_compile
cp sapi/cgi/php-cgi php-cgi || die "Unable to copy CGI SAPI"
;;
apache2)
my_conf="${my_conf} --disable-cli --with-apxs2=/usr/sbin/apxs2"
php5_2-sapi_src_compile
;;
esac
CLEAN_REQUIRED=1
my_conf=""
done
}
src_install() {
php_determine_sapis
destdir=/usr/$(get_libdir)/php5
# Let the eclass do the common work
php5_2-sapi_src_install
einfo
einfo "Installing SAPI(s) ${PHPSAPIS}"
einfo
for x in ${PHPSAPIS} ; do
PHPSAPI="${x}"
case ${x} in
cli)
einfo "Installing CLI SAPI"
into ${destdir}
newbin php-cli php || die "Unable to install ${x} sapi"
php5_2-sapi_install_ini
;;
cgi)
einfo "Installing CGI SAPI"
into ${destdir}
dobin php-cgi || die "Unable to install ${x} sapi"
php5_2-sapi_install_ini
;;
apache2)
einfo "Installing Apache${APACHE_VERSION} SAPI"
make INSTALL_ROOT="${D}" install-sapi || die "Unable to install ${x} SAPI"
if use concurrentmodphp ; then
einfo "Installing Apache${APACHE_VERSION} config file for PHP5-concurrent (70_mod_php5_concurr.conf)"
insinto ${APACHE_MODULES_CONFDIR}
newins "${FILESDIR}/70_mod_php5_concurr.conf-apache2-r1" "70_mod_php5_concurr.conf"
# Put the ld version script in the right place so it's always accessible
insinto "/var/lib/php-pkg/${CATEGORY}/${PN}-${PVR}/"
doins "${FILESDIR}/php5-ldvs"
# Redefine the extension dir to have the modphp suffix
PHPEXTDIR="`"${D}/${destdir}/bin/php-config" --extension-dir`-versioned"
else
einfo "Installing Apache${APACHE_VERSION} config file for PHP5 (70_mod_php5.conf)"
insinto ${APACHE_MODULES_CONFDIR}
newins "${FILESDIR}/70_mod_php5.conf-apache2-r1" "70_mod_php5.conf"
fi
php5_2-sapi_install_ini
;;
esac
done
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php5"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${D}/etc/env.d/20php5"
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP5"
if use concurrentmodphp ; then
APACHE2_MOD_CONF="70_mod_php5_concurr"
else
APACHE2_MOD_CONF="70_mod_php5"
fi
apache-module_pkg_postinst
fi
# Update Apache2 to use mod_php
if use apache2 ; then
"${ROOT}/usr/sbin/php-select" -t apache2 php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 2 ]] ; then
php-select apache2 php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "Apache2 is configured to load a different version of PHP."
ewarn "To make Apache2 use PHP v5, use php-select:"
ewarn
ewarn " php-select apache2 php5"
ewarn
fi
fi
# Create the symlinks for php-cli
if use cli || phpconfutils_usecheck cli ; then
"${ROOT}/usr/sbin/php-select" -t php php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "/usr/bin/php links to a different version of PHP."
ewarn "To make /usr/bin/php point to PHP v5, use php-select:"
ewarn
ewarn " php-select php php5"
ewarn
fi
fi
# Create the symlinks for php-cgi
if use cgi ; then
"${ROOT}/usr/sbin/php-select" -t php-cgi php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php-cgi php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "/usr/bin/php-cgi links to a different version of PHP."
ewarn "To make /usr/bin/php-cgi point to PHP v5, use php-select:"
ewarn
ewarn " php-select php-cgi php5"
ewarn
fi
fi
# Create the symlinks for php-devel
"${ROOT}/usr/sbin/php-select" -t php-devel php5 > /dev/null 2>&1
exitStatus=$?
if [[ $exitStatus == 5 ]] ; then
php-select php-devel php5
elif [[ $exitStatus == 4 ]] ; then
ewarn
ewarn "/usr/bin/php-config and/or /usr/bin/phpize are linked to a"
ewarn "different version of PHP. To make them point to PHP v5, use"
ewarn "php-select:"
ewarn
ewarn " php-select php-devel php5"
ewarn
fi
php5_2-sapi_pkg_postinst
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
if [[ ! -x "${S}"/php-cli ]]; then
ewarn "Running the php test suite requires USE=cli"
return
fi
export TEST_PHP_EXECUTABLE="${S}"/php-cli
if [[ -x "${S}"/php-cgi ]]; then
export TEST_PHP_CGI_EXECUTABLE="${S}"/php-cgi
fi
REPORT_EXIT_STATUS=1 "${S}"/php-cli -n "${S}"/run-tests.php -n
if [[ $? != 0 ]] ; then
eerror "Not all tests were successful!"
fi
}