diff --git a/hardware/misc/ethtool/actions.py b/hardware/misc/ethtool/actions.py new file mode 100644 index 0000000000..55857239ff --- /dev/null +++ b/hardware/misc/ethtool/actions.py @@ -0,0 +1,18 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools + +def setup(): + autotools.configure() + +def build(): + autotools.make() + +def install(): + autotools.rawInstall('DESTDIR="%s" INSTALL="install -p"' % get.installDIR()) + pisitools.dodoc("README", "COPYING", "LICENSE") \ No newline at end of file diff --git a/hardware/misc/ethtool/pspec.xml b/hardware/misc/ethtool/pspec.xml new file mode 100644 index 0000000000..873323b62c --- /dev/null +++ b/hardware/misc/ethtool/pspec.xml @@ -0,0 +1,80 @@ + + + + + ethtool + https://www.kernel.org/pub/software/network/ethtool/ + + Blue Devil + bluedevil@sctzine.com + + hardware.misc + GPLv2 + app:console + Utility to examine and tune ethernet-based network interfaces + ethtool is used for querying and changing settings of an ethernet device. + https://mirrors.edge.kernel.org/pub/software/network/ethtool/ethtool-5.8.tar.xz + + libmnl-devel + + + + + ethtool + Utility to examine and tune ethernet-based network interfaces + + libmnl + + + /usr/share/doc + /usr/share/man + /usr/sbin + /usr/share/bash-completion + + + + + + 2020-09-07 + 5.8 + Minor version bump. + Blue Devil + bluedevil@sctzine.com + + + 2020-07-22 + 5.7 + Minor version bump. + Blue Devil + bluedevil@sctzine.com + + + 2020-04-28 + 5.4 + Patch version bump. + Blue Devil + bluedevil@sctzine.com + + + 2019-11-04 + 5.3 + Ver. bump + Blue Devil + bluedevil@sctzine.com + + + 2016-02-18 + 4.2 + Version bump + İbrahim KARAGÜZEL + karaguzelibrahim@gmail.com + + + 2010-11-19 + 2.6.36 + First release + Onur Küçük + onur@pardus.org.tr + + + \ No newline at end of file diff --git a/hardware/misc/ethtool/translations.xml b/hardware/misc/ethtool/translations.xml new file mode 100644 index 0000000000..9be000f472 --- /dev/null +++ b/hardware/misc/ethtool/translations.xml @@ -0,0 +1,8 @@ + + + + ethtool + Ethernet tabanlı ağ arayüzlerini tanımlamak ve ayarlamak için kullanılan bir yazılım + Ethtool ağ aygıtınızın ayarlarını listelemeye ve bu ayarları değiştirmeye yarar. + + \ No newline at end of file diff --git a/pisi-index.xml b/pisi-index.xml index 8f72702b76..6c1b13fe0c 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -206774,7 +206774,7 @@ It supports email, address books, calendars, tasks, news feeds and much more. gdb - http://www.gnu.org/software/gdb/gdb.html + http://www.gnu.org/software/gdb/ PisiLinux Community admins@pisilinux.org @@ -206788,53 +206788,62 @@ It supports email, address books, calendars, tasks, news feeds and much more.GDB, the GNU Project debugger, allows you to see what is going on 'inside' another program while it executes -- or what another program was doing at the moment it crashed. GDB, GNU Proje hata ayıklama aracı, çalışır durumdaki başka bir programın `içinde' olan biteni görmenizi, veya başka bir programın çöktüğü anda ne yapıyor olduğunu bilmenizi sağlar. GDB, el depurador del proyecto GNU permite ver lo que está pasando 'en el interior de' otro programa mientras ejecuta -- o lo que estaba haciendo cuando quedó colgado. - mirrors://gnu/gdb/gdb-8.3.tar.xz + https://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.xz - xz-devel texinfo - guile-devel + xz-devel + mpfr-devel expat-devel python-devel - readline-devel ncurses-devel + guile2.0-devel + readline-devel + source-highlight-devel programming/debug/gdb/pspec.xml gdb + GNU debugger xz - libgcc - guile expat + libgcc python - readline ncurses + guile2.0 + readline + source-highlight - /usr/bin /usr/lib - /usr/share/doc/gdb - /usr/share/gdb - /usr/share/info /usr/share/man + /usr/share/gdb + /usr/bin + /usr/share/info + /usr/share/doc/gdb - - gstack.1 - gdb-devel Development files for gdb gdb için geliştirme dosyaları + gdb-devel, provides development files for gdb. - gdb + gdb /usr/include + + 2020-09-07 + 9.2 + Major version bump. + Blue Devil + bluedevil@sctzine.com + 2020-01-07 8.3 @@ -206879,6 +206888,59 @@ It supports email, address books, calendars, tasks, news feeds and much more. + + + gdb-multiarch + http://www.gnu.org/software/gdb/ + + Blue DeviL + bluedevil@sctzine.com + + GPLv3 + app::console + programming.debug + The GNU Debugger for all gdb supported architectures (i386/arm/mips...). + GDB(GNU Debugger) hata ayıklayıcısının desteklediği tüm mimariler için hata ayıklayıcısı. + gdb-multiarch, is a split of GDB(GNU Debugger) which is for gdb supported architectures (i386/arm/mips...). + gdb-multiarch i386/arm/mips gibi gdb'nin desteklediği tüm mimariler için hata ayıklayıcısı ve araçlarını sunar. + https://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.xz + + texinfo + xz-devel + gdb-devel + mpfr-devel + expat-devel + python-devel + ncurses-devel + guile2.0-devel + readline-devel + + programming/debug/gdb-multiarch/pspec.xml + + + gdb-multiarch + The GNU Debugger for all gdb supported architectures (i386/arm/mips...). + + gdb + mpfr + expat + python + guile2.0 + + + /usr/bin/gdb-multiarch + + + + + 2020-04-09 + 9.2 + First pisi release + Blue DeviL + bluedevil@sctzine.com + + + dev86 @@ -214734,6 +214796,67 @@ It supports email, address books, calendars, tasks, news feeds and much more. + + + binaryen + https://github.com/WebAssembly/binaryen + + Blue Devil + bluedevil@sctzine.com + + Apache2.0 + app:console + library + programming.library + Compiler infrastructure and toolchain library for WebAssembly + C++ ile WebAssembly için yazılış derleyici altyapısı ve araç zinciri. + Binaryen is a compiler and toolchain infrastructure library for WebAssembly, written in C++. It aims to make compiling to WebAssembly easy, fast, and effective. + binaryen, C++ ile WebAssembly için yazılış derleyici altyapısı ve araç zinciri sunar. Binaryen, WebAssembly ile derlemeyi kolay, hızlı ve verimli yapmayı amaçlar. + https://github.com/WebAssembly/binaryen/archive/version_96.tar.gz + + cmake + meson + + + b43807a835fc878e5eefcb8b4a18aff62d7f4540.patch + + programming/library/binaryen/pspec.xml + + + binaryen + Extremely fast hash algorithm + + /usr/lib + /usr/share/doc + /usr/bin + /etc/profile.d/binaryen.sh + + + binaryen.sh + + + + binaryen-devel + Development files for binaryen + binaryen için geliştirme dosyaları + binaryen-devel, binaryen için geliştirme dosyalarını içerir. + + binaryen + + + /usr/include + + + + + 2020-09-07 + 96 + First pisi release. + Blue Devil + bluedevil@sctzine.com + + + glm @@ -231391,6 +231514,85 @@ to create header files and sources from protocol files. + + + ethtool + https://www.kernel.org/pub/software/network/ethtool/ + + Blue Devil + bluedevil@sctzine.com + + GPLv2 + app:console + hardware.misc + Utility to examine and tune ethernet-based network interfaces + Ethernet tabanlı ağ arayüzlerini tanımlamak ve ayarlamak için kullanılan bir yazılım + ethtool is used for querying and changing settings of an ethernet device. + Ethtool ağ aygıtınızın ayarlarını listelemeye ve bu ayarları değiştirmeye yarar. + https://mirrors.edge.kernel.org/pub/software/network/ethtool/ethtool-5.8.tar.xz + + libmnl-devel + + hardware/misc/ethtool/pspec.xml + + + ethtool + Utility to examine and tune ethernet-based network interfaces + + libmnl + + + /usr/share/doc + /usr/share/man + /usr/sbin + /usr/share/bash-completion + + + + + 2020-09-07 + 5.8 + Minor version bump. + Blue Devil + bluedevil@sctzine.com + + + 2020-07-22 + 5.7 + Minor version bump. + Blue Devil + bluedevil@sctzine.com + + + 2020-04-28 + 5.4 + Patch version bump. + Blue Devil + bluedevil@sctzine.com + + + 2019-11-04 + 5.3 + Ver. bump + Blue Devil + bluedevil@sctzine.com + + + 2016-02-18 + 4.2 + Version bump + İbrahim KARAGÜZEL + karaguzelibrahim@gmail.com + + + 2010-11-19 + 2.6.36 + First release + Onur Küçük + onur@pardus.org.tr + + + libftdi diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index 995c0d2c47..472a1f0a5f 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -eb31583b8c1830bb3fca6b9274666fab9981324c \ No newline at end of file +bbe6e394b5310b32e43d4e915c506e11a32cea85 \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index c7125d84c1..940a5cf28d 100644 Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index 8140c90a3d..07287177da 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -d8094f889eeaaf67ca123004e59474594d83dd45 \ No newline at end of file +871e54ee6be8ff57704393f376f6bcb6363c1601 \ No newline at end of file diff --git a/programming/debug/gdb-multiarch/actions.py b/programming/debug/gdb-multiarch/actions.py new file mode 100644 index 0000000000..9bd8e90d3b --- /dev/null +++ b/programming/debug/gdb-multiarch/actions.py @@ -0,0 +1,47 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + shelltools.system('sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure') + autotools.autoreconf("-vif") + pisitools.cflags.add("-Wno-stringop-truncation \ + -Wno-maybe-uninitialized") + pisitools.cxxflags.add("-Wno-maybe-uninitialized") + + shelltools.makedirs("build") + shelltools.cd("build") + shelltools.system("../configure \ + --disable-nls \ + --prefix=/build \ + --enable-multilib \ + --enable-interwork \ + --enable-targets=all \ + --enable-languages=all \ + --with-guile=guile-2.0 \ + --with-system-readline \ + --with-python=/usr/bin/python \ + --with-system-gdbinit=/etc/gdb/gdbinit") +#--disable-rpath +def build(): + shelltools.cd("build") + autotools.make() + +def install(): + shelltools.cd("build") + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + # to avoid conflict rename binaries + pisitools.dodir("/usr/bin") + pisitools.domove("/build/bin/gdb", "/usr/bin/", "gdb-multiarch") + pisitools.removeDir("build") + + # 2020-04-09 To Do + # Compile with Python3 \ No newline at end of file diff --git a/programming/debug/gdb-multiarch/pspec.xml b/programming/debug/gdb-multiarch/pspec.xml new file mode 100644 index 0000000000..f1283810a8 --- /dev/null +++ b/programming/debug/gdb-multiarch/pspec.xml @@ -0,0 +1,54 @@ + + + + + gdb-multiarch + http://www.gnu.org/software/gdb/ + + Blue DeviL + bluedevil@sctzine.com + + programming.debug + GPLv3 + app::console + The GNU Debugger for all gdb supported architectures (i386/arm/mips...). + gdb-multiarch, is a split of GDB(GNU Debugger) which is for gdb supported architectures (i386/arm/mips...). + https://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.xz + + texinfo + xz-devel + gdb-devel + mpfr-devel + expat-devel + python-devel + ncurses-devel + guile2.0-devel + readline-devel + + + + + gdb-multiarch + The GNU Debugger for all gdb supported architectures (i386/arm/mips...). + + gdb + mpfr + expat + python + guile2.0 + + + /usr/bin/gdb-multiarch + + + + + + 2020-04-09 + 9.2 + First pisi release + Blue DeviL + bluedevil@sctzine.com + + + \ No newline at end of file diff --git a/programming/debug/gdb-multiarch/translations.xml b/programming/debug/gdb-multiarch/translations.xml new file mode 100644 index 0000000000..eca5559598 --- /dev/null +++ b/programming/debug/gdb-multiarch/translations.xml @@ -0,0 +1,8 @@ + + + + gdb-multiarch + GDB(GNU Debugger) hata ayıklayıcısının desteklediği tüm mimariler için hata ayıklayıcısı. + gdb-multiarch i386/arm/mips gibi gdb'nin desteklediği tüm mimariler için hata ayıklayıcısı ve araçlarını sunar. + + \ No newline at end of file diff --git a/programming/debug/gdb/actions.py b/programming/debug/gdb/actions.py index 57ad471d82..ac2a028b72 100644 --- a/programming/debug/gdb/actions.py +++ b/programming/debug/gdb/actions.py @@ -4,41 +4,47 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import get from pisi.actionsapi import autotools from pisi.actionsapi import pisitools from pisi.actionsapi import shelltools -from pisi.actionsapi import get def setup(): - pisitools.dosed("config/override.m4", "2.64", "2.69") shelltools.system('sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure') - autotools.autoreconf("-vfi") - autotools.configure("--with-system-readline \ - --with-separate-debug-dir=/usr/lib/debug \ - --with-gdb-datadir=/usr/share/gdb \ - --with-pythondir=/usr/lib/%s/site-packages \ - --disable-nls \ - --disable-rpath \ - --with-python \ - --with-expat" % get.curPYTHON()) + + shelltools.makedirs("build") + shelltools.cd("build") + shelltools.system("../configure \ + --enable-tui \ + --prefix=/usr \ + --disable-nls \ + --with-python \ + --disable-rpath \ + --with-guile=guile-2.0 \ + --with-system-readline \ + --enable-source-highlight \ + --with-python=/usr/bin/python \ + --with-gdb-datadir=/usr/share/gdb \ + --with-system-gdbinit=/etc/gdb/gdbinit \ + --with-separate-debug-dir=/usr/lib/debug") def build(): + shelltools.cd("build") autotools.make() def install(): + shelltools.cd("build") autotools.rawInstall('DESTDIR="%s"' % get.installDIR()) - - for libdel in ["libbfd.a","libopcodes.a"]: + + # to prevent conflict with binutils delete these files: + for libdel in ["libbfd.a", "libopcodes.a", "libctf.a", "libctf-nobfd.a"]: pisitools.remove("/usr/lib/%s" % libdel) - # these are not necessary - #for info in ["bfd","configure","standards"]: - #pisitools.remove("/usr/share/info/%s.info" % info) - - pisitools.remove("/usr/share/info/bfd.info") - - for hea in ["ansidecl","symcat","dis-asm", "bfd_stdint", "diagnostics", "bfd", "bfdlink", "plugin-api"]: + for hea in ["ansidecl", "bfd", "bfdlink", "bfd_stdint", "diagnostics", "dis-asm", "plugin-api", "symcat", "ctf", "ctf-api"]: pisitools.remove("/usr/include/%s.h" % hea) - - pisitools.dodoc("README*", "MAINTAINERS", "COPYING*", "ChangeLog*") + + pisitools.remove("/usr/share/info/bfd.info") + + shelltools.cd("..") + pisitools.dodoc("README*", "COPYING*", "ChangeLog*") \ No newline at end of file diff --git a/programming/debug/gdb/pspec.xml b/programming/debug/gdb/pspec.xml index 8e19d43fff..d54f058f44 100644 --- a/programming/debug/gdb/pspec.xml +++ b/programming/debug/gdb/pspec.xml @@ -1,51 +1,53 @@ - + gdb - http://www.gnu.org/software/gdb/gdb.html + http://www.gnu.org/software/gdb/ PisiLinux Community admins@pisilinux.org + programming.debug GPLv3 app:console GNU debugger GDB, the GNU Project debugger, allows you to see what is going on 'inside' another program while it executes -- or what another program was doing at the moment it crashed. - mirrors://gnu/gdb/gdb-8.3.tar.xz + https://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.xz - xz-devel texinfo - guile-devel + xz-devel + mpfr-devel expat-devel python-devel - readline-devel ncurses-devel + guile2.0-devel + readline-devel + source-highlight-devel gdb + GNU debugger xz - libgcc - guile expat + libgcc python - readline ncurses + guile2.0 + readline + source-highlight - /usr/bin /usr/lib - /usr/share/doc/gdb - /usr/share/gdb - /usr/share/info /usr/share/man + /usr/share/gdb + /usr/bin + /usr/share/info + /usr/share/doc/gdb - - gstack.1 - @@ -60,6 +62,13 @@ + + 2020-09-07 + 9.2 + Major version bump. + Blue Devil + bluedevil@sctzine.com + 2020-01-07 8.3 @@ -103,4 +112,4 @@ ertugrulerata@gmail.com - + \ No newline at end of file diff --git a/programming/debug/gdb/translations.xml b/programming/debug/gdb/translations.xml index 2166142c83..6361bfbd36 100644 --- a/programming/debug/gdb/translations.xml +++ b/programming/debug/gdb/translations.xml @@ -2,8 +2,8 @@ gdb - GDB, GNU Proje hata ayıklama aracı, çalışır durumdaki başka bir programın `içinde' olan biteni görmenizi, veya başka bir programın çöktüğü anda ne yapıyor olduğunu bilmenizi sağlar. GNU hata ayıklayıcısı + GDB, GNU Proje hata ayıklama aracı, çalışır durumdaki başka bir programın `içinde' olan biteni görmenizi, veya başka bir programın çöktüğü anda ne yapıyor olduğunu bilmenizi sağlar. Depurador GNU GDB, el depurador del proyecto GNU permite ver lo que está pasando 'en el interior de' otro programa mientras ejecuta -- o lo que estaba haciendo cuando quedó colgado. @@ -11,6 +11,8 @@ gdb-devel gdb için geliştirme dosyaları + gdb-devel, gdb için geliştirme dosyalarını içerir. Development files for gdb + gdb-devel, provides development files for gdb. \ No newline at end of file diff --git a/programming/library/binaryen/actions.py b/programming/library/binaryen/actions.py new file mode 100644 index 0000000000..97a0fdaf25 --- /dev/null +++ b/programming/library/binaryen/actions.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools +from pisi.actionsapi import mesontools + +def setup(): + cmaketools.configure("-Bbuild \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=/usr") + +def build(): + mesontools.build() + +def install(): + mesontools.install() + pisitools.dodoc("LICENSE", "README*") \ No newline at end of file diff --git a/programming/library/binaryen/files/b43807a835fc878e5eefcb8b4a18aff62d7f4540.patch b/programming/library/binaryen/files/b43807a835fc878e5eefcb8b4a18aff62d7f4540.patch new file mode 100644 index 0000000000..db8cda5471 --- /dev/null +++ b/programming/library/binaryen/files/b43807a835fc878e5eefcb8b4a18aff62d7f4540.patch @@ -0,0 +1,193 @@ +From b43807a835fc878e5eefcb8b4a18aff62d7f4540 Mon Sep 17 00:00:00 2001 +From: Alon Zakai +Date: Wed, 19 Aug 2020 14:55:46 -0700 +Subject: [PATCH] wasm-emscripten-finalize: Make EM_ASM modifications optional + (#3044) + +wasm-emscripten-finalize renames EM_ASM calls to have the signature in +the name. This isn't actually useful - emscripten doesn't benefit from that. I +think it was optimized in fastcomp, and in upstream we copied the general +form but not the optimizations, and then EM_JS came along which is +easier to optimize anyhow. + +This PR makes those changes optional: when not doing them, it just +leaves the calls as they are. Emscripten will need some changes to +handle that, but those are simple. + +For convenience this adds a flag to "minimize wasm changes". The idea +is that this flag avoids needing a double-roll or other inconvenience +as the changes need to happen in tandem on the emscripten side. +The same flag can be reused for later changes similar to this one. +When they are all done we can remove the flag. (Note how the code +ifdefed by the flag can be removed once we no longer need the old +way of doing things - that is, the new approach is simpler on the +binaryen side). + +See #3043 +--- + src/tools/wasm-emscripten-finalize.cpp | 11 +++++++ + src/wasm-emscripten.h | 4 +++ + src/wasm/wasm-emscripten.cpp | 40 +++++++++++++++++--------- + 3 files changed, 42 insertions(+), 13 deletions(-) + +diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp +index ce1da4c9e1..960c6870cf 100644 +--- a/src/tools/wasm-emscripten-finalize.cpp ++++ b/src/tools/wasm-emscripten-finalize.cpp +@@ -56,6 +56,7 @@ int main(int argc, const char* argv[]) { + bool checkStackOverflow = false; + uint64_t globalBase = INVALID_BASE; + bool standaloneWasm = false; ++ bool minimizeWasmChanges = false; + + ToolOptions options("wasm-emscripten-finalize", + "Performs Emscripten-specific transforms on .wasm files"); +@@ -163,6 +164,15 @@ int main(int argc, const char* argv[]) { + [&standaloneWasm](Options* o, const std::string&) { + standaloneWasm = true; + }) ++ .add("--minimize-wasm-changes", ++ "", ++ "Modify the wasm as little as possible. This is useful during " ++ "development as we reduce the number of changes to the wasm, as it " ++ "lets emscripten control how much modifications to do.", ++ Options::Arguments::Zero, ++ [&minimizeWasmChanges](Options* o, const std::string&) { ++ minimizeWasmChanges = true; ++ }) + .add_positional("INFILE", + Options::Arguments::One, + [&infile](Options* o, const std::string& argument) { +@@ -222,6 +232,7 @@ int main(int argc, const char* argv[]) { + EmscriptenGlueGenerator generator(wasm); + generator.setStandalone(standaloneWasm); + generator.setSideModule(sideModule); ++ generator.setMinimizeWasmChanges(minimizeWasmChanges); + + generator.fixInvokeFunctionNames(); + +diff --git a/src/wasm-emscripten.h b/src/wasm-emscripten.h +index 395c76a160..fe8b8ed36a 100644 +--- a/src/wasm-emscripten.h ++++ b/src/wasm-emscripten.h +@@ -35,6 +35,9 @@ class EmscriptenGlueGenerator { + + void setStandalone(bool standalone_) { standalone = standalone_; } + void setSideModule(bool sideModule_) { sideModule = sideModule_; } ++ void setMinimizeWasmChanges(bool minimizeWasmChanges_) { ++ minimizeWasmChanges = minimizeWasmChanges_; ++ } + + Function* generateMemoryGrowthFunction(); + Function* generateAssignGOTEntriesFunction(); +@@ -71,6 +74,7 @@ class EmscriptenGlueGenerator { + bool useStackPointerGlobal; + bool standalone; + bool sideModule; ++ bool minimizeWasmChanges; + // Used by generateDynCallThunk to track all the dynCall functions created + // so far. + std::unordered_set sigs; +diff --git a/src/wasm/wasm-emscripten.cpp b/src/wasm/wasm-emscripten.cpp +index e4664e645c..f4da0e6e7a 100644 +--- a/src/wasm/wasm-emscripten.cpp ++++ b/src/wasm/wasm-emscripten.cpp +@@ -320,6 +320,7 @@ std::string proxyingSuffix(Proxying proxy) { + + struct AsmConstWalker : public LinearExecutionWalker { + Module& wasm; ++ bool minimizeWasmChanges; + std::vector
segmentOffsets; // segment index => address offset + + struct AsmConst { +@@ -334,8 +335,9 @@ struct AsmConstWalker : public LinearExecutionWalker { + // last sets in the current basic block, per index + std::map sets; + +- AsmConstWalker(Module& _wasm) +- : wasm(_wasm), segmentOffsets(getSegmentOffsets(wasm)) {} ++ AsmConstWalker(Module& _wasm, bool minimizeWasmChanges) ++ : wasm(_wasm), minimizeWasmChanges(minimizeWasmChanges), ++ segmentOffsets(getSegmentOffsets(wasm)) {} + + void noteNonLinear(Expression* curr); + +@@ -426,7 +428,9 @@ void AsmConstWalker::visitCall(Call* curr) { + int32_t address = value->value.geti32(); + auto code = codeForConstAddr(wasm, segmentOffsets, address); + auto& asmConst = createAsmConst(address, code, sig, importName); +- fixupName(curr->target, baseSig, asmConst.proxy); ++ if (!minimizeWasmChanges) { ++ fixupName(curr->target, baseSig, asmConst.proxy); ++ } + } + + Proxying AsmConstWalker::proxyType(Name name) { +@@ -439,6 +443,9 @@ Proxying AsmConstWalker::proxyType(Name name) { + } + + void AsmConstWalker::visitTable(Table* curr) { ++ if (minimizeWasmChanges) { ++ return; ++ } + for (auto& segment : curr->segments) { + for (auto& name : segment.data) { + auto* func = wasm.getFunction(name); +@@ -515,24 +522,30 @@ void AsmConstWalker::addImports() { + } + } + +-AsmConstWalker fixEmAsmConstsAndReturnWalker(Module& wasm) { ++static AsmConstWalker fixEmAsmConstsAndReturnWalker(Module& wasm, ++ bool minimizeWasmChanges) { + // Collect imports to remove + // This would find our generated functions if we ran it later + std::vector toRemove; +- for (auto& import : wasm.functions) { +- if (import->imported() && import->base.hasSubstring(EM_ASM_PREFIX)) { +- toRemove.push_back(import->name); ++ if (!minimizeWasmChanges) { ++ for (auto& import : wasm.functions) { ++ if (import->imported() && import->base.hasSubstring(EM_ASM_PREFIX)) { ++ toRemove.push_back(import->name); ++ } + } + } + + // Walk the module, generate _sig versions of EM_ASM functions +- AsmConstWalker walker(wasm); ++ AsmConstWalker walker(wasm, minimizeWasmChanges); + walker.process(); + +- // Remove the base functions that we didn't generate +- for (auto importName : toRemove) { +- wasm.removeFunction(importName); ++ if (!minimizeWasmChanges) { ++ // Remove the base functions that we didn't generate ++ for (auto importName : toRemove) { ++ wasm.removeFunction(importName); ++ } + } ++ + return walker; + } + +@@ -754,7 +767,8 @@ std::string EmscriptenGlueGenerator::generateEmscriptenMetadata( + std::stringstream meta; + meta << "{\n"; + +- AsmConstWalker emAsmWalker = fixEmAsmConstsAndReturnWalker(wasm); ++ AsmConstWalker emAsmWalker = ++ fixEmAsmConstsAndReturnWalker(wasm, minimizeWasmChanges); + + // print + commaFirst = true; +@@ -810,7 +824,7 @@ std::string EmscriptenGlueGenerator::generateEmscriptenMetadata( + commaFirst = true; + ModuleUtils::iterImportedFunctions(wasm, [&](Function* import) { + if (emJsWalker.codeByName.count(import->base.str) == 0 && +- !import->base.startsWith(EM_ASM_PREFIX.str) && ++ (minimizeWasmChanges || !import->base.startsWith(EM_ASM_PREFIX.str)) && + !import->base.startsWith("invoke_")) { + if (declares.insert(import->base.str).second) { + meta << nextElement() << '"' << import->base.str << '"'; diff --git a/programming/library/binaryen/files/binaryen.sh b/programming/library/binaryen/files/binaryen.sh new file mode 100644 index 0000000000..03c601b085 --- /dev/null +++ b/programming/library/binaryen/files/binaryen.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export BINARYEN_ROOT="/usr" diff --git a/programming/library/binaryen/pspec.xml b/programming/library/binaryen/pspec.xml new file mode 100644 index 0000000000..eb50a884ba --- /dev/null +++ b/programming/library/binaryen/pspec.xml @@ -0,0 +1,61 @@ + + + + + binaryen + https://github.com/WebAssembly/binaryen + + Blue Devil + bluedevil@sctzine.com + + programming.library + Apache2.0 + app:console + library + Compiler infrastructure and toolchain library for WebAssembly + Binaryen is a compiler and toolchain infrastructure library for WebAssembly, written in C++. It aims to make compiling to WebAssembly easy, fast, and effective. + https://github.com/WebAssembly/binaryen/archive/version_96.tar.gz + + cmake + meson + + + b43807a835fc878e5eefcb8b4a18aff62d7f4540.patch + + + + + binaryen + Extremely fast hash algorithm + + /usr/lib + /usr/share/doc + /usr/bin + /etc/profile.d/binaryen.sh + + + binaryen.sh + + + + + binaryen-devel + Development files for binaryen + + binaryen + + + /usr/include + + + + + + 2020-09-07 + 96 + First pisi release. + Blue Devil + bluedevil@sctzine.com + + + \ No newline at end of file diff --git a/programming/library/binaryen/translations.xml b/programming/library/binaryen/translations.xml new file mode 100644 index 0000000000..3cd7c77aca --- /dev/null +++ b/programming/library/binaryen/translations.xml @@ -0,0 +1,14 @@ + + + + binaryen + C++ ile WebAssembly için yazılış derleyici altyapısı ve araç zinciri. + binaryen, C++ ile WebAssembly için yazılış derleyici altyapısı ve araç zinciri sunar. Binaryen, WebAssembly ile derlemeyi kolay, hızlı ve verimli yapmayı amaçlar. + + + + binaryen-devel + binaryen için geliştirme dosyaları + binaryen-devel, binaryen için geliştirme dosyalarını içerir. + + \ No newline at end of file