squeeze 1.0.4.13 → 1.0.4.16
raw patch · 8 files changed
+30/−26 lines, 8 filesdep +extraPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: extra
API changes (from Hackage documentation)
- Squeeze.Data.CommandOptions: instance (GHC.Classes.Ord ratio, GHC.Real.Real ratio) => ToolShed.SelfValidate.SelfValidator (Squeeze.Data.CommandOptions.CommandOptions ratio)
+ Squeeze.Data.CommandOptions: instance GHC.Real.Real ratio => ToolShed.SelfValidate.SelfValidator (Squeeze.Data.CommandOptions.CommandOptions ratio)
- Squeeze.Data.CommandOptions: mkCommandOptions :: (Ord ratio, Real ratio) => Bool -> FileSize -> Maybe Int -> ratio -> Verbosity -> CommandOptions ratio
+ Squeeze.Data.CommandOptions: mkCommandOptions :: Real ratio => Bool -> FileSize -> Maybe Int -> ratio -> Verbosity -> CommandOptions ratio
Files
- .ghci +1/−1
- changelog.markdown +5/−0
- debian/DEBIAN/control +1/−1
- squeeze.cabal +14/−12
- squeeze.spec +1/−1
- src-lib/Squeeze/Data/CommandOptions.hs +3/−6
- src-lib/Squeeze/Data/FileCombination.hs +1/−1
- src-test/Squeeze/Test/QuickCheck/Squeeze.hs +4/−4
.ghci view
@@ -1,1 +1,1 @@-:set -isrc-lib:src-exe:src-test:dist/build/autogen -optP-include -optPdist/build/autogen/cabal_macros.h+:set -isrc-lib:src-exe:src-test:dist/build/autogen -optP-include -optPdist/build/autogen/cabal_macros.h -Wall -fno-warn-tabs
changelog.markdown view
@@ -149,15 +149,20 @@ * Added file **.ghci**. * Replaced use of module **ToolShed.Defaultable** with **Data.Default**. * Tested with **ghc-8.0.1**.+ ## 1.0.4.10 * Amended pre-processor directive **MIN_TOOL_VERSION_ghc** in **Main.hs**.+ ## 1.0.4.11 * Checked pre-processor directives are defined.+ ## 1.0.4.12 * Re-factored pre-processor directive in **Main.hs**.+ ## 1.0.4.13 * Performance-improvements. * Added default RTS-options to **squeeze.cabal**. * Replaced 'Data.List.genericLength' with the more efficient @fromIntegral . length@. * Removed dependency on **Distribution.Package.PackageName** +## 1.0.4.16
debian/DEBIAN/control view
@@ -1,5 +1,5 @@ Package: squeeze-Version: 1.0.4.13-1+Version: 1.0.4.16-1 Section: utils Priority: optional Architecture: amd64
squeeze.cabal view
@@ -14,7 +14,7 @@ -- along with Squeeze. If not, see <http://www.gnu.org/licenses/>. Name: squeeze-Version: 1.0.4.13+Version: 1.0.4.16 Cabal-version: >= 1.10 Copyright: (C) 2010-2015 Dr. Alistair Ward License: GPL@@ -25,7 +25,7 @@ Build-type: Simple Description: Returns progressively better subsets of the specified files, selected to fit into a limited space, without wasting more than the specific ratio. Category: Application, Utils-Tested-with: GHC == 7.4, GHC == 7.6, GHC == 7.8, GHC == 7.10.1, GHC == 8.0.1+Tested-with: GHC == 7.4, GHC == 7.6, GHC == 7.8, GHC == 7.10, GHC == 8.0, GHC == 8.2 Homepage: http://functionalley.eu/Squeeze/squeeze.html Maintainer: mailto:squeeze@functionalley.eu Bug-reports: mailto:squeeze@functionalley.eu@@ -45,7 +45,7 @@ type: git location: https://github.com/functionalley/Squeeze --- Enable using: 'cabal configure -f llvm'.+-- Enable using: 'runhaskell Setup configure -f llvm --verbose'. flag llvm Description: Whether the 'llvm' compiler-backend has been installed and is required for code-generation. Manual: True@@ -91,7 +91,7 @@ GHC-options: -fllvm if impl(ghc >= 8.0)- GHC-options: -Wredundant-constraints+ GHC-options: -j -Wredundant-constraints Executable squeeze Default-language: Haskell2010@@ -121,13 +121,13 @@ if flag(threaded) GHC-options: -rtsopts "-with-rtsopts=-N -H100M" - if impl(ghc >= 8.0)- GHC-options: -Wredundant-constraints-- if impl(ghc >= 7.4.1)- GHC-prof-options: -fprof-auto -fprof-cafs -with-rtsopts=-H100M- else- GHC-prof-options: -auto-all -caf-all+ if impl(ghc >= 7.4.1)+ GHC-prof-options: -fprof-auto -fprof-cafs -with-rtsopts=-H100M+ + if impl(ghc >= 8.0)+ GHC-options: -j -Wredundant-constraints+ else+ GHC-prof-options: -auto-all -caf-all if flag(threaded) GHC-options: -threaded@@ -148,11 +148,13 @@ Build-depends: base == 4.*,+ Cabal >= 1.10,+ extra, factory >= 0.2.1.0, QuickCheck >= 2.4, squeeze, toolshed >= 0.17 if impl(ghc >= 8.0)- GHC-options: -Wredundant-constraints+ GHC-options: -j -Wredundant-constraints
squeeze.spec view
@@ -21,7 +21,7 @@ Summary: Finds the optimal subset of the specified files, to fit into a limited space, with minimal wastage Name: squeeze-Version: 1.0.4.13+Version: 1.0.4.16 Release: 1 License: GPLv3 # From '/usr/share/doc/packages/rpm/GROUPS'.
src-lib/Squeeze/Data/CommandOptions.hs view
@@ -70,7 +70,7 @@ getVerbosity = Distribution.Verbosity.normal } -instance (Ord ratio, Real ratio) => ToolShed.SelfValidate.SelfValidator (CommandOptions ratio) where+instance Real ratio => ToolShed.SelfValidate.SelfValidator (CommandOptions ratio) where getErrors commandOptions = map snd $ filter (($ commandOptions) . fst) [ ((< 0) . getMaximumBytes, "invalid maximumBytes; " ++ show (getMaximumBytes commandOptions)), ((< 0) . getMinimumUsageRatio, "invalid minimumUsageRatio; " ++ show (realToFrac $ getMinimumUsageRatio commandOptions :: Double)),@@ -79,10 +79,7 @@ -- | Smart constructor. mkCommandOptions- :: (- Ord ratio,- Real ratio- )+ :: Real ratio => Bool -> Data.File.FileSize -> Maybe Int@@ -107,7 +104,7 @@ -> CommandOptions ratio subtractFile fileSize commandOptions | fileSize < 0 = error $ "Squeeze.Data.CommandOptions.subtractFile:\tnegative file-size=" ++ show fileSize- | maximumBytes' < 0 = error $ "Squeeze.Data.CommandOptions.subtractFile:\tfile-size=" ++ show fileSize ++ " > maximum=" ++ show maximumBytes+ | maximumBytes' < 0 = error $ "Squeeze.Data.CommandOptions.subtractFile:\tfile-size=" ++ show fileSize ++ " > maximum=" ++ show maximumBytes | otherwise = commandOptions { getMaximumBytes = maximumBytes', getMinimumUsageRatio = if maximumBytes' == 0
src-lib/Squeeze/Data/FileCombination.hs view
@@ -87,7 +87,7 @@ fileCombination = MkFileCombination fileSize filePathList -- | Construct a 'FileCombination' from a single 'Data.File.FileSizeAndPath'.-singleton :: Data.File.FileSizeAndPath -> FileCombination+singleton :: Data.File.FileSizeAndPath -> FileCombination singleton (fileSize, filePath) = mkFileCombination fileSize [filePath] {- |
src-test/Squeeze/Test/QuickCheck/Squeeze.hs view
@@ -27,12 +27,12 @@ import Control.Arrow((&&&)) import qualified Data.List+import qualified Data.List.Extra import qualified Factory.Data.Interval import qualified Squeeze.Data.File as Data.File import qualified Squeeze.Data.FileCombination as Data.FileCombination import qualified Squeeze.Squeeze as Squeeze import qualified Test.QuickCheck-import qualified ToolShed.Data.Foldable import qualified ToolShed.Data.List -- | The constant test-results for this data-type.@@ -42,10 +42,10 @@ mkFileSizeAndPathList = take 12 . Data.List.nubBy (ToolShed.Data.List.equalityBy snd) . map (toInteger . abs &&& show) -- CAVEAT: may be shorter than requested. prop_totalCombinations, prop_fileSizeBounds, prop_allFiles, prop_monotonicFileSize, prop_uniqueFileNames :: [Integer] -> Test.QuickCheck.Property- prop_totalCombinations integers = Test.QuickCheck.label "prop_totalCombinations" $ (length . Data.List.nub . Squeeze.findCombinations (0, fromIntegral (maxBound :: Int)) $ Data.File.orderByDecreasingSize fileSizeAndPathList) == 2 ^ length fileSizeAndPathList where+ prop_totalCombinations integers = Test.QuickCheck.label "prop_totalCombinations" $ (length . Data.List.nub . Squeeze.findCombinations (0, fromIntegral (maxBound :: Int)) $ Data.File.orderByDecreasingSize fileSizeAndPathList) == 2 ^ length fileSizeAndPathList where fileSizeAndPathList = mkFileSizeAndPathList integers - prop_fileSizeBounds integers = Test.QuickCheck.label "prop_fileSizeBounds" . all ((`Factory.Data.Interval.elem'` fileSizeBounds) . Data.FileCombination.getAggregateFileSize) . Squeeze.findCombinations fileSizeBounds $ Data.File.orderByDecreasingSize fileSizeAndPathList where+ prop_fileSizeBounds integers = Test.QuickCheck.label "prop_fileSizeBounds" . all ((`Factory.Data.Interval.elem'` fileSizeBounds) . Data.FileCombination.getAggregateFileSize) . Squeeze.findCombinations fileSizeBounds $ Data.File.orderByDecreasingSize fileSizeAndPathList where fileSizeAndPathList = mkFileSizeAndPathList integers fileSizeBounds :: Factory.Data.Interval.Interval Data.File.FileSize@@ -64,7 +64,7 @@ fileSizeAndPathList = mkFileSizeAndPathList integers prop_uniqueFileNames integers = Test.QuickCheck.label "prop_uniqueFileNames" . all (- not . ToolShed.Data.Foldable.hasDuplicates . Data.FileCombination.getFilePathList+ not . Data.List.Extra.anySame . Data.FileCombination.getFilePathList ) $ Squeeze.findBestFit (0, fromIntegral (maxBound :: Int)) fileSizeAndPathList where fileSizeAndPathList = mkFileSizeAndPathList integers