Package Details: sozi 16.02-2

Git Clone URL: (read-only)
Package Base: sozi
Description: A zooming presentation based on SVG, using JavaScript
Upstream URL:
Licenses: custom:MPL2.0
Submitter: linkmauve
Maintainer: sbmomeni
Last Packager: sbmomeni
Votes: 68
Popularity: 0.779743
First Submitted: 2010-10-28 11:53
Last Updated: 2016-05-25 08:18

Dependencies (13)

Required by (0)

Sources (602)

Latest Comments

luuuciano commented on 2016-06-09 13:47

Oh, I see, thanks a lot for the tip & information sbmomeni!

sbmomeni commented on 2016-06-09 07:11

The nodejs5 is required as noted at <>.
Until upstream add support for the nodejs6, you can temporarily downgrade to nodejs5 (it is just a build time dependency) and then revert to nodejs6 after building the package binary.

luuuciano commented on 2016-06-08 14:04

Mmmm, what to do when we have nodejs(6) installed? (and required for other packages)

sbmomeni commented on 2016-05-25 08:21

It is updated.

grandchild commented on 2016-05-18 21:19

Fails to build with:

Archived build/Sozi/Sozi-16.02.141048-linux64/locales/ -> build/Sozi-16.02.141048-linux64.tgz/Sozi-16.02.141048-linux64/locales/
Fatal error: If encoding is specified then the first argument must be a string

There's a thread here:

But I don't know anything about this huge JS library interminglemagic clusterf-- ... er. Well. Doesn't build. :P

sbmomeni commented on 2016-02-15 12:58

If you have a "src/build" folder from version 15.11, do NOT remove it. It will be used (automatically) as a cache to speed up the build.

macxcool commented on 2015-12-22 14:36

@sbmomeni Thanks for the explanation. I really do appreciate it. I learned a few things there ;-) Quite right about a PKGBUILD being able to build from provided sources when offline. This built beautifully. I was just surprised.

sbmomeni commented on 2015-12-22 12:05

The main source archive is "15.11.tar.gz" which depends on 4 npm packages for running and 18 npm packages for being compiled. And those dependencies are dependent on many other packages which bring in more dependencies themselves and so on :)
The npm is a JavaScript package manager which resolves dependencies of JavaScript packages and downloads and installs them.

About why I did it in this way:
There are two general ways:
1. Using the pre-built binary of Sozi,
2. Compiling from sources. The first way is just acceptable for "sozi-bin" package.
And for compiling from sources, where all of those source packages are required, I know about two methods for acquiring them:
1. Using the "npm install" command which finds and downloads them by itself (within the build() function),
2. Finding sources with a script (see comments in the PKGBUILD) and adding them to the "source" array and allowing the "makepkg" to download them.
And I avoided the first method because:
1. The npm does a poor caching job; if it fails to download a package (which is likely to happen with a lot of dependencies; at least for those users who do not use the npm regularly and so do not have those packages downloaded in their cache folder previously), it will fail completely. That is, running "npm install" again will try to download everything (including downloaded packages) from scratch (no caching and no resumption).
2. Even if npm can be improved in next versions to solve the above item, a good PKGBUILD must be able to run the "build()" function without access to the Internet (so it can be built as while as its source files are provided in its source files path by some other means).

macxcool commented on 2015-12-21 16:25

I know that the new Sozi is not an inkscape plugin anymore but I don't understand why there are so many 'source' files to download and process... more than 300MB. Why are you doing things this way? I'm just curious.
Thanks for all the work that obviously went into this.

luuuciano commented on 2015-12-21 00:25

Wow... my notebook almost burned out! lol...
Thanks a lot, installed it ok now...

All comments