dev-ml / ppxlib

Base library and tools for ppx rewriters

Official package sites : https://github.com/ocaml-ppx/ppxlib ·

v0.32.1 :: 0/0.32.1 :: gentoo (Masked by set 7223)

Modified
License
Apache-2.0
Keywords
~amd64 ~arm64 ~ppc ~ppc64
USE flags
ocamlopt test

v0.30.0-r1 :: 0/0.30.0 :: gentoo

Modified
License
Apache-2.0
Keywords
amd64 arm arm64 ppc64 x86 ~ppc ~riscv
USE flags
ocamlopt test

v0.29.1-r1 :: 0/0.29.1 :: gentoo

Modified
License
Apache-2.0
Keywords
amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86
USE flags
ocamlopt test

v0.29.0-r1 :: 0/0.29.0 :: gentoo

Modified
License
Apache-2.0
Keywords
amd64 arm arm64 ppc64 x86 ~ppc ~riscv
USE flags
ocamlopt test

v0.24.0-r1 :: 0/0.24.0 :: gentoo

Modified
License
Apache-2.0
Keywords
amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86
USE flags
ocamlopt test

v0.22.2-r3 :: 0/0.22.2 :: gentoo

Modified
License
Apache-2.0
Keywords
amd64 arm arm64 ppc64 x86 ~ppc
USE flags
ocamlopt test

v0.22.0-r4 :: 0/0.22.0 :: gentoo

Modified
License
Apache-2.0
Keywords
~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86
USE flags
ocamlopt test

v0.21.0-r4 :: 0/0.21.0 :: gentoo

Modified
License
Apache-2.0
Keywords
~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86
USE flags
ocamlopt test

v0.20.0-r2 :: 0/0.20.0 :: gentoo

Modified
License
Apache-2.0
Keywords
amd64 arm arm64 ppc64 x86 ~ppc
USE flags
ocamlopt test

General

ocamlopt
Enable ocamlopt support (ocaml native code compiler) -- Produces faster programs (Warning: you have to disable/enable it at a global scale)
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

dev-lang / ocaml : Programming language supporting functional, imperative & object-oriented styles

dev-ml / base : Standard library for OCaml

dev-ml / cinaps : Trivial metaprogramming tool

dev-ml / dune : A composable build system for OCaml

dev-ml / findlib : OCaml tool to find/use non-standard packages

dev-ml / ocaml-compiler-libs : Repackage the OCaml compiler libs so they do not expose everything at toplevel

dev-ml / ocaml-migrate-parsetree : Convert OCaml parsetrees between different major versions

dev-ml / ppx_derivers : Shared [@@deriving] plugin registry

dev-ml / re : Regular expression library for OCaml

dev-ml / sexplib0 : Library for automated conversion of OCaml-values to and from S-expressions

dev-ml / stdio : Standard IO Library for OCaml

dev-ml / stdlib-shims : Pure OCaml library that allows replacing Pervasives with Stdlib before 4.08

dev-lang / ocaml : Programming language supporting functional, imperative & object-oriented styles

dev-ml / base : Standard library for OCaml

dev-ml / dune : A composable build system for OCaml

dev-ml / findlib : OCaml tool to find/use non-standard packages

dev-ml / ocaml-compiler-libs : Repackage the OCaml compiler libs so they do not expose everything at toplevel

dev-ml / ocaml-migrate-parsetree : Convert OCaml parsetrees between different major versions

dev-ml / ppx_derivers : Shared [@@deriving] plugin registry

dev-ml / sexplib0 : Library for automated conversion of OCaml-values to and from S-expressions

dev-ml / stdio : Standard IO Library for OCaml

dev-ml / stdlib-shims : Pure OCaml library that allows replacing Pervasives with Stdlib before 4.08

dev-lang / elpi : Embeddable Lambda Prolog Interpreter in OCaml

dev-ml / base_quickcheck : Randomized testing framework, designed for compatibility with Base

dev-ml / bin_prot : Binary protocol generator

dev-ml / capitalization : Defines case conventions and functions to rename identifiers according to them

dev-ml / core : Jane Street's alternative to the standard library

dev-ml / core_kernel : System-independent part of Core

dev-ml / jingoo : OCaml template engine almost compatible with Jinja2

dev-ml / jst-config : Compile-time configuration for Jane Street libraries

dev-ml / lwt : Cooperative light-weight thread library for OCaml

dev-ml / ppx_assert : Assert-like extension nodes that raise useful errors on failure

dev-ml / ppx_base : Base set of ppx rewriters

dev-ml / ppx_bench : Syntax extension for writing in-line benchmarks in ocaml code

dev-ml / ppx_bin_prot : Generation of bin_prot readers and writers from types

dev-ml / ppx_blob : Include a file as a string at compile time

dev-ml / ppx_cold : Expands [@cold] into [@inline never][@specialise never][@local never]

dev-ml / ppx_compare : Generation of comparison functions from types

dev-ml / ppx_custom_printf : Printf-style format-strings for user-defined string conversion

dev-ml / ppx_deriving : Type-driven code generation for OCaml

dev-ml / ppx_deriving_yojson : JSON codec generator for OCaml

dev-ml / ppx_diff : A PPX rewriter that genreates the implementation of [Ldiffable.S].

dev-ml / ppx_disable_unused_warnings : Expands [@disable_unused_warnings]

dev-ml / ppx_enumerate : Generate a list containing all values of a finite type

dev-ml / ppx_expect : Cram like framework for OCaml

dev-ml / ppx_fail : Add location to calls to failwiths

dev-ml / ppx_fields_conv : Generation of accessor and iteration functions for ocaml records

dev-ml / ppx_fixed_literal : Simpler notation for fixed point literals

dev-ml / ppx_globalize : Generates functions to copy local values to the global heap

dev-ml / ppx_hash : PPX rewriter that generates hash functions from type expressions and definitions

dev-ml / ppx_here : Expands [%here] into its location

dev-ml / ppx_ignore_instrumentation : Ignore Jane Street specific instrumentation extensions

dev-ml / ppx_import : A syntax extension for importing declarations from interface files

dev-ml / ppx_inline_test : Syntax extension for writing in-line tests in ocaml code

dev-ml / ppx_jane : Standard Jane Street ppx rewriters

dev-ml / ppx_js_style : Code style checker for Jane Street Packages

dev-ml / ppx_let : Monadic let-bindings

dev-ml / ppx_log : Lazily rendering log messages

dev-ml / ppx_module_timer : Ppx rewriter that records top-level module startup times

dev-ml / ppx_optcomp : Optional compilation for OCaml

dev-ml / ppx_optional : Pattern matching on flat options

dev-ml / ppx_pipebang : A ppx rewriter that inlines reverse application operators |> and |!

dev-ml / ppx_sexp_conv : Support Library for type-driven code generators

dev-ml / ppx_sexp_message : A ppx rewriter for easy construction of s-expressions

dev-ml / ppx_sexp_value : Standard library for ppx rewriters

dev-ml / ppx_stable : Stable types conversions generator

dev-ml / ppx_stable_witness : Ppx extension for deriving a witness that a type is intended to be stable

dev-ml / ppx_string : Ppx extension for string interpolation

dev-ml / ppx_string_conv : Ppx extension for generating of_string & to_string

dev-ml / ppx_tydi : Let expressions, inferring pattern type from expression

dev-ml / ppx_typerep_conv : Generation of runtime types from type declarations

dev-ml / ppx_variants_conv : Generation of accessor and iteration functions for ocaml variant types

dev-ml / ppxlib_jane : Utilities for working with Jane Street AST constructs

dev-ml / reason : Simple, fast & type safe language that leverages JavaScript and OCaml

dev-ml / sedlex : An OCaml lexer generator for Unicode

dev-ml / sexp_pretty : S-expression pretty-printer

dev-ml / splittable_random : PRNG that can be split into independent streams

dev-ml / tyxml : A library for building correct HTML and SVG documents


7223
Alfredo Tupone
Not ready for testing
  • >=dev-lang/ocaml-5
  • >=dev-ml/labltk-8.06.14
  • >=dev-ml/ocaml-compiler-libs-0.17
  • >=dev-ml/ppx_deriving-6.0.2
  • >=dev-ml/ppxlib-0.32.1
  • dev-ml/async:0/0.17
  • dev-ml/async_kernel:0/0.17
  • dev-ml/async_log:0/0.17
  • dev-ml/async_rpc_kernel:0/0.17
  • dev-ml/async_unix:0/0.17
  • dev-ml/base:0/0.17
  • dev-ml/base_bigstring:0/0.17
  • dev-ml/base_quickcheck:0/0.17
  • dev-ml/bin_prot:0/0.17
  • dev-ml/capitalization:0/0.17
  • dev-ml/core:0/0.17
  • dev-ml/core_kernel:0/0.17
  • dev-ml/core_unix:0/0.17
  • dev-ml/expect_test_helpers_core:0/0.17
  • dev-ml/fieldslib:0/0.17
  • dev-ml/gel:0/0.17
  • dev-ml/int_repr:0/0.17
  • dev-ml/jane-street-headers:0/0.17
  • dev-ml/jst-config:0/0.17
  • dev-ml/ocaml_intrinsics:0/0.17
  • dev-ml/ocaml_intrinsics_kernel:0/0.17
  • dev-ml/parsexp:0/0.17
  • dev-ml/patience_diff:0/0.17
  • dev-ml/ppx_assert:0/0.17
  • dev-ml/ppx_base:0/0.17
  • dev-ml/ppx_bench:0/0.17
  • dev-ml/ppx_bin_prot:0/0.17
  • dev-ml/ppx_cold:0/0.17
  • dev-ml/ppx_compare:0/0.17
  • dev-ml/ppx_custom_printf:0/0.17
  • dev-ml/ppx_diff:0/0.17
  • dev-ml/ppx_disable_unused_warnings:0/0.17
  • dev-ml/ppx_enumerate:0/0.17
  • dev-ml/ppx_expect:0/0.17
  • dev-ml/ppx_fields_conv:0/0.17
  • dev-ml/ppx_fixed_literal:0/0.17
  • dev-ml/ppx_globalize:0/0.17
  • dev-ml/ppx_hash:0/0.17
  • dev-ml/ppx_here:0/0.17
  • dev-ml/ppx_ignore_instrumentation:0/0.17
  • dev-ml/ppx_inline_test:0/0.17
  • dev-ml/ppx_jane:0/0.17
  • dev-ml/ppx_js_style:0/0.17
  • dev-ml/ppx_let:0/0.17
  • dev-ml/ppx_log:0/0.17
  • dev-ml/ppx_module_timer:0/0.17
  • dev-ml/ppx_optcomp:0/0.17
  • dev-ml/ppx_optional:0/0.17
  • dev-ml/ppx_pipebang:0/0.17
  • dev-ml/ppx_sexp_conv:0/0.17
  • dev-ml/ppx_sexp_message:0/0.17
  • dev-ml/ppx_sexp_value:0/0.17
  • dev-ml/ppx_stable:0/0.17
  • dev-ml/ppx_stable_witness:0/0.17
  • dev-ml/ppx_string:0/0.17
  • dev-ml/ppx_string_conv:0/0.17
  • dev-ml/ppx_tydi:0/0.17
  • dev-ml/ppx_typerep_conv:0/0.17
  • dev-ml/ppx_variants_conv:0/0.17
  • dev-ml/ppxlib_jane
  • dev-ml/protocol_version_header:0/0.17
  • dev-ml/sexp_pretty:0/0.17
  • dev-ml/sexplib0:0/0.17
  • dev-ml/sexplib:0/0.17
  • dev-ml/splittable_random:0/0.17
  • dev-ml/stdio:0/0.17
  • dev-ml/textutils:0/0.17
  • dev-ml/time_now:0/0.17
  • dev-ml/timezone:0/0.17
  • dev-ml/typerep:0/0.17
  • dev-ml/uopt:0/0.17
  • dev-ml/variantslib:0/0.17
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: add 0.32.1
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: add ocamlopt? deps
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.30.0 arm64, #915372
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.30.0 arm, #915372
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.30.0 ppc64, #915372
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.30.0 x86, #915372
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.30.0 amd64, #915372
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: add 0.30.0
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: stabilize 0.29.1 for amd64
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.29.0 ppc64, #901517
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.29.0 arm, #901517
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.29.0 arm64, #901517
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin · gentoo
dev-ml/ppxlib: Stabilize 0.29.0 x86, #901517
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: stabilize 0.24.0 and 0.29.0
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: add 0.29.1
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: add 0.29.0
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: add 0.28.0
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Yongxiang Liang · gentoo
dev-ml/ppxlib: Keyword 0.24.0 riscv, #835392
Signed-off-by: Yongxiang Liang <tanekliang@gmail.com> Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: destabilise for ppc
Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: David Seifert <soap@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Maciej Barć · gentoo
dev-ml/ppxlib: bump to 0.24.0
Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Agostino Sarubbo · gentoo
dev-ml/ppxlib: ppc64 stable wrt bug #817755
Package-Manager: Portage-3.0.20, Repoman-3.0.3 RepoMan-Options: --include-arches="ppc64" Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
Agostino Sarubbo · gentoo
dev-ml/ppxlib: ppc stable wrt bug #817755
Package-Manager: Portage-3.0.20, Repoman-3.0.3 RepoMan-Options: --include-arches="ppc" Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.22.2-r2 arm64, #817755
Signed-off-by: Sam James <sam@gentoo.org>
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.22.2-r2 arm, #817755
Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Agostino Sarubbo · gentoo
dev-ml/ppxlib: amd64 stable wrt bug #817755
Package-Manager: Portage-3.0.20, Repoman-3.0.3 RepoMan-Options: --include-arches="amd64" Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Agostino Sarubbo · gentoo
dev-ml/ppxlib: x86 stable wrt bug #817755
Package-Manager: Portage-3.0.20, Repoman-3.0.3 RepoMan-Options: --include-arches="x86" Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: tidy ebuild
Signed-off-by: Sam James <sam@gentoo.org>
Sam James · gentoo
dev-ml/ppxlib: fix dependencies
Closes: https://bugs.gentoo.org/818151 Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: add 0.23.0
Signed-off-by: Sam James <sam@gentoo.org>
Sam James · gentoo
dev-ml/ppxlib: add 0.23.0
Signed-off-by: Sam James <sam@gentoo.org>
Sam James · gentoo
dev-ml/ppxlib: add note re version bumps
Note that we need to be careful to get the dependencies right on each new version. Signed-off-by: Sam James <sam@gentoo.org>
Sam James · gentoo
dev-ml/ppxlib: stop blocking dev-libs/nss[utils]
I should've poked at this a bit more at the time, but it is what it is. Thanks to the reporter of this upstream, the ppxlib folks realised/noticed it as an error and have dropped the colliding 'pp'. It ended up not being supposed to be installed at all. See: https://github.com/ocaml-ppx/ppxlib/issues/224 See: c87dfe922463070c8ec351fa4341d97a1ed56f8a Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: bump to 0.22.2
Package-Manager: Portage-3.0.20, Repoman-3.0.2 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.20.0 arm64, #772833
Signed-off-by: Sam James <sam@gentoo.org>
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.20.0 arm, #772833
Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: move some dep under test ?
Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michael Mair-Keimberger · gentoo
dev-ml/ppxlib: remove whitespace, fix indent
Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/19435 Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.20.0 ppc, #769317
Signed-off-by: Sam James <sam@gentoo.org>
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.20.0 x86, #769317
Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.20.0 amd64, #769317
Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: Stabilize 0.20.0 ppc64, #769317
Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: add blocker on nss[utils] for now
Collides on /usr/bin/pp. Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: bump to 0.22.0
Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: bump to 0.21.0
Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Alfredo Tupone · gentoo
dev-ml/ppxlib: version bump to 0.20.0
Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: ppc64 keyworded (bug #748576)
Package-Manager: Portage-3.0.8, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
dev-ml/ppxlib: Keyword 0.18.0 ppc, #748576
Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Mark Wright · gentoo
dev-ml/ppxlib: Fix deps
Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Mark Wright <gienah@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Mark Wright · gentoo
dev-ml/ppxlib: Add RDEPEND dev-ml/findlib:=
Thanks to Agostino Sarubbo for reporting. Closes: https://bugs.gentoo.org/748609 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Mark Wright <gienah@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Mark Wright · gentoo
dev-ml/ppxlib: Fix QA MissingTestRestrict
Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Mark Wright <gienah@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Mark Wright · gentoo
dev-ml/ppxlib: Dependency of dev-ml/ppx_base
Co-Author: Alexis Ballier <aballier@gentoo.org> Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Mark Wright <gienah@gentoo.org>