LINUX.ORG.RU

0
Всего сообщений: 55

Библиотека для скриптов на bash'е sysfunc обновилась до версии 2.2.6

Сабж. Предыдущая версия 2.2.5 выходила в апреле 2017-го года.

Домашняя страница библиотеки находится на tekwire.net по адресу http://sysfunc.tekwire.net .

Библиотека позиционируется как must have для юниксовых сисадминов. На github её выкладывает Francois Laupretre - французский линуксовый сисадмин/девопс, а также инженер автоматизации.

Readme доступно здесь: https://github.com/flaupretre/sysfunc/blob/master/README.md
Скачать новую версию можно здесь: https://github.com/flaupretre/sysfunc/archive/2.2.6.tar.gz

Changelog'ов найти не удалось.

 , , ,

saahriktu ()

Вышла библиотека boost версии 1.69.0

 , ,

saahriktu ()

как управлять попаданием js-библиотеки на сайт

У меня есть библиотека, к-рую я установил с помощью npm install. В ней есть некие скрипты, которые нужны на сайте. Они находятся, естественно, в node_modules. И есть директория js в корне сайта.

Можно ли автоматизировать процесс попадания библиотеки из node_modules в js?

Например, чтобы при апгрейде библиотеки туда попали новые версии js-скриптов, и чтобы они углифицировались? Чтобы не попадали те скрипты, которые на сайте не нужны. Я нахожу ряд статей «как начать пользоваться grunt/bower и т.п.», но как-то не попадается статься, где было бы описана именно эта ситуация.

Или это всё нужно делать руками?

 ,

den73 ()

Посоветуйте плеер для Linux с метками и фильтрами

Ищу аудио-плеер под Linux (Ubuntu 16.04) где бы можно было назначать трекам метки и пользоваться ими для фильтрации по аналогии с последними версиями AIMP и чем ближе к нему тем лучше, потому что там, ИМХО, всё просто божественно. Метки при создании запоминаются, повторно вносить не нужно - выбирай из списка, можно их переименовывать и это применится ко всем трекам, делать выборки по меткам удобно прямо из таблицы треков - проставил галки и готово, а если потребности «сегодня особенно тонки» можно сделать полноценный запрос со сложным условием. Короче чувствуешь себя как в полноценной юзер-френдли БД.

Очень желательно наличие версии плеера и под Windows, это бы сильно упростило процесс переноса накопленных в AIMP меток.

Попробовал Banshee, Clementine, Amarok, Audacious Media Player, и Rhytmbox - всё не то. В Amarok вроде есть метки но они почему-то не участвуют в автозаполнении и вообще не понятно где их искать чтобы увидеть их и например переименовать или удалить. Самый близкий кандидат как ни странно Clementine но к сожалению его для таких целей можно юзать через корявый костыль: писать метки в тэг «комментарий» и фильтровать по этому тэгу в «автоплейлистах», но это так себе. Так же находил на этом форуме упоминание какого то плеера labels, который как будто то что нужно и удовлетворил TC но самого плеера найти не удалось не то что в репозитории но в принципе в интернете.

 , , , ,

ITicDigger ()

Собрать Си-библиотеку mimeTeX с Qt-программой

Имеется широко известный в узких кругах проект mimetex - минималистичный генератор картинок формул на основе языка разметки TeX. Его сайт:

http://www.forkosh.com/mimetex.html (в настоящий момент опять лег)

Зато последняя версия аккуратно сохранена у автора MyTetra:

https://webhamster.ru/mytetrashare/index/mtb0/15315568717nedxk2nkx

В архиве mimetex.zip есть документация по компиляции.


* * *


Задача в том, чтобы собрать Qt-программу со статической библиотекой, полученной из mimetex (исходники mimetex оформлены как программа, а не как библиотека). Для того, чтобы получить статическую библиотеку mimetex, я сделал следующее:

А. Заменил в mimetex.c все определения и вызовы функции main() на mimetexMain().

Б. В файл mimetex.h добавил:

#ifdef Q_OS_WIN
#define MY_EXPORT __declspec(dllexport)
#else
#define MY_EXPORT
#endif
MY_EXPORT int CreateGifFromEq ( char *expression, char *gifFileName );

По сути, вызывать из этой библиотеки мне нужно только одну функцию CreateGifFromEq().

Qt-проект у меня состоит из двух под-проектов: библиотека mimetex и собственно сама программа:
TEMPLATE = subdirs
 
SUBDIRS = mimetex app

app.file = app/app.pro
app.depends = mimetex

mimetex.file = thirdParty/mimetex/mimetex.pro

Библиотека mimetex компилится в файл mimetex.a. С ворнингами, но компилится.

А при сборке подпроекта приложения возникает две проблемы:

Так как из C++ - кода инклюдится Си-заголовок mimetex.h, то в нем вылазит много ошибок, типа:
In file included from ../../programm/app/src/main.cpp:2:0:
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:267:12: error: expected identifier before ‘;’ token
   int class;    /* e.g., 3=relation, TexBook pg.154*/
            ^
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:267:12: error: multiple types in one declaration
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:267:12: error: declaration does not declare anything [-fpermissive]
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:319:61: error: expected identifier before ‘;’ token
 STATIC struct {char *name; int family; int istext; int class;}
                                                             ^
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:319:61: error: multiple types in one declaration
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:319:61: error: declaration does not declare anything [-fpermissive]
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:337:34: error: too many initializers for ‘<anonymous struct>’
     {  NULL,    0,       0,  0 } }
                                  ^
../../programm/app/src/../../thirdParty/mimetex/mimetex.h:337:34: error: too many initializers for ‘<anonymous struct>’

Я обошел это так. В приложении есть дефайн APPLICATION_NAME. Весь код mimetex.h (за исключение экспорта функции CreateGifFromEq) я оборачиваю конструкцией:
#ifndef APPLICATION_NAME
...
#endif

В результате, когда собирается подпроект библиотеки mimetex, этого дефайна в коде нет, и библиотека собирается. А когда mimetex.h подключается из приложения, в mimetex.h остаются только директивы экспорта функции CreateGifFromEq(). Но на этапе линковки приложения все равно эта функция не видна:
build/main.o: In function `main':
Makefile:246: recipe for target 'bin/programm' failed
make[1]: Leaving directory '/media/wd_640_part_2/home64bit/xi/work/develop/cpp/ProgrammWithMimetex/build-build-Desktop_Qt_5_10_1_GCC_64bit-Debug/app'
Makefile:70: recipe for target 'sub-app-app-pro-make_first' failed
/media/wd_640_part_2/home64bit/xi/work/develop/cpp/ProgrammWithMimetex/build-build-Desktop_Qt_5_10_1_GCC_64bit-Debug/app/../../programm/app/src/main.cpp:12: undefined reference to `CreateGifFromEq(char*, char*)'
collect2: error: ld returned 1 exit status
make[1]: *** [bin/programm] Error 1


Вот. Мне нужно сделать две вещи.


Минимум: заставить компилиться проект приложения и делать вызов фукции CreateGifFromEq()


Максимум: настроить подпроект mimetex.pro так, чтобы не лезли варнинги. Если mimetex компилить прямой командой:
gcc -DAA mimetex.c gifsave.c -lm -o mimetex

то варнингов нет.


Готовый минимальный пример: http://rgho.st/6YP2gjCHq

 , , , ,

Xintrea ()

Проблема с *.so библиотекой

Прошу помощи, есть библиотека из 5 андроида, нужно ее портировать на 7 андроид, чтобы телефон не уходил в бутлуп.

Вот ссылка на библиотеку: https://yadi.sk/d/T8cITVDG3YgvZM

Такое возможно?

 ,

timphenix ()

Микробиблиотеку для попиксельного вывода в окошко посоветуйте (си)

Скорость вторична. Кроссплатформенность вторична. Простота первична.

в идеале что-то вроде:

#include "libname.h"

...

void main(void) {
  int w = 640;
  int h = 480;
  void * screen = init_libname(w, h, RGBA);
  
  int x = 100;
  int y = 150;
  screen[w*y + x] = 255; // Red
  screen[w*y + x + 1] = 255; // Green
  screen[w*y + x + 2] = 255; // Blue

  free_libname(screen);
}

Окошко пусть создает. Ну, думаю, ясно что мне нужно. Наверняка все про такую занют (или себе писали), только мне не говорят.

// си хочу чистый, ламповый

// я еще слыхал, что в этих наших линуксах можно прям в видеопамять рисовать, прямо поверх всех окон. брешут, поди?

 , ,

pihter ()

Библиотека FB2: чем рулить?

Всем привет! Есть библиотека (~500Gb) книг fb2. Под оффтопиком это счастье превосходно индексировалось программкой MultiLib. Ищется аналог под линух (удобный поиск, при добавлении книг обновление базы за обозримые сроки) . Гугол не помог, надеюсь на вас.

 , ,

dpronyaev ()

Как установить библиотеку? (Нуб)

Написал для себя реализацию списков на C: https://gitlab.com/bergentroll/lists. Хочу установить её в систему, чтобы #include <lists.h>, и всё компилялось. Ума не хватает. Как это реализовать? Собрал в статическую библиотку, положил в /usr/lib, хедер в /usr/include, компоновщик не видит библиотеку, если руками ему не показать.

 , ,

Deleted ()

Можно ли не использовать часть модулей библиотеки, которая под LGPL лицензией?

Здравии желаю. Сегодня на повестке дня, вот такой вопрос друзья. Допустим, есть какой-нибудь биндинг, который состоит из множества различных файлов (всякие .dll и подобные), всё распространяют под лицензией LGPL.

Мне для проекта, некоторые модули из этой либы не нужны. Можно ли сбросить честь модулей, чтобы конечный проект был немного меньше по весу.

Что об этом говорит законодательство , не будет ли такого, что какой-нибудь Ричард Столлман, скажет дескать ты чё, ты че неправильно соблюдаешь условия лицензий?

Все махинации буду проводить на биндингом PySide , это порт Qt4 к Python, сам он весит 100+ mb, хочу оставить только QtCore и QtGui

 , , , ,

NetSurf ()

Ищу библиотеку для вычислений с генерацией формулы

Часто в отчётах требуется представить расчёт какой-нибудь величины в виде формулы с подставленными значениями аргументов. Ищу подходящую для этого дела готовую библиотеку, которая бы позволяла выполнять вычисление и в тот же момент генерировать соответствующую выполненному вычислению математическую нотацию.

Прошу подсказать, имеются ли в природе и как называются свободные библиотеки, решающие эту задачу.

Объясняю подробнее, как я вижу эту библиотеку в идеале.

«Математическая нотация» — класс, который объединяет вычисленное значение и формулу. Он может формироваться в результате вычислений или конструироваться из числа. Метод (разумеется, далее все имена методов и свойств условны) «getValue()» выдаёт числовое значение; метод «getExpression()» выдаёт математическое выражение с подстановкой аргументов, в виде строки, в виде какой-нибудь стандартной нотации (TeX, MathML или AsciiMath; метод «getFormula()» — то же самое, но в виде уравнения с отображением результата.

Пример использования библиотеки (для простоты рассмотрим случай, когда выражения формируются в нотации AsciiMath):

// Сформируем компоненты выражения из исходных чисел
Notation number1 = Notation.of( 2 );
Notation number2 = Notation.of( 6 );
Notation number3 = Notation.of( 1.5 );

// Cложим два числа
Notation resultSum = number1.add( number2 );
Number sumNum = resultSum.getValue();  // результат - число 8
String sumExpr = resultSum.getExpression();  // результат - строка "2 + 6"
String sumForm = resultSum.getFormula();  // результат - строка "2 + 6 = 8"

// В идеале, библиотека должна учитывать приоритет операций и расставлять скобки.
Notation resultComp1 = number1.multiply( number2 ).add( number3 );
Number comp1Num = resultComp1.getValue();  // результат - число 13.5
String comp1Expr = resultComp1.getExpression();  // результат - строка "2 * 6 + 1.5"
String comp1Form = resultComp1.getFormula();  // результат - строка "2 * 6 + 1.5 = 13.5"

Notation resultComp2 = number1.multiply( number2.add( number3 ) );
Number comp2Num = resultComp2.getValue();  // результат - число 15
String comp2Expr = resultComp2.getExpression();  // результат - строка "2 * ( 6 + 1.5 )"
String comp2Form = resultComp2.getFormula();  // результат - строка "2 * ( 6 + 1.5 ) = 15"

Notation resultComp3 = number2.add( number3 ).multiply( number1 );
Number comp3Num = resultComp3.getValue();  // результат - число 15
String comp3Expr = resultComp3.getExpression();  // результат - строка "( 6 + 1.5 ) * 2"
String comp3Form = resultComp3.getFormula();  // результат - строка "( 6 + 1.5 ) * 2 = 15"

// Случай с использованием хитрых обозначений
Notation resultRP = number1.add( number2 ).sqrt().pow( number3 );
Number rpNum = resultRP.getValue();  // результат - число 4.75682846001
String rpExpr = resultRP.getExpression();  // результат - строка "sqrt(2+6)^1.5"
String rpForm = resultRP.getFormula();  // результат - строка "sqrt(2+6)^1.5 = 4.75682846001"

Из языков программирования, на котором написана библиотека, предпочтительны те, которые умеют встраиваться в PostgreSQL и на которых могут быть написаны хранимые функции. Годятся Python, Ruby, но на худой конец подойдет и Java.

 , , , ,

VladimirP ()

React-hint v3 - компонент тултипов, совместимый с React, Preact и Inferno

Оригинальная тема

Компонент тултипов создавался для решения реальных задач и неоднократно использовался на проектах со сложным UI. В отличие от большинства схожих библиотек, имеет минималистичный размер и упор на производительность: размер библиотеки ~140LoC, не плодит сущностей, не нужно оборачивать в нее компоненты, не имеет run-time зависимостей. В то же самое время, имеет богатую функциональность, совместима с React-like библиотеками вроде Preact и Inferno. Лицензия MIT.

В новой версии библиотеки:

  • добавлена возможность переопределять колбэк рендера и выводить любой контент в тултипе со всеми навешенными на него обработчиками;
  • добавлены триггеры тултипов на click, focus и hover;
  • обновлена документация и страница примеров.

Репозиторий: https://github.com/slmgc/react-hint

Демо: https://react-hint.js.org

 , , , ,

slmgc ()

Вышла библиотека pcre 8.41

Сабж. Changelog:

Version 8.41 05-July-2017
-------------------------

1.  Fixed typo in CMakeLists.txt (wrong number of arguments for
PCRE_STATIC_RUNTIME (affects MSVC only).

2.  Issue 1 for 8.40 below was not correctly fixed. If pcregrep in multiline
mode with --only-matching matched several lines, it restarted scanning at the
next line instead of moving on to the end of the matched string, which can be
several lines after the start.

3.  Fix a missing else in the JIT compiler reported by 'idaifish'.

4.  A (?# style comment is now ignored between a basic quantifier and a
following '+' or '?' (example: /X+(?#comment)?Y/.

5.  Avoid use of a potentially overflowing buffer in pcregrep (patch by Petr
Pisar).

6.  Fuzzers have reported issues in pcretest. These are NOT serious (it is,
after all, just a test program). However, to stop the reports, some easy ones
are fixed:

    (a) Check for values < 256 when calling isprint() in pcretest.
    (b) Give an error for too big a number after \O.

7.  In the 32-bit library in non-UTF mode, an attempt to find a Unicode
property for a character with a code point greater than 0x10ffff (the Unicode
maximum) caused a crash.

8. The alternative matching function, pcre_dfa_exec() misbehaved if it
encountered a character class with a possessive repeat, for example [a-f]{3}+.

9. When pcretest called pcre_copy_substring() in 32-bit mode, it set the buffer
length incorrectly, which could result in buffer overflow.

10. Remove redundant line of code (accidentally left in ages ago).

11. Applied C++ patch from Irfan Adilovic to guard 'using std::' directives
with namespace pcrecpp (Bugzilla #2084).

12. Remove a duplication typo in pcre_tables.c.

13. Fix returned offsets from regexec() when REG_STARTEND is used with a
starting offset greater than zero.
Скачать: ftp://ftp.pcre.org/pub/pcre/pcre-8.41.tar.bz2

 , ,

saahriktu ()

JavaScript галерея/лайсбокс - Готовые Решения

Добрый день.
Подскажите пожалуйста.
А то я давно не в курсе последних дел.
Есть у меня набор статичных html страниц.
Страницы сверстаны адаптивно!!! И нужно на некоторые страницы вставить галерею.
Никаких плагинов для популярных cms не нужно.
Нужно просто добавить галерею в статичные страницы.
Так вот, на каких так сказать js/css библиотеках сейчас лучше и проще это делать по вашему?
Разумеется галерея должна быть адаптивной.

 , , , ,

rumgot ()

Библиотека функций shell?

С Новым Годом, котаны.

Существует ли сабж?

Заранее благодарю за ответ.

 , ,

IPR ()

C++ получение изображения из rtsp камеры

Добрый день. Всех поздравляю с наступающим праздником! Здоровья, счастья, удачи, новых знаний!
Вопрос собственно в зоголовке. В программе на языке C++ требуется получать изображение с ip камеры по протоколу rtsp. Что бы вы использовали для данной затеи? Имею ввиду какую библиотеку? Предпочтительней конечно плюсовую.

 , ,

rumgot ()

Компонент для тултипов, совместимый с React, Preact, Inferno

Йо! Всем привет :3

Решил немного попиарить свою поделку на ЛОРе (должен же быть хоть какой-то толк от аккаунта ;)

Печально-известные аналоги вроде https://github.com/wwayne/react-tooltip (>1k LoC) создают инстансы для каждого (!) тултипа и для изменения текста подсказки пересоздают их все (!) заново, что приводит к диким лагам при большом количестве элементов с тултипами.

Было принято волевое решение написать все самому, как надо. В итоге получился компонент размером ~140 LoC, который создает только один инстанс и может легко обновлять свое содержимое. Работает все быстро, ничего лишнего. Лицензия MIT, может кому пригодится.

Репозиторий: https://github.com/slmgc/react-hint

Демо: https://react-hint.js.org/

 , , ,

slmgc ()

C++ выбор библиотеки для работы с PDF

Добрый день.
В продолжение своей темы C++ выбор библиотеки для работы с imap выбираю c++/c библиотеку для работы с PDF файлами.
Пока склоняюсь к poppler.freedesktop.org
Посоветуйте пожалуйста.

 , , ,

rumgot ()

Первая версия libtranslate

Вышла первая версия написанной на C библиотеки libtranslate, предоставляющей удобные функции для перевода чисел из одной системы счисления в другую. На данный момент есть всего четыре функции:

  • char *intoc(int number, int crline) переводит десятичное число в строку из десятичного числа.
  • char *intob(unsinged int number, int length, int crline) переводит десятичное число в строку из двоичного числа.
  • char *intoh(unsigned int number, int crline) переводит десятичное число в строку из шестнадцатеричного числа.
  • void *btoih(char *line, int dec, int ch, int crline) переводит строку из двоичного числа в десятичное число/строку или в шестнадцатеричную строку.

Подробности

Перемещено Falcon-peregrinus из opensource

 

u0atgKIRznY5 ()

Файлообмен и библиотека

Стало вдруг любопытно: чем торрент-трекер принципиально отличается от публичной библиотеки? Захотел, например, почитать книгу - взял в библиотеке. Аналогично можно скачать книгу, фильм, музыку. Также можно подарить какую-нибудь свою книгу библиотеке. Аналогично можно создать раздачу на торрент-трекере. Книгу принято возвращать в библиотеку, как и на трекере - оставаться на раздаче какое-то время после скачивания, чтоб помочь скачать другим. И тут возникает вопрос: почему использование библиотеки легально, а торрент-трекера - нет.

 , , ,

toney ()