  We devise constant-factor approximation algorithms for finding as many
disjoint cycles as possible from a certain family of cycles in a given planar
or bounded-genus graph. Here disjoint can mean vertex-disjoint or
edge-disjoint, and the graph can be undirected or directed. The family of
cycles under consideration must satisfy two properties: it must be uncrossable
and allow for an oracle access that finds a weight-minimal cycle in that family
for given nonnegative edge weights or (in planar graphs) the union of all
remaining cycles in that family after deleting a given subset of edges.
  Our setting generalizes many problems that were studied separately in the
past. For example, three families that satisfy the above properties are (i) all
cycles in a directed or undirected graph, (ii) all odd cycles in an undirected
graph, and (iii) all cycles in an undirected graph that contain precisely one
demand edge, where the demand edges form a subset of the edge set. The latter
family (iii) corresponds to the classical disjoint paths problem in fully
planar and bounded-genus instances. While constant-factor approximation
algorithms were known for edge-disjoint paths in such instances, we improve the
constant in the planar case and obtain the first such algorithms for
vertex-disjoint paths. We also obtain approximate min-max theorems of the
Erd\H{o}s--P\'osa type. For example, the minimum feedback vertex set in a
planar digraph is at most 12 times the maximum number of vertex-disjoint
cycles.
