1
0

11 Commits

6 changed files with 69 additions and 35 deletions

1
.gitignore vendored
View File

@ -29,6 +29,7 @@
translators.tex translators.tex
build-time.tex build-time.tex
build-ver.tex build-ver.tex
result
## Generated if empty string is given at "Please type another file name for output:" ## Generated if empty string is given at "Please type another file name for output:"
.pdf .pdf

View File

@ -1,10 +1,18 @@
dist: bionic dist: bionic
sudo: required
before_install: before_install:
- sudo apt update - sudo apt update
- sudo apt install texlive-full rubber - sudo apt install texlive-full rubber pandoc
script: script:
- make - make
deploy:
provider: releases
api_key:
secure: qfh2UwOE2Flxc3SViull52SDqXUGeh+tXg6xvV+H1rmc8Y79B/T80+i9gpNLedqF0BOFPiuxnaITBccjH8hzFs/n0EjOScsWo1xESi81qXNSIZQ/+wvK8fStyUAJJIgRZa5A74lGywk+Q1TKESY2/JTiOKhvjvwPrK0mjX02yXbCFYh8vMYDvo3snjEBka5VWRVb9Q+X9shDesEN2GbAXhGCyY+TQJ5Ec/jXmnO0JF4RQgyChgW1wUd7wjhivvEOl+xmQZZzYGlXj24uJ7dI7cA6/lnzrTz/5k43UDw4OcX7/I6SARdVVsmECCrFEVTVUB4eOMLBg7xyKlhFUHvss+cYAUwpVIyfs0OJNcEnNub01EIKjqZDsUoUIjC8uUFXCfpSkuQZoNsEjgkBJbR2Uzoe5vJulCwjyABO7LXirZjN12wpVPfuxEPlELYXwd037VuiyMGmNxU830j+L+R7BV8WSr071C0y3gJOfKNAw2M9E6A1DUQJ4kWepS0wSf2BPK5W8vydK3X3sY5DGAU5jB6ITAnFlH1LC/UGLc2dub5o2wBCsYzj2LTB5jRhMR9F6hlvRD9hVynMgp5/Ywsacm6JVPTyhr/8YY2IXyuYUSX5YV9AbqxCjaqwrMF5zMMtFENisw0XvLAqLH6kFoASOdaDHZthG1MuXGTbAlxDpOw=
file_glob: true
file: faif-2.0-v*
skip_cleanup: true
on:
tags: true

View File

@ -1,4 +1,4 @@
[![Build Status](https://travis-ci.org/jollheef/free-as-in-freedom-v2-ru.svg?branch=master)](https://travis-ci.org/jollheef/free-as-in-freedom-v2-ru) [![Build Status](https://travis-ci.com/jollheef/free-as-in-freedom-v2-ru.svg?branch=primary)](https://travis-ci.org/jollheef/free-as-in-freedom-v2-ru)
[![Donate](https://img.shields.io/badge/Donate-BitCoin-green.svg)](https://blockchair.com/bitcoin/address/bc1q23fyuq7kmngrgqgp6yq9hk8a5q460f39m8nv87) [![Donate](https://img.shields.io/badge/Donate-BitCoin-green.svg)](https://blockchair.com/bitcoin/address/bc1q23fyuq7kmngrgqgp6yq9hk8a5q460f39m8nv87)
# [Ричард Столлман и революция свободного программного обеспечения](https://code.dumpstack.io/etc/free-as-in-freedom-v2-ru) # [Ричард Столлман и революция свободного программного обеспечения](https://code.dumpstack.io/etc/free-as-in-freedom-v2-ru)
@ -7,36 +7,16 @@
## Как скомпилировать книгу? ## Как скомпилировать книгу?
1 Установить texlive и rubber.
NixOS:
nix-env -iA nixos.texlive.combined.scheme-full nixos.rubber
Debian/Ubuntu:
sudo apt install texlive-full rubber
2 Склонировать репозиторий и запустить сборку.
git clone https://code.dumpstack.io/etc/free-as-in-freedom-v2-ru.git git clone https://code.dumpstack.io/etc/free-as-in-freedom-v2-ru.git
cd free-as-in-freedom-v2-ru cd free-as-in-freedom-v2-ru
#### [Nix](https://nixos.org/nix/download.html):
nix-shell --pure --run make
#### Debian/Ubuntu:
sudo apt install texlive-full rubber pandoc
make make
В текущей директории появится файл faif-2.0.pdf. В текущей директории появятся файлы faif-2.0.pdf и faif-2.0.fb2.
## fb2, markdown или html версии
Для получения fb2, markdown или html версии можно воспользоваться [pandoc](https://pandoc.org/). Одноименный пакет есть во всех основных дистрибутивах.
fb2:
pandoc -t fb2 faif-2.0.tex > faif-2.0.fb2
markdown:
pandoc -t markdown faif-2.0.tex > faif-2.0.md
html:
pandoc -t html faif-2.0.tex > faif-2.0.html

26
default.nix Normal file
View File

@ -0,0 +1,26 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.stdenv.mkDerivation {
pname = "free-as-in-freedom-v2-ru";
version = "0.99.5";
src = ./.;
FONTCONFIG_FILE = pkgs.makeFontsConf {
fontDirectories = [ pkgs.liberation_ttf ];
};
LANG = "C.UTF-8";
buildInputs = with pkgs; [
git utillinux gnumake
texlive.combined.scheme-full rubber
pandoc
];
installPhase = ''
mkdir -p $out
cp faif-2.0.{fb2,pdf} $out/
'';
}

View File

@ -11,7 +11,7 @@
Цель этого издания -- объединить силу моих знаний с живым взглядом журналиста Вильямса. Пусть читатель решит, насколько хорошо это получилось. Цель этого издания -- объединить силу моих знаний с живым взглядом журналиста Вильямса. Пусть читатель решит, насколько хорошо это получилось.
Впервые текст английского издания \enquote{Освобождения вашего компьютера} я прочитал в 2009 году, когда меня попросили помочь с переводом книги на французский. Это повлекло за собой не только мелкие правки. Впервые текст английского издания этой книги я прочитал в 2009 году, когда меня попросили помочь с переводом книги на французский. Это повлекло за собой не только мелкие правки.
Нужно было поправить многие отсылки к фактам. К тому же, Вильямс -- не программист, и потому несколько затуманил важные технические и юридические тонкости, вроде разницы между редактированием кода уже созданной программы, и воплощением некоторых её идей в совершенно новой программе. Так, в первом издании говорилось, что программы Gosmacs и GNU Emacs -- результат редактирования кода оригинального Emacs для PDP-10, что совсем не так. Или ещё хуже: Linux ошибочно назвали \enquote{версией Minix}. Позже компания SCO повторила эту нелепость в своём иске против IBM и Линуса Торвальдса, и её опровергал уже сам Эндрю Таненбаум, создатель Minix. Нужно было поправить многие отсылки к фактам. К тому же, Вильямс -- не программист, и потому несколько затуманил важные технические и юридические тонкости, вроде разницы между редактированием кода уже созданной программы, и воплощением некоторых её идей в совершенно новой программе. Так, в первом издании говорилось, что программы Gosmacs и GNU Emacs -- результат редактирования кода оригинального Emacs для PDP-10, что совсем не так. Или ещё хуже: Linux ошибочно назвали \enquote{версией Minix}. Позже компания SCO повторила эту нелепость в своём иске против IBM и Линуса Торвальдса, и её опровергал уже сам Эндрю Таненбаум, создатель Minix.

19
shell.nix Normal file
View File

@ -0,0 +1,19 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
name = "free-as-in-freedom-v2-ru";
FONTCONFIG_FILE = pkgs.makeFontsConf {
fontDirectories = [ pkgs.liberation_ttf ];
};
buildInputs = with pkgs; [
git utillinux gnumake
texlive.combined.scheme-full rubber
pandoc
];
shellHook = ''
export LANG=C.UTF-8
'';
}