@ -8,18 +8,16 @@
, zlib
, rapidjson
, pandoc
, enableSystemd ? false
, customConfig ? null
} :
let
js . vue = fetchurl {
url = " h t t p s : / / c d n j s . c l o u d f l a r e . c o m / a j a x / l i b s / v u e / 2 . 3 . 4 / v u e . m i n . j s " ;
sha256 = " 0 1 z k l p 5 c y i k 6 5 d f n 6 4 m 8 h 2 y 2 d x z g b y z g m b f 9 9 y 7 f w g n f 0 1 5 5 r 7 p q " ;
url = " h t t p s : / / c d n j s . c l o u d f l a r e . c o m / a j a x / l i b s / v u e / 2 . 6 . 1 2 / v u e . m i n . j s " ;
sha256 = " 1 h m 5 k c i 2 g 6 n 5 i k r v p 1 k p k k d z i m j g y l v 1 x i c g 2 v n k b v d 9 r b 5 6 q a 9 9 " ;
} ;
js . vue-router = fetchurl {
url =
" h t t p s : / / c d n j s . c l o u d f l a r e . c o m / a j a x / l i b s / v u e - r o u t e r / 2 . 7 . 0 / v u e - r o u t e r . m i n . j s " ;
sha256 = " 0 7 g x 7 z n b 3 0 r k 1 z 7 w 6 c a 7 d l f j p 4 4 q 1 2 b b q 6 j g h w f m 2 7 m f 6 p s a 8 0 a s " ;
" h t t p s : / / c d n j s . c l o u d f l a r e . c o m / a j a x / l i b s / v u e - r o u t e r / 3 . 4 . 8 / v u e - r o u t e r . m i n . j s " ;
sha256 = " 0 4 1 8 w a i b 8 9 6 y w w x k x l i i p 7 5 z p 9 4 k 3 s 9 w l d 5 1 a f r q r c q 7 0 a x l d 0 c 9 " ;
} ;
js . ansi_up = fetchurl {
url = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / d r u d r u / a n s i _ u p / v 1 . 3 . 0 / a n s i _ u p . j s " ;
@ -29,17 +27,12 @@ let
url = " h t t p s : / / c d n j s . c l o u d f l a r e . c o m / a j a x / l i b s / C h a r t . j s / 2 . 7 . 2 / C h a r t . m i n . j s " ;
sha256 = " 1 j h 4 h 1 2 q c h s b a 0 3 d x 0 3 m r v s 4 r 8 g 9 q f j n 5 6 x m 5 6 j q z g q f 7 r 2 0 9 x q 9 " ;
} ;
css . bootstrap = fetchurl {
url =
" h t t p s : / / m a x c d n . b o o t s t r a p c d n . c o m / b o o t s t r a p / 3 . 3 . 5 / c s s / b o o t s t r a p . m i n . c s s " ;
sha256 = " 1 1 v x 8 6 0 p r s x 7 w s y 8 b 0 y r r k 0 4 i h 8 k v r x k k 8 l 1 6 s n s c 4 n 2 8 6 b d k y r i " ;
} ;
in stdenv . mkDerivation rec {
name = " l a m i n a r " ;
version = " 0 . 8 " ;
version = " 1 . 0 " ;
src = fetchurl {
url = " h t t p s : / / g i t h u b . c o m / o h w g i l e s / l a m i n a r / a r c h i v e / ${ version } . t a r . g z " ;
sha256 = " 0 5 g 7 3 j 3 v p i b 4 7 k r 7 m a c k c a z f 7 s 6 b c 3 x w z 4 h 6 k 7 s p 7 y b 5 n g 7 g j 2 0 g " ;
sha256 = " 1 1 m 6 h 3 r d m j 2 r s m s r y y 7 r 4 0 g q c c j 4 g g 1 c n q w y 6 b l s c s 8 7 g x 4 s 4 2 3 g " ;
} ;
patches = [ ./patches/no-network.patch ] ;
nativeBuildInputs = [ cmake pandoc ] ;
@ -50,31 +43,23 @@ in stdenv.mkDerivation rec {
cp $ { js . vue-router } js/vue-router.min.js
cp $ { js . ansi_up } js/ansi_up.js
cp $ { js . Chart } js/Chart.min.js
cp $ { css . bootstrap } css/bootstrap.min.css
'' ;
postInstall = ''
mv $ out/usr/share $ out
mkdir $ out/bin
mv $ out/usr / { bin , sbin } /* $ o u t / b i n
rmdir $ out/usr / { bin , sbin }
rmdir $ out/usr
mv $ out/usr/share /* $ o u t / s h a r e /
rmdir $ out/usr/share $ out/usr
mkdir - p $ out/share/doc/laminar
pandoc - s ../UserManual.md - o $ out/share/doc/laminar/UserManual.html
'' + l i b . o p t i o n a l S t r i n g ( c u s t o m C o n f i g ! = n u l l ) ''
cp $ { customConfig } /etc/etc/laminar.conf
'' + ( i f e n a b l e S y s t e m d t h e n ''
sed - i " s , / e t c / , $ o u t / e t c / , " $ out/lib/systemd/system/laminar.service
sed - i " s , / u s r / s b i n / , $ o u t / b i n / , " $ out/lib/systemd/system/laminar.service
'' e l s e ''
rm - r $ out/lib # it contains only systemd unit file
'' ) ;
rm - rf $ out/lib # remove upstream systemd units
rm - rf $ out/etc # remove upstream config file
'' ;
meta = with lib ; {
description = " L i g h t w e i g h t a n d m o d u l a r c o n t i n u o u s i n t e g r a t i o n s e r v i c e " ;
homepage = " h t t p s : / / l a m i n a r . o h w g . n e t " ;
license = licenses . gpl3 ;
platforms = platforms . linux ;
maintainers = with maintainers ; [ kaction ] ;
maintainers = with maintainers ; [ kaction maralorn ] ;
} ;
}