Skip to content

Commit 421694d

Browse files
committedJun 16, 2016
INitial snapcraft packaging
1 parent 43d3c51 commit 421694d

File tree

3 files changed

+78
-0
lines changed

3 files changed

+78
-0
lines changed
 

‎snapcraft/README

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
This folder contains an experimental attempt to build a snap package for nikola.
2+
3+
To build, in Ubuntu 16.04:
4+
5+
apt install snapd snapcraft
6+
snap login some.account@whatever.com
7+
snapcraft
8+
snapd install nikola*snap --devmode
9+
10+
To just use it:
11+
12+
apt install snapd snapcraft
13+
snap login some.account@whatever.com
14+
snap install nikola
15+
16+
17+
That should leave you with a woring "nikola" command, which is functional with the
18+
following caveats:
19+
20+
* Locales are broken: https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1576411
21+
* It needs to run in devmode (unconfined). I am not sure it makes much sense to
22+
try to use it otherwise, and in any case it doesn't work for a variety of bugs.
23+
* The -b option in nikola serve and nikola auto will not work
24+
* Probaby other things I have not noticed yet.

‎snapcraft/nikola.sh

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/sh
2+
3+
export HOME=$SNAP_APP_USER_DATA
4+
export HACKDIR=$SNAP_APP_USER_DATA
5+
export NETHACKOPTIONS=$SNAP_APP_USER_DATA/.nethackrc
6+
7+
export I18NPATH=$SNAP_APP_PATH/usr/share/i18n
8+
export LOCPATH=$SNAP_APP_USER_DATA
9+
10+
APPLANG=en_US
11+
APPENC=UTF-8
12+
APPLOC="$APPLANG.$APPENC"
13+
14+
# generate a locale so we get properly working charsets and graphics
15+
if [ ! -e $SNAP_APP_USER_DATA/$APPLOC ]; then
16+
localedef --prefix=$SNAP_APP_USER_DATA -f $APPENC -i $APPLANG $SNAP_APP_USER_DATA/$APPLOC
17+
fi
18+
19+
export LC_ALL=$APPLOC
20+
export LANG=$APPLOC
21+
export LANGUAGE=${APPLANG%_*}
22+
23+
$SNAP/usr/bin/nikola "$@"

‎snapcraft/snapcraft.yaml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: nikola
2+
version: 7.7.9
3+
summary: A static website generator
4+
description: A static website generator
5+
confinement: devmode
6+
7+
apps:
8+
nikola:
9+
command: nikola.sh
10+
11+
parts:
12+
nikola:
13+
plugin: copy
14+
files:
15+
nikola.sh: nikola.sh
16+
nikola-source:
17+
plugin: python3
18+
source: git://github.com/getnikola/nikola.git
19+
source-tag: v7.7.9
20+
requirements: parts/nikola-source/src/requirements-extras.txt
21+
stage-packages:
22+
- locales
23+
- libc-bin
24+
build-packages:
25+
- zlib1g-dev
26+
- libjpeg-turbo8-dev
27+
- libpng12-dev
28+
- libxslt1-dev
29+
- libxml2-dev
30+
- gcc
31+

0 commit comments

Comments
 (0)
Please sign in to comment.