Name:             rpmbuild-order
Version:          0.4.6.1
License:          BSD3
License-File:     LICENSE
Author:           Jens Petersen <petersen@redhat.com>,
                  Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Jens Petersen <petersen@redhat.com>
Copyright:        2010-2018  Henning Thielemann,
                  2018-2022 Jens Petersen <petersen@redhat.com>
Category:         Distribution
Homepage:         https://github.com/juhp/rpmbuild-order
Bug-reports:      https://github.com/juhp/rpmbuild-order/issues
Synopsis:         Sort RPM packages in dependency order
Description:
  The rpmbuild-order tool sorts source RPM packages by build dependencies,
  so that they can be built in a correct order. It does this by reading RPM
  package spec files and then topologically sorts them according to their
  build dependencies. The code evolved from cabal-sort by Henning Thielemann.
  It can also order the dependencies or reverse depends of one or more packages
  among the packages checked out in neighboring directories (which can be
  useful to see what packages are affected when a low-level package changes).
  It also has support for setting RPM options for bcond etc,
  which can affect dependencies. It can also output dependency graphs.

  Since version 0.4, a library API is also provided.
Tested-with:       GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2,
                   GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4,
                   GHC == 8.10.7, GHC == 9.0.2
Cabal-Version:     1.18
Build-Type:        Simple
Extra-doc-files:    README.md TODO ChangeLog.md
Extra-source-files: rpmbuild-order.1
                    test/pkgs/A/A.spec
                    test/pkgs/B/B.spec
                    test/pkgs/C/C.spec
                    test/pkgs/D1.0/D1.0.spec
                    test/pkgs/dynbr/A/A.spec

source-repository head
  type:     git
  location: https://github.com/juhp/rpmbuild-order

Executable rpmbuild-order
  Build-Depends: base < 5,
                 directory,
                 extra,
                 fgl,
                 optparse-applicative,
                 rpmbuild-order,
                 simple-cmd-args
  Main-Is:          src/Main.hs
  Other-modules:    Paths_rpmbuild_order
  default-language: Haskell2010
  GHC-Options:         -Wall
  if impl(ghc >= 8.0)
    ghc-options:       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages

Library
  Exposed-Modules:  Distribution.RPM.Build.Graph
                    Distribution.RPM.Build.Order
  Build-Depends: base < 5,
                 case-insensitive,
                 directory,
                 extra >= 1.6.4,
                 filepath >= 1.4.2,
                 fgl >= 5.5.4,
                 graphviz,
                 simple-cmd >= 0.2.3
  HS-Source-Dirs:      src
  default-language:    Haskell2010
  GHC-Options:         -Wall
  if impl(ghc >= 8.0)
    ghc-options:       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages

test-suite test
    main-is: Spec.hs
    type: exitcode-stdio-1.0
    hs-source-dirs: test

    default-language: Haskell2010

    ghc-options:   -Wall
    build-depends: base >= 4 && < 5
                 , extra
                 , hspec >= 1.3
                 , rpmbuild-order
                 , simple-cmd
                 , unix
    build-tool-depends: rpmbuild-order:rpmbuild-order