# ChangeLog for net-libs/zeromq
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-libs/zeromq/ChangeLog,v 1.76 2015/08/01 16:36:53 zlogene Exp $

  01 Aug 2015; Mikle Kolyada <zlogene@gentoo.org> zeromq-4.1.1.ebuild:
  ia64 stable wrt bug #551214

  26 Jul 2015; Jeroen Roovers <jer@gentoo.org> zeromq-4.1.1.ebuild:
  Stable for HPPA (bug #551214).

  23 Jul 2015; Pacho Ramos <pacho@gentoo.org> zeromq-4.1.1.ebuild:
  ppc stable wrt bug #551214

  12 Jul 2015; Jeroen Roovers <jer@gentoo.org> zeromq-4.1.1.ebuild:
  Stable for PPC64 (bug #551214).

  21 Jun 2015; Markus Meier <maekke@gentoo.org> zeromq-4.1.1.ebuild:
  arm stable, bug #551214

*zeromq-4.1.2 (19 Jun 2015)

  19 Jun 2015; Justin Lecher <jlec@gentoo.org> +zeromq-4.1.2.ebuild:
  Version Bump

  09 Jun 2015; Agostino Sarubbo <ago@gentoo.org> zeromq-4.1.1.ebuild:
  Stable for x86, wrt bug #551214

  08 Jun 2015; Agostino Sarubbo <ago@gentoo.org> zeromq-4.1.1.ebuild:
  Stable for amd64, wrt bug #551214

  04 Jun 2015; Justin Lecher <jlec@gentoo.org> -zeromq-4.0.5.ebuild:
  Drop vulnerable version, bug #549182

*zeromq-3.2.5 (04 Jun 2015)
*zeromq-4.1.1 (04 Jun 2015)

  04 Jun 2015; Justin Lecher <jlec@gentoo.org> +zeromq-3.2.5.ebuild,
  +zeromq-4.1.1.ebuild, zeromq-3.2.3.ebuild:
  Version Bump; fix subslots to soname

  07 Apr 2015; Justin Lecher <jlec@gentoo.org> zeromq-2.2.0.ebuild:
  Block net-libs/cppzmq due to file collision, bug #545226

*zeromq-4.0.5 (11 Feb 2015)

  11 Feb 2015; Justin Lecher <jlec@gentoo.org> +zeromq-4.0.5.ebuild,
  -zeromq-3.2.4-r1.ebuild, -zeromq-4.0.1-r1.ebuild, -zeromq-4.0.1.ebuild,
  -zeromq-4.0.4-r1.ebuild, metadata.xml:
  Version Bump, #539440; drop old, fixes two security problems, #523850; Add
  SLOT operators, #511526; improve USE description, #507948

  09 Feb 2015; Anthony G. Basile <blueness@gentoo.org> zeromq-4.0.1-r1.ebuild,
  zeromq-4.0.4-r1.ebuild:
  Keyword ~ppc ~ppc64, bug #489452.

  26 Aug 2014; Joshua Kinard <kumba@gentoo.org> zeromq-4.0.4-r1.ebuild:
  Added ~mips to KEYWORDS, per Bug #489452.

  10 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org> zeromq-2.2.0.ebuild:
  QA: drop trailing '.' from DESCRIPTION

*zeromq-4.0.4-r1 (18 Jun 2014)
*zeromq-3.2.4-r1 (18 Jun 2014)

  18 Jun 2014; Alexander Vershilov <qnikst@gentoo.org> +zeromq-3.2.4-r1.ebuild,
  +zeromq-4.0.4-r1.ebuild, -zeromq-2.1.11.ebuild, -zeromq-3.2.4.ebuild,
  -zeromq-4.0.4.ebuild, zeromq-2.2.0.ebuild:
  Adjust openpgm dependencies. Drop old

  26 Mar 2014; Patrick Lauer <patrick@gentoo.org> zeromq-4.0.1-r1.ebuild:
  Whitespace

*zeromq-4.0.4 (24 Mar 2014)

  24 Mar 2014; Alexander Vershilov <qnikst@gentoo.org> +zeromq-4.0.4.ebuild,
  -zeromq-4.0.3.ebuild, zeromq-4.0.1-r1.ebuild:
  bump up to 4.0.4

  16 Mar 2014; Mike Frysinger <vapier@gentoo.org> zeromq-4.0.3.ebuild:
  Add ia64 love.

  16 Feb 2014; Mike Frysinger <vapier@gentoo.org> zeromq-3.2.3.ebuild:
  Mark arm stable.

  16 Feb 2014; Mikle Kolyada <zlogene@gentoo.org> zeromq-2.2.0.ebuild:
  ppc64 stable wrt bug #474824

  16 Feb 2014; Mikle Kolyada <zlogene@gentoo.org> zeromq-2.2.0.ebuild:
  ppc stable wrt bug #474824

*zeromq-4.0.3 (24 Dec 2013)

  24 Dec 2013; Justin Lecher <jlec@gentoo.org> zeromq-4.0.1.ebuild,
  zeromq-4.0.1-r1.ebuild, +zeromq-4.0.3.ebuild:
  Version Bump; restrict test to serial execution, #489844

  07 Dec 2013; Markus Meier <maekke@gentoo.org> zeromq-4.0.1-r1.ebuild:
  add ~arm, bug #489452

  26 Oct 2013; Jeroen Roovers <jer@gentoo.org> zeromq-4.0.1-r1.ebuild:
  Marked ~hppa (bug #489452).

*zeromq-4.0.1-r1 (26 Oct 2013)

  26 Oct 2013; Justin Lecher <jlec@gentoo.org> +zeromq-4.0.1-r1.ebuild:
  Drop Werror, #485774; add dev-libs/libsodium to deps because of automagic
  otherwise; fix RDEPENDs; general style improvements (indention, sorting,
  usage of default phase functions); use prune_libtool_files() from
  eutils.eclass instead of manual cleaning

  26 Oct 2013; Justin Lecher <jlec@gentoo.org> zeromq-4.0.1.ebuild,
  metadata.xml:
  Remove README from dodoc, #489442; fix die() usage

*zeromq-4.0.1 (26 Oct 2013)

  26 Oct 2013; Alexander Vershilov <qnikst@gentoo.org> +zeromq-4.0.1.ebuild:
  add zeromq-4.0.1 (bug #488370)

  30 Sep 2013; Agostino Sarubbo <ago@gentoo.org> zeromq-3.2.3.ebuild:
  Stable for x86, wrt bug #474752

  23 Sep 2013; Jeroen Roovers <jer@gentoo.org> zeromq-3.2.3.ebuild:
  Stable for HPPA (bug #474752).

  23 Sep 2013; Agostino Sarubbo <ago@gentoo.org> zeromq-3.2.3.ebuild:
  Stable for amd64, wrt bug #474752

*zeromq-3.2.4 (23 Sep 2013)

  23 Sep 2013; Alexander Vershilov <qnikst@gentoo.org> +zeromq-3.2.4.ebuild:
  add zeromq-3.2.4

  23 Sep 2013; Dirkjan Ochtman <djc@gentoo.org> metadata.xml:
  Remove myself from metadata.

  23 Sep 2013; Dirkjan Ochtman <djc@gentoo.org> -zeromq-2.1.10.ebuild,
  -zeromq-2.1.7.ebuild, -zeromq-2.1.9.ebuild, -zeromq-3.2.2.ebuild:
  Remove old versions.

  14 Sep 2013; Alexander Vershilov <qnikst@gentoo.org>
  files/zeromq-3.2.3-unused-variable.patch, zeromq-3.2.3.ebuild:
  final fix for bug #483318, patch taken from upstream

  14 Sep 2013; Alexander Vershilov <qnikst@gentoo.org>
  +files/zeromq-3.2.3-unused-variable.patch, zeromq-3.2.3.ebuild:
  fix bug #483318, thanks to Joerg Neikes

  01 Sep 2013; Fabian Groffen <grobian@gentoo.org> zeromq-3.2.2.ebuild,
  zeromq-3.2.3.ebuild:
  Fix for platforms without strndup, such as Darwin pre-Lion

  20 Aug 2013; Fabian Groffen <grobian@gentoo.org> zeromq-3.2.3.ebuild:
  Fixed for and marked *-macos

  11 Aug 2013; Jeroen Roovers <jer@gentoo.org> zeromq-2.2.0.ebuild:
  Stable for HPPA too.

  10 May 2013;  <qnikst@gentoo.org> zeromq-3.2.3.ebuild:
  fix parrallel test failure #468748 thanks to eroen@faith.eroen.eu

*zeromq-3.2.3 (06 May 2013)

  06 May 2013;  <qnikst@gentoo.org> +zeromq-3.2.3.ebuild:
  zeromq-3.2.3 added

  01 May 2013;  <qnikst@gentoo.org> zeromq-3.2.2.ebuild:
  add automake-1.13 compatibility, due #468016

  05 Feb 2013; Benda Xu <heroxbd@gentoo.org> zeromq-3.2.2.ebuild:
  keyword ~arm

  24 Jan 2013; Naohiro Aota <naota@gentoo.org> zeromq-2.2.0.ebuild,
  zeromq-3.2.2.ebuild:
  Update dependency to add ~x86-fbsd.

*zeromq-3.2.2 (20 Jan 2013)

  20 Jan 2013;  <qnikst@gentoo.org> +zeromq-3.2.2.ebuild, metadata.xml,
  zeromq-2.1.10.ebuild, zeromq-2.2.0.ebuild:
  Adding zeromq 3.2.2

  17 Dec 2012; Agostino Sarubbo <ago@gentoo.org> zeromq-2.2.0.ebuild:
  Add ~ppc64, wrt bug #442188

  13 Nov 2012; Jeroen Roovers <jer@gentoo.org> zeromq-2.2.0.ebuild:
  Marked ~hppa (bug #442188).

  12 Nov 2012; Anthony G. Basile <blueness@gentoo.org> zeromq-2.2.0.ebuild:
  keyword ~ppc, bug #442188

  11 Aug 2012; Markus Meier <maekke@gentoo.org> zeromq-2.2.0.ebuild:
  x86 stable, bug #419281

  03 Aug 2012; Agostino Sarubbo <ago@gentoo.org> zeromq-2.2.0.ebuild:
  Stable for amd64, wrt bug #419281

  06 Jun 2012; Benda Xu <heroxbd@gentoo.org> zeromq-2.2.0.ebuild:
  keyword ~amd64-linux and ~x86-linux

  05 May 2012; Jeff Horelick <jdhore@gentoo.org> zeromq-2.1.7.ebuild,
  zeromq-2.1.9.ebuild, zeromq-2.1.10.ebuild, zeromq-2.1.11.ebuild,
  zeromq-2.2.0.ebuild:
  dev-util/pkgconfig -> virtual/pkgconfig

*zeromq-2.2.0 (07 Apr 2012)

  07 Apr 2012; Patrick Lauer <patrick@gentoo.org> +zeromq-2.2.0.ebuild:
  Bump

  24 Feb 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> zeromq-2.1.11.ebuild:
  x86 stable wrt bug #404829

  21 Feb 2012; Agostino Sarubbo <ago@gentoo.org> zeromq-2.1.11.ebuild:
  Stable for amd64, wrt bug #404829

  21 Dec 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> zeromq-2.1.10.ebuild:
  x86 stable wrt bug #386049

  19 Dec 2011; Agostino Sarubbo <ago@gentoo.org> zeromq-2.1.10.ebuild:
  Stable for AMD64, wrt bug #386049

*zeromq-2.1.11 (19 Dec 2011)

  19 Dec 2011; Dirkjan Ochtman <djc@gentoo.org> +zeromq-2.1.11.ebuild:
  Version bump to 2.1.11.

*zeromq-2.1.10 (03 Oct 2011)

  03 Oct 2011; Dirkjan Ochtman <djc@gentoo.org> +zeromq-2.1.10.ebuild:
  Version bump to 2.1.10.

  30 Aug 2011; Dirkjan Ochtman <djc@gentoo.org> -files/2.1.6-msg-mask.patch,
  -zeromq-2.0.9.ebuild, -files/zeromq-2.1.3-configure.patch,
  -zeromq-2.1.6-r1.ebuild:
  Remove old versions.

*zeromq-2.1.9 (30 Aug 2011)

  30 Aug 2011; Dirkjan Ochtman <djc@gentoo.org> +zeromq-2.1.9.ebuild:
  Version bump to 2.1.9.

  13 Jul 2011; Markus Meier <maekke@gentoo.org> zeromq-2.1.7.ebuild:
  x86 stable, bug #371377

  03 Jul 2011; Markos Chandras <hwoarang@gentoo.org> zeromq-2.1.7.ebuild:
  Stable on amd64 wrt bug #371377

  13 Jun 2011; Dirkjan Ochtman <djc@gentoo.org> metadata.xml:
  Remove retired maintainer and proxy.

*zeromq-2.1.7 (12 May 2011)

  12 May 2011; Dirkjan Ochtman <djc@gentoo.org> -zeromq-2.1.3.ebuild,
  -zeromq-2.1.6.ebuild, +zeromq-2.1.7.ebuild:
  Version bump to 2.1.7.

*zeromq-2.1.6-r1 (04 May 2011)

  04 May 2011; Dirkjan Ochtman <djc@gentoo.org> +files/2.1.6-msg-mask.patch,
  +zeromq-2.1.6-r1.ebuild:
  Take upstream fix for bad assertion.

*zeromq-2.1.6 (26 Apr 2011)

  26 Apr 2011; Dirkjan Ochtman <djc@gentoo.org> +zeromq-2.1.6.ebuild:
  Version bump to 2.1.6.

  05 Apr 2011; Diego E. Pettenò <flameeyes@gentoo.org> zeromq-2.0.9.ebuild:
  Revert amd64 stabilisation, package not ready.

  05 Apr 2011; Christoph Mende <angelos@gentoo.org> zeromq-2.0.9.ebuild:
  Stable on amd64 wrt bug #361871

  31 Mar 2011; Patrick Lauer <patrick@gentoo.org> zeromq-2.1.3.ebuild:
  Fixing SRC_URI

*zeromq-2.1.3 (30 Mar 2011)

  30 Mar 2011; Dirkjan Ochtman <djc@gentoo.org> +zeromq-2.1.3.ebuild,
  +files/zeromq-2.1.3-configure.patch:
  Version bump to 2.1.3 (bug 355525).

  04 Mar 2011; Dirkjan Ochtman <djc@gentoo.org> zeromq-2.0.9.ebuild,
  metadata.xml:
  Add ~x86, add myself as maintainer.

  07 Feb 2011; Diego E. Pettenò <flameeyes@gentoo.org> metadata.xml:
  Fix email address.

  25 Sep 2010; Robin H. Johnson <robbat2@gentoo.org> metadata.xml:
  Fix the UTF8 in the USE flag.

*zeromq-2.0.9 (25 Sep 2010)

  25 Sep 2010; Diego E. Pettenò <flameeyes@gentoo.org>
  +zeromq-2.0.9.ebuild, +metadata.xml:
  New ebuild, proxy-maintained by Mauro Toffanin.
