* Re: Packing software developed in GNU Guile Scheme
[not found] <0ad6fe87371d6a6a512bb6a7b450a156@riseup.net>
@ 2016-05-12 19:16 ` Amirouche Boubekki
2016-05-12 20:36 ` David Pirotte
0 siblings, 1 reply; 2+ messages in thread
From: Amirouche Boubekki @ 2016-05-12 19:16 UTC (permalink / raw)
To: Daniel Pimentel, Guile User; +Cc: guile-devel, guile-devel
[-- Attachment #1: Type: text/plain, Size: 3294 bytes --]
Héllo Daniel!
On 2016-05-12 17:28, Daniel Pimentel wrote:
> Hi Guiles,
>
> I developed a software with GNU Guile Scheme and I'd like packing to
> distribute it.
>
> How do I do? Using Makefile?
>
> Project dependences: Guile, LSH/SSH.
I personally just spell everything inside a directory. But there
is really no way to install the things. I just explain how to run
my program in-place and usually it's good enough, for people to
get interested (or not!). If someone feel like adding autotools
or guix, they can feel free
to do it.
That being said, I am bit a liar because the modules I use nowdays
feet in a single file. You can install them just copy/paste without
forgetting denpendencies along the way...
GUILE_LOAD_PATH is, most of the time, when I run algorithms local to
the current directory and some global directory. I do so using the `L`
(for *L*oadpath ) with `guile' command, say `guile -L . uav.scm' [1] for
instance will start uav database server on my machine.
[1] PS: where `.' means current directory. Instead of period, you can
use `pwd`.
The content of the directory of the search engine is given by the `tree'
command is:
```
.
├── COPYING
├── db
│ ├── tuples_index.wti
│ ├── tuples.wt
│ ├── WiredTiger
│ ├── WiredTiger.basecfg
│ ├── WiredTiger.lock
│ ├── WiredTigerLog.0000000001
│ ├── WiredTigerLog.0000000002
│ ├── WiredTigerPreplog.0000000002
│ ├── WiredTiger.turtle
│ └── WiredTiger.wt
├── debug.scm
├── htmlprag.scm
├── https-get.scm
├── hyper-port.scm
├── hyper.scm
├── hyper-server.scm
├── hyper-worker.scm
├── minikanren.scm
├── README.md
├── stopwords.en.txt
├── TODO
├── uav.scm
├── wiredtiger.scm
└── wiredtigerz.scm
1 directory, 25 files
```
Here is the number of lines of every file I've written for this project
including dependencies:
```
4 hyper-port.scm
196 hyper.scm
5 hyper-server.scm
29 hyper-worker.scm
339 minikanren.scm
271 uav.scm
637 wiredtiger.scm
681 wiredtigerz.scm
```
From my experience, this scheme can be used any pure module system,
even so with guile bytevectors which support several schemes.
I feel like packaging would be overrated on my project. Also
professional experience tells me programs are much bigger (at
least in Python). At $WORK, I dealt with a single class over more that
ten thousand lines of code split over two files. In comparison two
thousand
(at the very least!) blobs of parens over nine files seems hideous b/c
file very small in personal projects.
>
> Thanks and sorry for my newbie's question :)
>
It's not, there is different way to do it. Mind the fact that this is
written (somewhere (over the ra1nybow)) that Facebook and google have
massive repositories. Those are not databases of user data, but there
source code is in single tarball. That would be 500 000 000 lines of
code
by the standard of my $WORK.
>
> Note: I'll packing for Guix/GuixSD in soon, but I'd like to distribute
> to other distribution by tarball for example.
Thanks in advance!
--
Amirouche ~ amz3 ~ http://www.hyper(or dev.fr move.net)
[-- Attachment #2: Capture d'écran de 2015-11-01 20-25-10.png --]
[-- Type: image/png, Size: 1933554 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread