commit 416f88ce744bd6da393c9a6a8d5f0f0a77fb004cb043f7b199877a6eb206e508 Author: Ondřej Súkup Date: Fri Dec 18 12:52:08 2020 +0000 osc copypac from project:devel:languages:haskell:ghc-8.10.x package:ghc-fmt revision:3, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-fmt?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/fmt-0.6.1.2.tar.gz b/fmt-0.6.1.2.tar.gz new file mode 100644 index 0000000..1c08176 --- /dev/null +++ b/fmt-0.6.1.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78ed7bddb25c0bc4355ca2be2be3c4d8af796bce7e76e20f04b6aebbcbab8ab9 +size 26464 diff --git a/ghc-fmt.changes b/ghc-fmt.changes new file mode 100644 index 0000000..63cb4ff --- /dev/null +++ b/ghc-fmt.changes @@ -0,0 +1,10 @@ +------------------------------------------------------------------- +Thu Oct 17 12:20:00 UTC 2020 - Ondřej Súkup + +- force i686 arch on i586 + +------------------------------------------------------------------- +Fri Dec 11 16:53:43 UTC 2020 - psimons@suse.com + +- Add fmt at version 0.6.1.2. + diff --git a/ghc-fmt.spec b/ghc-fmt.spec new file mode 100644 index 0000000..aa8b8b3 --- /dev/null +++ b/ghc-fmt.spec @@ -0,0 +1,123 @@ +# +# spec file for package ghc-fmt +# +# Copyright (c) 2020 SUSE LLC +# +# 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 https://bugs.opensuse.org/ +# + + +%global pkg_name fmt +%bcond_with tests +Name: ghc-%{pkg_name} +Version: 0.6.1.2 +Release: 0 +Summary: A new formatting library +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/%{pkg_name} +Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base64-bytestring-devel +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-call-stack-devel +BuildRequires: ghc-containers-devel +BuildRequires: ghc-formatting-devel +BuildRequires: ghc-microlens-devel +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-text-devel +BuildRequires: ghc-time-devel +BuildRequires: ghc-time-locale-compat-devel +# GHC dont support i586 +%ifarch %{ix86} +ExclusiveArch: i586 i686 +ExclusiveArch: i686 +%{expand:%%global optflags %(echo "%{optflags}"|sed -e s/i586/i686/) -march=i686 -mtune=generic} +%endif +%if %{with tests} +BuildRequires: ghc-QuickCheck-devel +BuildRequires: ghc-doctest-devel +BuildRequires: ghc-hspec-devel +BuildRequires: ghc-neat-interpolation-devel +BuildRequires: ghc-vector-devel +%endif + +%description +A new formatting library that tries to be simple to understand while still +being powerful and providing more convenience features than other libraries +(like functions for pretty-printing maps and lists, or a function for printing +arbitrary datatypes using generics). + +A comparison with other libraries: + +* 'printf' (from 'Text.Printf') takes a formatting string and uses some type +tricks to accept the rest of the arguments polyvariadically. It's very concise, +but there are some drawbacks – it can't produce 'Text' (you'd have to 'T.pack' +it every time) and it doesn't warn you at compile-time if you pass wrong +arguments or not enough of them. + +* takes a +formatting string with curly braces denoting places where arguments would be +substituted (the arguments themselves are provided via a tuple). If you want to +apply formatting to some of the arguments, you have to use one of the provided +formatters. Like 'printf', it can fail at runtime, but at least the formatters +are first-class (and you can add new ones). + +* takes a +formatting template consisting of pieces of strings interleaved with +formatters; this ensures that arguments always match their placeholders. +'formatting' provides lots of formatters and generally seems to be the most +popular formatting library here. Unfortunately, at least in my experience +writing new formatters can be awkward and people sometimes have troubles +understanding how 'formatting' works. + +* (i.e. this library) provides +formatters that are ordinary functions, and a bunch of operators for +concatenating formatted strings; those operators also do automatic conversion. +There are some convenience formatters which aren't present in 'formatting' +(like ones for formatting maps, lists, converting to base64, etc). +Some find the operator syntax annoying, while others like it. + +%package devel +Summary: Haskell %{pkg_name} library development files +Requires: %{name} = %{version}-%{release} +Requires: ghc-compiler = %{ghc_version} +Requires(post): ghc-compiler = %{ghc_version} +Requires(postun): ghc-compiler = %{ghc_version} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + +%prep +%autosetup -n %{pkg_name}-%{version} + +%build +%ghc_lib_build + +%install +%ghc_lib_install + +%check +%cabal_test + +%post devel +%ghc_pkg_recache + +%postun devel +%ghc_pkg_recache + +%files -f %{name}.files +%license LICENSE + +%files devel -f %{name}-devel.files +%doc CHANGELOG.md + +%changelog