Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Christopher League
bookme
Commits
1b3f7ba0
Commit
1b3f7ba0
authored
Aug 19, 2019
by
Christopher League
Browse files
Change build setup on nix; don't need stackage
parent
93e4c002
Pipeline
#830
passed with stage
in 59 minutes and 5 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
bookme.nix
View file @
1b3f7ba0
{
mkDerivation
,
aeson
,
base
,
blaze-markup
,
bytestring
,
case-insensitive
,
classy-prelude
,
classy-prelude-yesod
,
containers
,
data-default
,
directory
,
exceptions
,
fast-logger
,
file-embed
,
foreign-store
,
gogol
,
gogol-apps-calendar
,
hjsmin
,
hpack
,
hspec
,
http-client-tls
,
http-conduit
,
http-types
,
lens
,
monad-control
,
monad-logger
,
shakespeare
,
sorted-list
,
stdenv
,
template-haskell
,
text
,
time
,
transformers
,
tz
,
file-embed
,
foreign-store
,
gogol
,
gogol-apps-calendar
,
hjsmin
,
hpack
,
hspec
,
http-client-tls
,
http-conduit
,
http-types
,
lens
,
monad-control
,
monad-logger
,
shakespeare
,
sorted-list
,
stdenv
,
template-haskell
,
text
,
time
,
transformers
,
tz
,
unordered-containers
,
vector
,
wai
,
wai-extra
,
wai-logger
,
warp
,
yaml
,
yesod
,
yesod-core
,
yesod-form
,
yesod-static
,
yesod-test
}:
...
...
@@ -17,35 +17,33 @@ mkDerivation {
libraryHaskellDepends
=
[
aeson
base
blaze-markup
bytestring
case-insensitive
classy-prelude
classy-prelude-yesod
containers
data-default
directory
exceptions
fast-logger
file-embed
foreign-store
gogol
gogol-apps-calendar
hjsmin
http-client-tls
http-conduit
http-types
lens
monad-control
monad-logger
shakespeare
sorted-list
template-haskell
text
time
transformers
tz
unordered-containers
vector
wai
wai-extra
wai-logger
warp
yaml
yesod
yesod-core
yesod-form
yesod-static
fast-logger
file-embed
foreign-store
gogol
gogol-apps-calendar
hjsmin
http-client-tls
http-conduit
http-types
lens
monad-control
monad-logger
shakespeare
sorted-list
template-haskell
text
time
transformers
tz
unordered-containers
vector
wai
wai-extra
wai-logger
warp
yaml
yesod
yesod-core
yesod-form
yesod-static
];
libraryToolDepends
=
[
hpack
];
executableHaskellDepends
=
[
aeson
base
blaze-markup
bytestring
case-insensitive
classy-prelude
classy-prelude-yesod
containers
data-default
directory
exceptions
fast-logger
file-embed
foreign-store
gogol
gogol-apps-calendar
hjsmin
http-client-tls
http-conduit
http-types
lens
monad-control
monad-logger
shakespeare
sorted-list
template-haskell
text
time
transformers
tz
unordered-containers
vector
wai
wai-extra
wai-logger
warp
yaml
yesod
yesod-core
yesod-form
yesod-static
fast-logger
file-embed
foreign-store
gogol
gogol-apps-calendar
hjsmin
http-client-tls
http-conduit
http-types
lens
monad-control
monad-logger
shakespeare
sorted-list
template-haskell
text
time
transformers
tz
unordered-containers
vector
wai
wai-extra
wai-logger
warp
yaml
yesod
yesod-core
yesod-form
yesod-static
];
testHaskellDepends
=
[
aeson
base
blaze-markup
bytestring
case-insensitive
classy-prelude
classy-prelude-yesod
containers
data-default
directory
exceptions
fast-logger
file-embed
foreign-store
gogol
gogol-apps-calendar
hjsmin
hspec
http-client-tls
http-conduit
http-types
lens
monad-control
monad-logger
shakespeare
sorted-list
template-haskell
text
time
transformers
tz
unordered-containers
vector
wai
wai-extra
wai-logger
warp
yaml
yesod
yesod-core
yesod-form
yesod-static
yesod-test
fast-logger
file-embed
foreign-store
gogol
gogol-apps-calendar
hjsmin
hspec
http-client-tls
http-conduit
http-types
lens
monad-control
monad-logger
shakespeare
sorted-list
template-haskell
text
time
transformers
tz
unordered-containers
vector
wai
wai-extra
wai-logger
warp
yaml
yesod
yesod-core
yesod-form
yesod-static
yesod-test
];
preConfigure
=
"hpack"
;
license
=
stdenv
.
lib
.
licenses
.
unfree
;
license
=
"unknown"
;
hydraPlatforms
=
stdenv
.
lib
.
platforms
.
none
;
}
default.nix
View file @
1b3f7ba0
{
pkgs
?
import
<
nixpkgs
>
{}
}:
with
pkgs
;
with
haskell
.
lib
;
let
stackageSrc
=
builtins
.
fetchTarball
{
url
=
https://github.com/typeable/nixpkgs-stackage/archive/0c2597f1d300ea4d124c2078777d1bb598d6995f.tar.gz
;
sha256
=
"1imd6l6kc8ncw1jc7z9aj6spmm0a21l64ig45xfi0640df7v9x2r"
;
};
nixpkgs
=
import
<
nixpkgs
>
{
overlays
=
[
(
import
stackageSrc
)
];
};
inherit
(
nixpkgs
)
pkgs
lib
;
# This requires the nixpkgs-stackage overlay.
hpkgs
=
pkgs
.
haskell
.
packages
.
stackage
.
lts-1110
;
hlib
=
pkgs
.
haskell
.
lib
;
# The gogol package is not part of stackage LTS, and it's a bit
# tricky to build. Best results so far are with LTS specified above
# and the gogol revision specified here.
gogol-src
=
pkgs
.
fetchgit
{
url
=
"https://github.com/brendanhay/gogol.git"
;
rev
=
"344c9f781560e1ed8395b17e370ba1b085f2edc2"
;
sha256
=
"0f48mh7f2ifk3b7rjwgn9cwmi6845xv9zvs07khycbk70959pk1n"
;
};
gogol-core
=
{
mkDerivation
,
aeson
,
attoparsec
,
base
,
bifunctors
,
bytestring
,
case-insensitive
,
conduit
,
dlist
,
exceptions
,
hashable
,
http-api-data
,
http-client
,
http-media
,
http-types
,
lens
,
resourcet
,
scientific
,
servant
,
stdenv
,
tasty
,
text
,
time
,
unordered-containers
}:
mkDerivation
{
pname
=
"gogol-core"
;
version
=
"0.3.0"
;
src
=
gogol-src
;
preCompileBuildDriver
=
"cd core"
;
libraryHaskellDepends
=
[
aeson
attoparsec
base
bifunctors
bytestring
case-insensitive
conduit
dlist
exceptions
hashable
http-api-data
http-client
http-media
http-types
lens
resourcet
scientific
servant
text
time
unordered-containers
];
testHaskellDepends
=
[
base
tasty
];
homepage
=
"https://github.com/brendanhay/gogol"
;
description
=
"Core data types and functionality for Gogol libraries"
;
license
=
"unknown"
;
};
gogol
=
{
mkDerivation
,
aeson
,
base
,
bytestring
,
case-insensitive
,
conduit
,
conduit-extra
,
cryptonite
,
directory
,
exceptions
,
filepath
,
gogol-core
,
http-client
,
http-conduit
,
http-media
,
http-types
,
lens
,
memory
,
mime-types
,
mtl
,
resourcet
,
stdenv
,
text
,
time
,
transformers
,
unliftio-core
,
unordered-containers
,
x509
,
x509-store
}:
mkDerivation
{
pname
=
"gogol"
;
version
=
"0.3.0"
;
src
=
gogol-src
;
preCompileBuildDriver
=
"cd gogol"
;
libraryHaskellDepends
=
[
aeson
base
bytestring
case-insensitive
conduit
conduit-extra
cryptonite
directory
exceptions
filepath
gogol-core
http-client
http-conduit
http-media
http-types
lens
memory
mime-types
mtl
resourcet
text
time
transformers
unliftio-core
unordered-containers
x509
x509-store
];
homepage
=
"https://github.com/brendanhay/gogol"
;
description
=
"Comprehensive Google Services SDK"
;
license
=
"unknown"
;
};
gogol-cal
=
{
mkDerivation
,
base
,
gogol-core
,
stdenv
}:
mkDerivation
{
pname
=
"gogol-apps-calendar"
;
version
=
"0.3.0"
;
src
=
gogol-src
;
preCompileBuildDriver
=
"cd gogol-apps-calendar"
;
libraryHaskellDepends
=
[
base
gogol-core
];
homepage
=
"https://github.com/brendanhay/gogol"
;
description
=
"Google Calendar SDK"
;
license
=
"unknown"
;
};
hpkgs
'
=
hpkgs
.
override
{
overrides
=
self
:
super
:
{
alex
=
hlib
.
dontCheck
super
.
alex
;
bookme
=
self
.
callPackage
(
import
./bookme.nix
)
{};
gogol-core
=
self
.
callPackage
gogol-core
{};
gogol
=
self
.
callPackage
gogol
{};
gogol-apps-calendar
=
self
.
callPackage
gogol-cal
{};
mkDerivation
=
args
:
super
.
mkDerivation
(
args
//
{
enableLibraryProfiling
=
false
;
doHoogle
=
false
;
doHaddock
=
false
;
});
};
};
ignore
=
[
"dist"
"dist-newstyle"
"cabal.project.local"
];
keep
=
name
:
type
:
lib
.
cleanSourceFilter
name
type
&&
!
(
lib
.
elem
(
baseNameOf
name
)
ignore
)
&&
!
(
lib
.
hasPrefix
".ghc.environment"
(
baseNameOf
name
))
&&
!
(
lib
.
hasPrefix
"autogen-"
(
baseNameOf
name
));
in
hpkgs
'
.
bookme
haskell
.
lib
.
overrideCabal
(
haskellPackages
.
callPackage
./bookme.nix
{
})
(
drv
:
{
doCheck
=
false
;
doHaddock
=
false
;
enableLibraryProfiling
=
false
;
src
=
builtins
.
filterSource
keep
./.
;
})
package.yaml
View file @
1b3f7ba0
...
...
@@ -7,31 +7,31 @@ dependencies:
# See: https://ghc.haskell.org/trac/ghc/ticket/12130
-
base >=4.8.2.0 && <4.9 || >=4.9.1.0 && <5
-
aeson >=0.6 && <1.
3
-
aeson >=0.6 && <1.
5
-
blaze-markup >=0.8.2.0 && <0.9
-
bytestring >=0.9 && <0.11
-
case-insensitive >=1.2.0.10 && <1.3
-
classy-prelude >=1.4 && <1.
5
-
classy-prelude-yesod >=1.4 && <1.
5
-
containers >=0.5.10.2 && <0.
6
-
classy-prelude >=1.4 && <1.
6
-
classy-prelude-yesod >=1.4 && <1.
6
-
containers >=0.5.10.2 && <0.
7
-
data-default >=0.7.1.1 && <0.8
-
directory >=1.1 && <1.4
-
exceptions >=0.8.3 && <0.
9
-
exceptions >=0.8.3 && <0.
11
-
fast-logger >=2.2 && <2.5
-
file-embed >=0.0.10.1 && <0.1
-
foreign-store >=0.2 && <0.3
-
gogol >=0.3.0 && <0.
4
-
gogol-apps-calendar >=0.3.0 && <0.
4
-
gogol >=0.3.0 && <0.
5
-
gogol-apps-calendar >=0.3.0 && <0.
5
-
hjsmin >=0.1 && <0.3
-
http-client-tls >=0.3 && <0.4
-
http-conduit >=2.3 && <2.4
-
http-types >=0.12.1 && <0.13
-
lens >=4.16.1 && <4.1
7
-
lens >=4.16.1 && <4.1
8
-
monad-control >=0.3 && <1.1
-
monad-logger >=0.3 && <0.4
-
shakespeare >=2.0 && <2.1
-
sorted-list >=0.2.0.0 && <0.3
-
template-haskell >=2.12.0.0 && <2.1
3
-
template-haskell >=2.12.0.0 && <2.1
5
-
text >=0.11 && <2.0
-
time >=1.8.0.2 && <1.9
-
transformers >=0.5.2.0 && <0.6
...
...
@@ -42,7 +42,7 @@ dependencies:
-
wai-extra >=3.0 && <3.1
-
wai-logger >=2.2 && <2.4
-
warp >=3.0 && <3.3
-
yaml >=0.8 && <0.
9
-
yaml >=0.8 && <0.
12
-
yesod >=1.6 && <1.7
-
yesod-core >=1.6 && <1.7
-
yesod-form >=1.6 && <1.7
...
...
shell.nix
View file @
1b3f7ba0
(
import
./default.nix
)
.
env
{
pkgs
?
import
<
nixpkgs
>
{}
}:
with
pkgs
.
haskell
.
lib
;
(
doCheck
(
import
./default.nix
{}))
.
env
src/Settings/Auth.hs
View file @
1b3f7ba0
...
...
@@ -15,10 +15,11 @@ module Settings.Auth
import
Calendar
(
CalendarScope
)
import
ClassyPrelude.Yesod
import
Network.Google
(
ClientId
(
..
),
LogLevel
(
Error
),
Secret
(
..
),
newLogger
)
newLogger
)
import
Network.Google.AppsCalendar
(
calendarScope
)
import
Network.Google.Auth
(
Auth
(
..
),
Credentials
(
FromClient
),
GSecret
(
..
),
OAuthClient
(
..
),
OAuthCode
(
..
),
OAuthToken
(
..
),
RefreshToken
(
..
),
exchange
,
...
...
@@ -30,7 +31,7 @@ import System.Environment (getEnv)
oauthClientFromEnv
::
IO
OAuthClient
oauthClientFromEnv
=
OAuthClient
<$>
(
ClientId
.
pack
<$>
getEnv
varGoogleClientId
)
<*>
(
Secret
.
pack
<$>
getEnv
varGoogleSecret
)
(
G
Secret
.
pack
<$>
getEnv
varGoogleSecret
)
authorizeMain
::
IO
()
authorizeMain
=
do
...
...
stack.yaml
View file @
1b3f7ba0
...
...
@@ -6,7 +6,7 @@
# A snapshot resolver dictates the compiler version and the set of packages
# to be used for project dependencies. For example:
#
resolver
:
lts-1
1
.1
0
resolver
:
lts-1
3
.1
9
# User packages to be built.
packages
:
...
...
@@ -15,7 +15,7 @@ packages:
# Dependency packages to be pulled from upstream that are not in the resolver
extra-deps
:
-
git
:
https://github.com/brendanhay/gogol.git
commit
:
344c9f781560e1ed8395b17e370ba1b085f2edc2
commit
:
f3a0c09be9a5ddd8ac76747915ea627d70ed56e6
subdirs
:
-
core
-
gogol
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment