packages feed

cabal2spec-2.0.0: test/golden-test-cases/dotenv.spec.golden

#
# spec file for package dotenv
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

%global pkg_name dotenv

%bcond_with tests

Name:           %{pkg_name}
Version:        0.5.2.1
Release:        0
Summary:        Loads environment variables from dotenv files
Group:          Development/Libraries/Haskell

License:        MIT
Url:            https://hackage.haskell.org/package/%{name}
Source0:        https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz

BuildRequires:  ghc-Cabal-devel
BuildRequires:  ghc-rpm-macros
BuildRequires:  chrpath
BuildRequires:  ghc-base-compat-devel
BuildRequires:  ghc-directory-devel
BuildRequires:  ghc-exceptions-devel
BuildRequires:  ghc-megaparsec-devel
BuildRequires:  ghc-optparse-applicative-devel
BuildRequires:  ghc-process-devel
BuildRequires:  ghc-text-devel
BuildRequires:  ghc-transformers-devel
BuildRequires:  ghc-yaml-devel
%if %{with tests}
BuildRequires:  ghc-hspec-devel
BuildRequires:  ghc-hspec-megaparsec-devel
%endif

%description
In most applications, <http://12factor.net/config configuration should be
separated from code>. While it usually works well to keep configuration in the
environment, there are cases where you may want to store configuration in a
file outside of version control.

"Dotenv" files have become popular for storing configuration, especially in
development and test environments. In <https://github.com/bkeepers/dotenv
Ruby>, <https://github.com/theskumar/python-dotenv Python> and
<https://www.npmjs.com/package/dotenv Javascript> there are libraries to
facilitate loading of configuration options from configuration files.
This library loads configuration to environment variables for programs written
in Haskell.

To use, call `loadFile` from your application:

> import Configuration.Dotenv > loadFile False "/my/dotenvfile"

This package also includes an executable that can be used to inspect the
results of applying one or more Dotenv files to the environment, or for
invoking your executables with an environment after one or more Dotenv files is
applied.

See the <https://github.com/stackbuilders/dotenv-hs Github> page for more
information on this package.


%package -n ghc-%{name}
Summary:        Haskell %{name} library
Group:          System/Libraries

%description -n ghc-%{name}
This package provides the Haskell %{name} shared library.


%package -n ghc-%{name}-devel
Summary:        Haskell %{name} library development files
Group:          Development/Libraries/Haskell
Requires:       ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
Requires:       ghc-%{name} = %{version}-%{release}

%description -n ghc-%{name}-devel
This package provides the Haskell %{name} library development files.


%prep
%setup -q

%build
%ghc_lib_build

%install
%ghc_lib_install
%ghc_fix_rpath %{pkg_name}-%{version}

%check
%cabal_test

%post -n ghc-%{name}-devel
%ghc_pkg_recache

%postun -n ghc-%{name}-devel
%ghc_pkg_recache

%files
%doc LICENSE
%doc CHANGELOG.md README.md
%{_bindir}/%{name}
%dir %{_datadir}/%{name}-%{version}
%{_datadir}/%{name}-%{version}/.dotenv
%{_datadir}/%{name}-%{version}/.dotenv.example
%{_datadir}/%{name}-%{version}/.scheme.yml

%files -n ghc-%{name} -f ghc-%{name}.files
%defattr(-,root,root,-)
%doc LICENSE

%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%defattr(-,root,root,-)
%doc CHANGELOG.md README.md

%changelog