mirror of
https://github.com/ivabus/pantry
synced 2024-11-10 02:25:18 +03:00
+libpng+pixman+gperf+pcre+pixman+bison (#77)
This commit is contained in:
parent
c7e3d90b60
commit
2c9eb1e24b
|
@ -39,6 +39,10 @@ If you have a website you can host your own `package.yml` there and we will
|
||||||
build binaries for you. This feature is coming soon and will require
|
build binaries for you. This feature is coming soon and will require
|
||||||
signed, versioned tags and signed source tarballs.
|
signed, versioned tags and signed source tarballs.
|
||||||
|
|
||||||
|
# Packaging Knowledgebase
|
||||||
|
|
||||||
|
Our [wiki](/wiki) is our knowledgebase. Fill it with the fruits of your
|
||||||
|
knowledge. Please keep it tidy.
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
|
||||||
|
|
33
projects/gnu.org/bison/package.yml
Normal file
33
projects/gnu.org/bison/package.yml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
distributable:
|
||||||
|
url: https://ftp.gnu.org/gnu/bison/bison-{{ version }}.tar.xz
|
||||||
|
strip-components: 1
|
||||||
|
|
||||||
|
versions:
|
||||||
|
github: akimd/bison/tags
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
# bison cannot operate without the m4 executable
|
||||||
|
gnu.org/m4: 1
|
||||||
|
|
||||||
|
build:
|
||||||
|
dependencies:
|
||||||
|
tea.xyz/gx/cc: c99
|
||||||
|
tea.xyz/gx/make: '*'
|
||||||
|
script: |
|
||||||
|
./configure $ARGS
|
||||||
|
make --jobs {{ hw.concurrency }} install
|
||||||
|
env:
|
||||||
|
M4: m4 # or fails on Linux
|
||||||
|
ARGS:
|
||||||
|
- --prefix={{ prefix }}
|
||||||
|
- --enable-relocatable
|
||||||
|
|
||||||
|
test:
|
||||||
|
dependencies:
|
||||||
|
tea.xyz/gx/cc: c99
|
||||||
|
script: |
|
||||||
|
bison {{ pkg.pantry-prefix }}/test.y
|
||||||
|
c++ test.tab.c
|
||||||
|
test pass = $(echo "((()(())))()" | ./a.out)
|
||||||
|
test fail = $(echo "())" | ./a.out)
|
||||||
|
|
19
projects/gnu.org/bison/test.y
Normal file
19
projects/gnu.org/bison/test.y
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
%{ #include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
extern void yyerror (char *s);
|
||||||
|
extern int yylex ();
|
||||||
|
%}
|
||||||
|
%start prog
|
||||||
|
%%
|
||||||
|
prog: // empty
|
||||||
|
| prog expr '\n' { cout << "pass"; exit(0); }
|
||||||
|
;
|
||||||
|
expr: '(' ')'
|
||||||
|
| '(' expr ')'
|
||||||
|
| expr expr
|
||||||
|
;
|
||||||
|
%%
|
||||||
|
char c;
|
||||||
|
void yyerror (char *s) { cout << "fail"; exit(0); }
|
||||||
|
int yylex () { cin.get(c); return c; }
|
||||||
|
int main() { yyparse(); }
|
17
projects/gnu.org/gperf/package.yml
Normal file
17
projects/gnu.org/gperf/package.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
distributable:
|
||||||
|
url: https://ftp.gnu.org/gnu/gperf/gperf-3.1.tar.gz
|
||||||
|
strip-components: 1
|
||||||
|
|
||||||
|
versions:
|
||||||
|
- 3.1.0
|
||||||
|
|
||||||
|
build:
|
||||||
|
dependencies:
|
||||||
|
tea.xyz/gx/cc: c99
|
||||||
|
tea.xyz/gx/make: '*'
|
||||||
|
script: |
|
||||||
|
./configure --prefix={{ prefix }}
|
||||||
|
make --jobs {{ hw.concurrency }} install
|
||||||
|
|
||||||
|
test:
|
||||||
|
script: echo "tea\nfoo\nbar" | gperf
|
31
projects/libpng.org/package.yml
Normal file
31
projects/libpng.org/package.yml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
distributable:
|
||||||
|
url: https://cytranet.dl.sourceforge.net/project/libpng/libpng{{ version.major }}{{ version.minor }}/{{ version }}/libpng-{{ version }}.tar.xz
|
||||||
|
#FIXME our linux docker image TLS doesn’t like this URL
|
||||||
|
# url: https://downloads.sourceforge.net/project/libpng/libpng{{ version.major }}{{ version.minor }}/{{ version }}/libpng-{{ version }}.tar.xz
|
||||||
|
strip-components: 1
|
||||||
|
|
||||||
|
versions:
|
||||||
|
github: glennrp/libpng
|
||||||
|
strip: /^libpng-/
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
zlib.net: 1
|
||||||
|
|
||||||
|
build:
|
||||||
|
dependencies:
|
||||||
|
tea.xyz/gx/cc: c99
|
||||||
|
tea.xyz/gx/make: '*'
|
||||||
|
script: |-
|
||||||
|
./configure \
|
||||||
|
--disable-dependency-tracking \
|
||||||
|
--disable-silent-rules \
|
||||||
|
--prefix {{ prefix }}
|
||||||
|
make --jobs {{ hw.concurrency }}
|
||||||
|
make install
|
||||||
|
|
||||||
|
test:
|
||||||
|
dependencies:
|
||||||
|
tea.xyz/gx/cc: c99
|
||||||
|
script: |
|
||||||
|
cc {{ pkg.pantry-prefix }}/test.c -lpng
|
||||||
|
./a.out
|
8
projects/libpng.org/test.c
Normal file
8
projects/libpng.org/test.c
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#include <png.h>
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
png_structp png_ptr;
|
||||||
|
png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
|
||||||
|
png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
|
||||||
|
return 0;
|
||||||
|
}
|
34
projects/pcre.org/package.yml
Normal file
34
projects/pcre.org/package.yml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
distributable:
|
||||||
|
#FIXME certs issue
|
||||||
|
# url: https://downloads.sourceforge.net/project/pcre/pcre/{{ version.raw }}/pcre-{{ version.raw }}.tar.bz2
|
||||||
|
url: https://cytranet.dl.sourceforge.net/project/pcre/pcre/{{ version.raw }}/pcre-{{ version.raw }}.tar.bz2
|
||||||
|
strip-components: 1
|
||||||
|
|
||||||
|
# commonly called PCRE2 starts at semver v10
|
||||||
|
# PCRE (unmaintained) goes up to 8.45
|
||||||
|
# despite PCRE being unmaintained, most stuff still uses it, lol
|
||||||
|
|
||||||
|
versions:
|
||||||
|
- 8.45
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
sourceware.org/bzip2: 1
|
||||||
|
zlib.net: 1
|
||||||
|
|
||||||
|
build:
|
||||||
|
dependencies:
|
||||||
|
tea.xyz/gx/cc: c99
|
||||||
|
tea.xyz/gx/make: '*'
|
||||||
|
script: |
|
||||||
|
./configure \
|
||||||
|
--prefix={{ prefix }} \
|
||||||
|
--enable-pcre2-16 \
|
||||||
|
--enable-pcre2-32 \
|
||||||
|
--enable-pcre2grep-libz \
|
||||||
|
--enable-pcre2grep-libbz2 \
|
||||||
|
--enable-jit
|
||||||
|
make --jobs {{ hw.concurrency }}
|
||||||
|
make install
|
||||||
|
|
||||||
|
test:
|
||||||
|
script: pcregrep "regular expression" {{ prefix }}/share/doc/pcre/README
|
|
@ -18,6 +18,9 @@ dependencies:
|
||||||
gnu.org/readline: 8
|
gnu.org/readline: 8
|
||||||
invisible-island.net/ncurses: 6
|
invisible-island.net/ncurses: 6
|
||||||
|
|
||||||
|
#TODO pip should be python.org/pip and installed by default (as a recommended dependent) with python
|
||||||
|
#RATIONALE it is independently versioned
|
||||||
|
|
||||||
build:
|
build:
|
||||||
dependencies:
|
dependencies:
|
||||||
tea.xyz/gx/cc: c99
|
tea.xyz/gx/cc: c99
|
||||||
|
@ -32,8 +35,11 @@ build:
|
||||||
./configure $ARGS
|
./configure $ARGS
|
||||||
make --jobs {{ hw.concurrency }}
|
make --jobs {{ hw.concurrency }}
|
||||||
make install
|
make install
|
||||||
|
|
||||||
cd {{ prefix }}/bin
|
cd {{ prefix }}/bin
|
||||||
ln -sf python{{ version.major }} python
|
ln -sf python{{ version.marketing }} python
|
||||||
|
ln -sf python{{ version.marketing }}-config python-config
|
||||||
|
ln -sf pip{{ version.marketing }} pip
|
||||||
|
|
||||||
env:
|
env:
|
||||||
SHARE: /opt/python.org/share
|
SHARE: /opt/python.org/share
|
||||||
|
@ -42,7 +48,7 @@ build:
|
||||||
# it’s 202x
|
# it’s 202x
|
||||||
- --enable-ipv6
|
- --enable-ipv6
|
||||||
# prevent auto updates -> we control that
|
# prevent auto updates -> we control that
|
||||||
- --without-ensurepip
|
# - --without-ensurepip
|
||||||
- --disable-loadable-sqlite-extensions
|
- --disable-loadable-sqlite-extensions
|
||||||
# use our libraries not the bundled ones
|
# use our libraries not the bundled ones
|
||||||
- --with-system-expat
|
- --with-system-expat
|
||||||
|
@ -75,5 +81,6 @@ build:
|
||||||
|
|
||||||
test:
|
test:
|
||||||
#TODO test all modules eg zlib module
|
#TODO test all modules eg zlib module
|
||||||
script:
|
script: |
|
||||||
python --version
|
python --version
|
||||||
|
pip --version
|
||||||
|
|
Loading…
Reference in a new issue