Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-adjunctions for openSUSE:Factory
checked in at 2022-08-01 21:29:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-adjunctions (Old)
and /work/SRC/openSUSE:Factory/.ghc-adjunctions.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-adjunctions"
Mon Aug 1 21:29:30 2022 rev:9 rq:987015 version:4.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-adjunctions/ghc-adjunctions.changes
2020-12-22 11:34:15.537185801 +0100
+++
/work/SRC/openSUSE:Factory/.ghc-adjunctions.new.1533/ghc-adjunctions.changes
2022-08-01 21:29:32.597509175 +0200
@@ -1,0 +2,8 @@
+Sat May 7 23:22:16 UTC 2022 - Peter Simons <[email protected]>
+
+- Update adjunctions to version 4.4.1.
+ 4.4.1 [2022.05.07]
+ ------------------
+ * Allow building with `transformers-0.6.*` and `mtl-2.3.*`.
+
+-------------------------------------------------------------------
Old:
----
adjunctions-4.4.tar.gz
adjunctions.cabal
New:
----
adjunctions-4.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-adjunctions.spec ++++++
--- /var/tmp/diff_new_pack.PBudaX/_old 2022-08-01 21:29:33.181510850 +0200
+++ /var/tmp/diff_new_pack.PBudaX/_new 2022-08-01 21:29:33.185510862 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-adjunctions
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,13 +19,12 @@
%global pkg_name adjunctions
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 4.4
+Version: 4.4.1
Release: 0
Summary: Adjunctions and representable functors
License: BSD-2-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-comonad-devel
@@ -63,7 +62,6 @@
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ adjunctions-4.4.tar.gz -> adjunctions-4.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/.travis.yml
new/adjunctions-4.4.1/.travis.yml
--- old/adjunctions-4.4/.travis.yml 2018-01-28 15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/.travis.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,146 +0,0 @@
-# This Travis job script has been generated by a script via
-#
-# runghc make_travis_yml_2.hs '-o' '.travis.yml'
'--irc-channel=irc.freenode.org#haskell-lens' '--no-no-tests-no-bench'
'--no-installed' 'cabal.project'
-#
-# For more information, see https://github.com/hvr/multi-ghc-travis
-#
-language: c
-sudo: false
-
-git:
- submodules: false # whether to recursively clone submodules
-
-notifications:
- irc:
- channels:
- - "irc.freenode.org#haskell-lens"
- skip_join: true
- template:
- - "\x0313adjunctions\x03/\x0306%{branch}\x03 \x0314%{commit}\x03
%{build_url} %{message}"
-
-cache:
- directories:
- - $HOME/.cabal/packages
- - $HOME/.cabal/store
-
-before_cache:
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
- # remove files that are regenerated by 'cabal update'
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
- - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
-
- - rm -rfv $HOME/.cabal/packages/head.hackage
-
-addons:
- apt:
- packages: &apt_packages
- - ghc-ppa-tools
- - alex-3.1.7
- - happy-1.19.5
-
-matrix:
- include:
- - compiler: "ghc-7.4.2"
- # env: TEST=--disable-tests BENCH=--disable-benchmarks
- addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.4.2],
sources: [hvr-ghc]}}
- - compiler: "ghc-7.6.3"
- # env: TEST=--disable-tests BENCH=--disable-benchmarks
- addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.6.3],
sources: [hvr-ghc]}}
- - compiler: "ghc-7.8.4"
- # env: TEST=--disable-tests BENCH=--disable-benchmarks
- addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.8.4],
sources: [hvr-ghc]}}
- - compiler: "ghc-7.10.3"
- # env: TEST=--disable-tests BENCH=--disable-benchmarks
- addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.10.3],
sources: [hvr-ghc]}}
- - compiler: "ghc-8.0.2"
- # env: TEST=--disable-tests BENCH=--disable-benchmarks
- addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-8.0.2],
sources: [hvr-ghc]}}
- - compiler: "ghc-8.2.2"
- # env: TEST=--disable-tests BENCH=--disable-benchmarks
- addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-8.2.2],
sources: [hvr-ghc]}}
- - compiler: "ghc-8.4.1"
- env: GHCHEAD=true
- addons: {apt: {packages: [*apt_packages,cabal-install-head,ghc-8.4.1],
sources: [hvr-ghc]}}
- - compiler: "ghc-head"
- env: GHCHEAD=true
- addons: {apt: {packages: [*apt_packages,cabal-install-head,ghc-head],
sources: [hvr-ghc]}}
-
- allow_failures:
- - compiler: "ghc-8.4.1"
- - compiler: "ghc-head"
-
-before_install:
- - HC=${CC}
- - HCPKG=${HC/ghc/ghc-pkg}
- - unset CC
- - ROOTDIR=$(pwd)
- - mkdir -p $HOME/.local/bin
- - "PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"
- - HCNUMVER=$(( $(${HC} --numeric-version|sed -E
's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
- - echo $HCNUMVER
-
-install:
- - cabal --version
- - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2>
/dev/null || echo '?')]"
- - BENCH=${BENCH---enable-benchmarks}
- - TEST=${TEST---enable-tests}
- - HADDOCK=${HADDOCK-true}
- - INSTALLED=${INSTALLED-true}
- - GHCHEAD=${GHCHEAD-false}
- - travis_retry cabal update -v
- - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
- - rm -fv cabal.project cabal.project.local
- # Overlay Hackage Package Index for GHC HEAD:
https://github.com/hvr/head.hackage
- - |
- if $GHCHEAD; then
- sed -i.bak 's/-- allow-newer:.*/allow-newer: *:base, *:template-haskell,
*:ghc, *:Cabal/' ${HOME}/.cabal/config
-
- echo 'repository head.hackage'
>> ${HOME}/.cabal/config
- echo ' url: http://head.hackage.haskell.org/'
>> ${HOME}/.cabal/config
- echo ' secure: True'
>> ${HOME}/.cabal/config
- echo ' root-keys:
07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740' >>
${HOME}/.cabal/config
- echo '
2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb' >>
${HOME}/.cabal/config
- echo '
8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e' >>
${HOME}/.cabal/config
- echo ' key-threshold: 3'
>> ${HOME}/.cabal.config
-
- cabal new-update head.hackage -v
- fi
- - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
- - "printf 'packages: \".\"\\n' > cabal.project"
- - cat cabal.project
- - if [ -f "./configure.ac" ]; then
- (cd "." && autoreconf -i);
- fi
- - rm -f cabal.project.freeze
- - cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project"
--dep -j2 all
- - rm -rf "."/.ghc.environment.* "."/dist
- - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
-
-# Here starts the actual work to be performed for the package under test;
-# any command which exits with a non-zero exit code causes the build to fail.
-script:
- # test that source-distributions can be generated
- - (cd "." && cabal sdist)
- - mv "."/dist/adjunctions-*.tar.gz ${DISTDIR}/
- - cd ${DISTDIR} || false
- - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
- - "printf 'packages: adjunctions-*/*.cabal\\n' > cabal.project"
- - cat cabal.project
-
-
- # build & run tests, build benchmarks
- - cabal new-build -w ${HC} ${TEST} ${BENCH} all
- - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST}
${BENCH} all; fi
-
- # cabal check
- - (cd adjunctions-* && cabal check)
-
- # haddock
- - rm -rf ./dist-newstyle
- - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else
echo "Skipping haddock generation";fi
-
-# REGENDATA
["-o",".travis.yml","--irc-channel=irc.freenode.org#haskell-lens","--no-no-tests-no-bench","--no-installed","cabal.project"]
-# EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/CHANGELOG.markdown
new/adjunctions-4.4.1/CHANGELOG.markdown
--- old/adjunctions-4.4/CHANGELOG.markdown 2018-01-28 15:49:01.000000000
+0100
+++ new/adjunctions-4.4.1/CHANGELOG.markdown 2001-09-09 03:46:40.000000000
+0200
@@ -1,3 +1,7 @@
+4.4.1 [2022.05.07]
+------------------
+* Allow building with `transformers-0.6.*` and `mtl-2.3.*`.
+
4.4 [2018.01.28]
----------------
* Added `imapRep`, `ifoldMapRep`, `itraverseRep` to make it easier to define
representable `FunctorWithIndex`, `FoldableWithIndex`, `TraversableWithIndex`
instances from the `lens` package.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/README.markdown
new/adjunctions-4.4.1/README.markdown
--- old/adjunctions-4.4/README.markdown 2018-01-28 15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/README.markdown 2001-09-09 03:46:40.000000000
+0200
@@ -1,7 +1,7 @@
adjunctions
==========
-[](https://hackage.haskell.org/package/adjunctions)
[](http://travis-ci.org/ekmett/adjunctions)
+[](https://hackage.haskell.org/package/adjunctions)
[](https://github.com/ekmett/adjunctions/actions?query=workflow%3AHaskell-CI)
This package provides adjunctions for Haskell.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/adjunctions.cabal
new/adjunctions-4.4.1/adjunctions.cabal
--- old/adjunctions-4.4/adjunctions.cabal 2018-01-28 15:49:01.000000000
+0100
+++ new/adjunctions-4.4.1/adjunctions.cabal 2001-09-09 03:46:40.000000000
+0200
@@ -1,8 +1,8 @@
name: adjunctions
category: Data Structures, Adjunctions
-version: 4.4
+version: 4.4.1
license: BSD3
-cabal-version: >= 1.8
+cabal-version: >= 1.10
license-file: LICENSE
author: Edward A. Kmett
maintainer: Edward A. Kmett <[email protected]>
@@ -15,10 +15,7 @@
build-type: Simple
extra-source-files:
.gitignore
- .travis.yml
.vim.custom
- travis/cabal-apt-install
- travis/config
HLint.hs
CHANGELOG.markdown
README.markdown
@@ -28,7 +25,12 @@
, GHC == 7.10.3
, GHC == 8.0.2
, GHC == 8.2.2
- , GHC == 8.4.1
+ , GHC == 8.4.4
+ , GHC == 8.6.5
+ , GHC == 8.8.4
+ , GHC == 8.10.7
+ , GHC == 9.0.2
+ , GHC == 9.2.2
source-repository head
type: git
@@ -49,16 +51,16 @@
array >= 0.3.0.2 && < 0.7,
base >= 4 && < 5,
comonad >= 4 && < 6,
- containers >= 0.3 && < 0.6,
+ containers >= 0.3 && < 0.7,
contravariant >= 1 && < 2,
distributive >= 0.5.1 && < 1,
free >= 4 && < 6,
- mtl >= 2.0.1 && < 2.3,
+ mtl >= 2.0.1 && < 2.4,
profunctors >= 4 && < 6,
tagged >= 0.7 && < 1,
semigroupoids >= 4 && < 6,
semigroups >= 0.11 && < 1,
- transformers >= 0.2 && < 0.6,
+ transformers >= 0.2 && < 0.7,
transformers-compat >= 0.3 && < 1,
void >= 0.5.5.1 && < 1
@@ -80,9 +82,18 @@
ghc-options: -Wall
- -- See https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#base-4.9.0.0
+ default-language: Haskell2010
+
if impl(ghc >= 8.0)
- ghc-options: -Wcompat -Wnoncanonical-monad-instances
-Wnoncanonical-monadfail-instances
+ -- See https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#base-4.9.0.0
+ ghc-options: -Wcompat -Wnoncanonical-monad-instances
+ ghc-options: -Wno-trustworthy-safe -Wno-inline-rule-shadowing
+
+ if !impl(ghc >= 8.8)
+ ghc-options: -Wnoncanonical-monadfail-instances
+
+ if impl(ghc >= 8.6)
+ ghc-options: -Wno-star-is-type
test-suite spec
type: exitcode-stdio-1.0
@@ -100,3 +111,4 @@
other-modules: GenericsSpec
ghc-options: -Wall -threaded -rtsopts
+ default-language: Haskell2010
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/adjunctions-4.4/src/Control/Comonad/Representable/Store.hs
new/adjunctions-4.4.1/src/Control/Comonad/Representable/Store.hs
--- old/adjunctions-4.4/src/Control/Comonad/Representable/Store.hs
2018-01-28 15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/src/Control/Comonad/Representable/Store.hs
2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,6 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
@@ -43,7 +44,9 @@
import Data.Functor.Apply
import Data.Functor.Extend
import Data.Functor.Rep
+#if !(MIN_VERSION_base(4,11,0))
import Data.Semigroup
+#endif
-- | A memoized store comonad parameterized by a representable functor @g@,
where
-- the representatation of @g@, @Rep g@ is the index of the store.
@@ -58,8 +61,8 @@
-> Store g a
store = storeT . Identity
--- | Unwrap a state monad computation as a function.
--- (The inverse of 'state'.)
+-- | Unwrap a store comonad computation as a function and a current index.
+-- (The inverse of 'store'.)
runStore :: Representable g
=> Store g a -- ^ a store to access
-> (Rep g -> a, Rep g) -- ^ initial state
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/adjunctions-4.4/src/Control/Monad/Representable/State.hs
new/adjunctions-4.4.1/src/Control/Monad/Representable/State.hs
--- old/adjunctions-4.4/src/Control/Monad/Representable/State.hs
2018-01-28 15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/src/Control/Monad/Representable/State.hs
2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,6 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/src/Data/Functor/Adjunction.hs
new/adjunctions-4.4.1/src/Data/Functor/Adjunction.hs
--- old/adjunctions-4.4/src/Data/Functor/Adjunction.hs 2018-01-28
15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/src/Data/Functor/Adjunction.hs 2001-09-09
03:46:40.000000000 +0200
@@ -181,7 +181,7 @@
instance Adjunction m w =>
Adjunction (WriterT s m) (TracedT s w) where
unit = TracedT . leftAdjunct (\ma s -> WriterT (fmap (\a -> (a, s)) ma))
- counit = rightAdjunct (\(t, s) -> ($s) <$> runTracedT t) . runWriterT
+ counit = rightAdjunct (\(t, s) -> ($ s) <$> runTracedT t) . runWriterT
instance (Adjunction f g, Adjunction f' g') =>
Adjunction (Compose f' f) (Compose g g') where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/adjunctions-4.4/src/Data/Functor/Contravariant/Rep.hs
new/adjunctions-4.4.1/src/Data/Functor/Contravariant/Rep.hs
--- old/adjunctions-4.4/src/Data/Functor/Contravariant/Rep.hs 2018-01-28
15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/src/Data/Functor/Contravariant/Rep.hs 2001-09-09
03:46:40.000000000 +0200
@@ -24,7 +24,6 @@
, contramapRep
) where
-import Control.Monad.Reader
import Data.Functor.Contravariant
import Data.Functor.Product
import Data.Profunctor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/src/Data/Functor/Rep.hs
new/adjunctions-4.4.1/src/Data/Functor/Rep.hs
--- old/adjunctions-4.4/src/Data/Functor/Rep.hs 2018-01-28 15:49:01.000000000
+0100
+++ new/adjunctions-4.4.1/src/Data/Functor/Rep.hs 2001-09-09
03:46:40.000000000 +0200
@@ -86,13 +86,15 @@
import Control.Comonad.Trans.Class
import Control.Comonad.Trans.Traced
import Control.Comonad.Cofree
+import Control.Monad.Fix (MonadFix(..))
import Control.Monad.Trans.Identity
-import Control.Monad.Reader
+import Control.Monad.Reader (MonadReader(..), ReaderT(..))
#if MIN_VERSION_base(4,4,0)
import Data.Complex
#endif
import Data.Distributive
import Data.Foldable (Foldable(fold))
+import Data.Function
import Data.Functor.Bind
import Data.Functor.Identity
import Data.Functor.Compose
@@ -106,7 +108,9 @@
import qualified Data.Sequence as Seq
import Data.Semigroup hiding (Product)
import Data.Tagged
+#if !(MIN_VERSION_base(4,8,0))
import Data.Traversable (Traversable(sequenceA))
+#endif
import Data.Void
import GHC.Generics hiding (Rep)
import Prelude hiding (lookup)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/travis/cabal-apt-install
new/adjunctions-4.4.1/travis/cabal-apt-install
--- old/adjunctions-4.4/travis/cabal-apt-install 2018-01-28
15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/travis/cabal-apt-install 1970-01-01
01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-#! /bin/bash
-set -eu
-
-APT="sudo apt-get -q -y"
-CABAL_INSTALL_DEPS="cabal install --only-dependencies --force-reinstall"
-
-$APT update
-$APT install dctrl-tools
-
-# Find potential system packages to satisfy cabal dependencies
-deps()
-{
- local M='^\([^ ]\+\)-[0-9.]\+ (.*$'
- local G=' -o ( -FPackage -X libghc-\L\1\E-dev )'
- local E="$($CABAL_INSTALL_DEPS "$@" --dry-run -v 2> /dev/null \
- | sed -ne "s/$M/$G/p" | sort -u)"
- grep-aptavail -n -sPackage \( -FNone -X None \) $E | sort -u
-}
-
-$APT install $(deps "$@") libghc-quickcheck2-dev # QuickCheck is special
-$CABAL_INSTALL_DEPS "$@" # Install the rest via Hackage
-
-if ! $APT install hlint ; then
- $APT install $(deps hlint)
- cabal install hlint
-fi
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/adjunctions-4.4/travis/config
new/adjunctions-4.4.1/travis/config
--- old/adjunctions-4.4/travis/config 2018-01-28 15:49:01.000000000 +0100
+++ new/adjunctions-4.4.1/travis/config 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
--- This provides a custom ~/.cabal/config file for use when hackage is down
that should work on unix
---
--- This is particularly useful for travis-ci to get it to stop complaining
--- about a broken build when everything is still correct on our end.
---
--- This uses Luite Stegeman's mirror of hackage provided by his 'hdiff' site
instead
---
--- To enable this, uncomment the before_script in .travis.yml
-
-remote-repo: hdiff.luite.com:http://hdiff.luite.com/packages/archive
-remote-repo-cache: ~/.cabal/packages
-world-file: ~/.cabal/world
-build-summary: ~/.cabal/logs/build.log
-remote-build-reporting: anonymous
-install-dirs user
-install-dirs global