# ChangeLog for gnustep-libs/gsweb
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/gnustep-libs/gsweb/ChangeLog,v 1.12 2009/05/26 17:34:30 arfrever Exp $

  26 May 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  gsweb-1.3.0_pre20071207.ebuild:
  Add pkg_setup().

  31 Jan 2008; Benedikt Böhm <hollow@gentoo.org>
  gsweb-1.3.0_pre20071207.ebuild:
  fix depend.apache usage wrt #208033

*gsweb-1.3.0_pre20071207 (08 Dec 2007)

  08 Dec 2007; Bernard Cafarelli <voyageur@gentoo.org>
  -files/2/42_mod_gsweb.conf, +files/42_mod_gsweb.conf,
  -gsweb-1.2.0_pre20060324.ebuild, +gsweb-1.3.0_pre20071207.ebuild:
  Version bump, ebuild heavily rewritten, ported to gnustep-2 eclass

  11 Sep 2007; Bernard Cafarelli <voyageur@gentoo.org>
  -files/1.1.1_pre20050312-build-fixes.patch:
  Removed leftover file

  18 Mar 2007; Marius Mauch <genone@gentoo.org>
  gsweb-1.2.0_pre20060324.ebuild:
  Replacing einfo with elog

  22 Feb 2007; Piotr Jaroszyński <peper@gentoo.org> ChangeLog:
  Transition to Manifest2.

*gsweb-1.2.0_pre20060324 (26 Mar 2006)

  26 Mar 2006; Fabian Groffen <grobian@gentoo.org>
  -gsweb-1.1.1_pre20050312.ebuild, +gsweb-1.2.0_pre20060324.ebuild:
  Remove old non-working CVS ebuild and bump to recent SVN

  08 Jan 2006; Michael Hanselmann <hansmi@gentoo.org> metadata.xml:
  Remove retiring dev from metadata.

*gsweb-1.1.1_pre20050312 (24 Mar 2005)

  24 Mar 2005; Armando Di Cianno <fafhrd@gentoo.org>
  -files/1.1.1_pre-build-fixes.patch,
  -files/1.1.1_pre20041119-build-fixes.patch,
  +files/1.1.1_pre20050312-build-fixes.patch, -files/apache1-make.patch,
  -files/apache2-make.patch, -files/1/90_mod_gsweb.conf,
  +files/2/42_mod_gsweb.conf, -files/2/90_mod_gsweb.conf,
  -gsweb-1.1.1_pre20041203.ebuild, -gsweb-1.1.1_pre20050106.ebuild,
  +gsweb-1.1.1_pre20050312.ebuild:
  first and foremost, fixes for bug 77778; ebuild uses depend.apache.eclass,
  and not apache-module.eclass, as it is a complex apache module; depends on
  apache2; GSWeb must load right after SSL (for now), as mod_php is screwing
  up its alias handler, but not vice versa (and I dont use ldap or dav, atm)

*gsweb-1.1.1_pre20050106 (10 Jan 2005)

  10 Jan 2005; Armando Di Cianno <fafhrd@gentoo.org>
  -gsweb-1.1.1_pre20041119.ebuild, +gsweb-1.1.1_pre20050106.ebuild:
  cvs snapshot version bumps; cleaned out old cvs versioned ebuilds; fixed
  date spec on ebuild headers as repoman was complaining

*gsweb-1.1.1_pre20041203 (03 Dec 2004)

  03 Dec 2004; Armando Di Cianno <fafhrd@gentoo.org>
  +files/1.1.1_pre-build-fixes.patch, +gsweb-1.1.1_pre20041203.ebuild:
  General version bump

*gsweb-1.1.1_pre20041119 (21 Nov 2004)

  21 Nov 2004; Armando Di Cianno <fafhrd@gentoo.org> +metadata.xml,
  +files/1.1.1_pre20041119-build-fixes.patch, +files/apache1-make.patch,
  +files/apache2-make.patch, +files/gsweb.conf, +files/1/90_mod_gsweb.conf,
  +files/2/90_mod_gsweb.conf, +gsweb-1.1.1_pre20041119.ebuild:
  Original package import; keyworded for ~ppc

