-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lifting the gotosocial amd64 restriction #143
Comments
I've followed that discussion, but didn't see that there's a go build-tag for that now. |
@daenney is the restriction limited to 64bits still, or what's the limitation now? |
The tag is now turned on as an option by default in the pkgsrc package, can be turned off in custom builds. |
It should be fine on 32-bit and 64-bit platforms currently. The wazero WASM runtime should be fine, and afaik there shouldn't be any issues with the SQLite driver either. So I would expect netbsd/386, netbsd/amd64, netbsd/arm and netbsd/arm64 to work. However, I don't think anyone's tested 32-bit GtS on anything other than Linux. It's the only platform we ship 32-bits builds for as well, and only on ARM. |
for more architecture support. # - wasmsqlite3: uses SQLite through WASM instead of the C-to-Go transpilation (experimental) #143: There was initially an issue with that driver on the BSD family but that was resolved in the driver before we cut this release. It's safe to use and expected to perform just fine. We're currently keeping it behind a go build tag, wasmsqlite3, and we do consider it slightly experimental. However, the plan is to switch to this Soon™ and a number of people including two of the maintainers run this build on their own instances without any issues.
This is a point release intended to clear up a couple of CVEs and apply point fixes that have been accumulating since 5.2.1 There are a few unresolved (but minor) memory leaks related to design issues in the API that still need to be resolved. Expect those fixes in the next release. Code Fixes ---------- * Fixes for CVE-2023-48161, CVE-2022-28506, * Address SF issue #138 Documentation for obsolete utilities still installed * Address SF issue #139: Typo in "LZW image data" page ("110_2 = 4_10") * Address SF issue #140: Typo in "LZW image data" page ("LWZ") * Address SF issue #141: Typo in "Bits and bytes" page ("filed") * Note as already fixed SF issue #143: cannot compile under mingw * Address SF issue #144: giflib-5.2.1 cannot be build on windows and other platforms using c89 * Address SF issue #145: Remove manual pages installation for binaries that are not installed too * Address SF issue #146: [PATCH] Limit installed man pages to binaries, move giflib to section 7 * Address SF issue #147 [PATCH] Fixes to doc/whatsinagif/ content * Address SF issue #148: heap Out of Bound Read in gif2rgb.c:298 DumpScreen2RGB * Declared no-info on SF issue #150: There is a denial of service vulnerability in GIFLIB 5.2.1 * Declared Won't-fix on SF issue 149: Out of source builds no longer possible * Address SF issue #151: A heap-buffer-overflow in gif2rgb.c:294:45 * Address SF issue #152: Fix some typos on the html documentation and man pages * Address SF issue #153: Fix segmentation faults due to non correct checking for args * Address SF issue #154: Recover the giffilter manual page * Address SF issue #155: Add gifsponge docs * Address SF issue #157: An OutofMemory-Exception or Memory Leak in gif2rgb * Address SF issue #158: There is a null pointer problem in gif2rgb * Address SF issue #159 A heap-buffer-overflow in GIFLIB5.2.1 DumpScreen2RGB() in gif2rgb.c:298:45 * Address SF issue #163: detected memory leaks in openbsd_reallocarray giflib/openbsd-reallocarray.c * Address SF issue #164: detected memory leaks in GifMakeMapObject giflib/gifalloc.c * Address SF issue #166: a read zero page leads segment fault in getarg.c and memory leaks in gif2rgb.c and gifmalloc.c * Address SF issue #167: Heap-Buffer Overflow during Image Saving in DumpScreen2RGB Function at Line 321 of gif2rgb.c
1.8.2 (2024-09-24) What's Changed * Drop commented-out line by @olleolleolle in #108 * Add Ruby 3.1 & 3.2 to CI matrix by @tricknotes in #109 * Fix/redos by @ooooooo-q in #114 * Raise HTTPStatus::BadRequest for requests with invalid/duplicate content-length headers by @jeremyevans in #120 * Bump actions/checkout from 3 to 4 by @dependabot in #121 * Improve CI by @hsbt in #123 * Fix WEBrick::TestFileHandler#test_short_filename test not working on mswin by @KJTsanaktsidis in #128 * Fix bug chunk extension detection by @jeremyevans in #125 * Fix CI. by @ioquatix in #131 * Merge multiple cookie headers, preserving semantic correctness. by @ioquatix in #130 * Test on macos-latest by @byroot in #132 * Require CRLF line endings in request line and headers by @jeremyevans in #138 * Prefer squigly heredocs. by @ioquatix in #143 * Only strip space and horizontal tab in headers by @jeremyevans in #141 * Treat missing CRLF separator after headers as an EOFError by @jeremyevans in #142 * Return 400 response for chunked requests with unexpected data after chunk by @jeremyevans in #136 * Fix reference to URI::REGEXP::PATTERN::HOST by @casperisfine in #144 * Prevent request smuggling by @jeremyevans in #146 New Contributors * @tricknotes made their first contribution in #109 * @ooooooo-q made their first contribution in #114 * @KJTsanaktsidis made their first contribution in #128 * @byroot made their first contribution in #132 * @casperisfine made their first contribution in #144
Upstream changes: ## 2024 09 03 - Add partial support for Syntax::Operator::In and Syntax::Keyword::Match (see git #162). - Add --timeout-in-seconds=n, or -tos=n. When the standard input supplies the input stream, and the input has not been received within n seconds, perltidy will end with a timeout message. The intention is to catch a situation where perltidy is accidentally invoked without a file to process and therefore waits for input from the system standard input (stdin), which never arrives. The default is n=10. This check can be turned off with -tos=0. - Add parameter --closing-side-comment-exclusion-list=string, or -cscxl=string, where string is a list of block types to exclude for closing side comment operations. Also, closing side comments now work for anonymous subs if a --closing-side-comment-list (-cscl) is not specified, and when 'asub' is requested with -cscl=asub. Use -cscxl=asub to prevent this. - Include check for unused constants in --dump-unusual-variables and --warn-variable-types (new issue type 'c'). Also expand checks to cover variables introduced with 'use vars'. - Include signature variables in --dump-unusual-variables and --warn-variable-types; see git #158. - Add logical xor operator ^^ available in perl version 5.40, as noted in git #157. - Keyword 'state' now has default space before a paren, like 'my'. Previously there was no space and no control. So the default is now "state ($x)". This space can be removed with -nsak='state'. - Add options --add-lone-trailing-commas, -altc and --delete-lone-trailing-commas, -dltc, to provide control over adding and deleting the only comma in a list. See discussion in git #143 and the updated manual. - Add options --dump-mismatched-returns (or -dmr) and --warn-mismatched-returns (or -wmr). These options report function calls where the number of values requested may disagree with sub return statements. The -dump version writes the results for a single file to standard output and exits: perltidy -dmr somefile.pl >results.txt The -warn version formats as normal but reports any issues as warnings in the error file: perltidy -wmr somefile.pl The -warn version may be customized with the following additional parameters if necessary to avoid needless warnings: --warn-mismatched-return-types=s (or -wmrt=s), --warn-mismatched-return-exclusion-list=s (or -wmrxl=s) where 's' is a control string. These are explained in the manual. - Updates for issue git #151: (1) --warn-variable-types=u is now okay if a named file is processed. (2) --warn-variable-exclusion-list=s now allows leading and/or trailing * on variable names to allow a wildcard match. For example -wvxl='*_unused' is okay and would match $var1_unused and $var2_unused. (3) --dump-unusual-variables now outputs the filename. - A option was added to filter unimplemented parameters from perltidy configuration files, suggested in git #146. It works like this: if a line in the config file begins with three dashes followed by a parameter name (rather than two dashes), then the line will be removed if the parameter is unknown. Otherwise, a dash will be removed to make the line valid. - Parameters --dump-mismatched-args (or -dma) and --warn-mismatched-args (or -wma) have been updated to catch more arg count issues. - Fixed issue git #143, extend -add-trailing-commas to apply to a list with just a fat comma. - The minimum perl version is 5.8.1. Previously it was 5.8.0, which was not correct because of the use of utf8::is_utf8. - Fixed issue git #142, test failure installing on perl versions before version 5.10. The error caused the new parameter -interbracket-arrow-style=s not to work. Except for this limitation, Version 20240511 will work on older perl versions.
(NEWS.md is not updated to 1.1.7) # s2 1.1.5 * fix compiler problem on Alpine 3.19.0 (#251) # s2 1.1.4 * Updated more tests to pass on a forthcoming waldo package update (#237). # s2 1.1.3 * Made a test less strict to pass tests on Alpine Linux (#218, #220). * Updated tests to pass on forthcoming waldo package update (@hadley, #226). * Updated vendored file modifications to suppress a multi-line comment warning on gcc (#214, #227). # s2 1.1.2 - Fixed test for `as.data.frame()` for `s2_cell()` to comply with new wk version and the latest release of R (#207). - Fix unary union of an empty multipolygon (#208). - Added `#include <cstdint>` to an Abseil header to fix compilation with gcc13 (#209, #210). - Update internal Abseil to 20220623.1 LTS (#213). # s2 1.1.1 - Fix new CRAN check warnings (#202, #203). # s2 1.1.0 - Fix for s2 build on Windows with R <= 3.6.x (#142) - Fix for s2 build on MacOS with multiple openssl versions (#142, #145, #146) - Fix for s2 build on 32-bit openssl (#143, #147) - Added `s2_convex_hull()` and `s2_convex_hull_agg()` (@spiry34, #150, #151, #163). - Added `max_distance` argument to `s2_closest_edges()`, making distance-constrained k-nearest neighbours possible (#125, #156, #162). - Added a spherical `s2_point_on_surface()` implementation for polygons (@kylebutts, #152, #161) - Added a `s2_cell_union()` vector class to represent cell coverings and operators to generate them from an s2 geography vector (e.g., `s2_covering_cell_ids()`). Cell unions are useful as compact representations of spherical geometry and can be used like a bounding box to determine a possible intersection with one or more geographies (#85, #94, #164). - Refactored the simple features compatability layer into a standalone code base for potential future use in a Python adaptation (#165). - Migrate input and output to non-deprecated wk package handlers and writers (#101, #165, #168). - Make `s2_union_agg()` more efficient using a recursive merge strategy (#103, #165). - Fix package build on Raspberry Pi (#169, #171). - Fix warning on clang14 when compiling with `-O0` (#167, #172). - Added `s2_prepared_dwithin()` and fixed `s2_dwithin_matrix()` such that it efficiently uses the index (#157, #174). - Updated `s2_lnglat()` and `s2_point()` to use `wk::xy()` (a record-style vctr) to represent point coordinates. This is much faster than the previous representation which relied on `list()` of external pointers (#181, #159). - Added arguments `planar` and `tessellate_tol_m` to `s2_as_text()`, `s2_as_binary()`. Use `planar = TRUE` and set `tessellate_tol_m` to the maximum error for your use-case to automatically subdivide edges to preserve or "straight" lines in Plate carree projection on import (#182). - Added arguments `planar` and `tessellate_tol_m` to `s2_geog_from_text()`, and `s2_geog_from_wkb()`. Use `planar = TRUE` and set `tessellate_tol_m` to the maximum error for your use-case to automatically subdivide edges to ensure or "straight" lines in Plate carree projection on export (#182). # s2 1.0.7 - Update the internal copy of s2geometry to use updated Abseil, fixing a compiler warning on gcc-11 (#79, #134).
# wk 0.9.4 - Ensure package tests pass against sf 1.0-18 (#224, #225). # wk 0.9.3 - Ensure package compiles with `STRICT_R_HEADERS=1` (#222). # wk 0.9.2 - Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213) - Fix wk_trans inconsistent meta flags handling (#217) - Ensure package builds on arm64 for Windows (#220) # wk 0.9.1 - Fix format strings/arguments for R-devel (#209). # wk 0.9.0 ## Breaking changes - The common well-known binary representation of POINT EMPTY (i.e., POINT (nan nan)) is now handled as POINT EMPTY allowing empty points to roundtrip through `wkb()` vectors (#196, #204). - `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This preserves the invariant that null features can also be identified using `is.na()` (#205). - `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))` now returns `FALSE`. This means that both EMPTY and null points can roundtrip through `xy()` (#205). ## Bugfixes and improvements - `wk_meta()` now contains a new column `is_empty`, which is `TRUE` for any feature that contains at least one non-empty coordinate. This allows more efficient detection of features with zero coordinates (#197, #199). - Updated PROJ data to use the latest pull of the database packaged with PROJ 9.3.0 (#201). - The wk package now compiles once again on gcc 4.8 (#203, #206). - Fixed `sfc_writer()` to correctly attach the `classes` attribute to sfc output with mixed geometry types (#195). - Function `sfc_writer()` now has an argument `promote_multi` to write any input as the MULTI variant. This makes it more likely that an input vector will be read as a single geometry type (#198). - The `wk_collection_filter()` now correctly increments the `part_id` when calling the child handler (@brownag, #194). # wk 0.8.0 * Added `wkb_to_hex()` (@anthonynorth, #183). * Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs (@anthonynorth, #183). * Fixed `sfc_writer()`, which had returned NULL for some inputs (e.g., via `wk_collection()`) (@anthonynorth, #182, #186). * Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings (@anthonynorth, #188). * New replacement-function mode for `wk_coords<-()` for in-place modification of coordinates (@mdsumner, #187). * New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187). # wk 0.7.3 * Fix tests for updated waldo package (#178). # wk 0.7.2 * Fix use-after-free warnings. # wk 0.7.1 * Fix implicit reliance on error `as.data.frame.default()`, which no longer occurs in r-devel (#166). # wk 0.7.0 * Remove legacy headers that are no longer used by any downstream package (#146). * `validate_wk_wkt()` now errors for an object that does not inherit from 'wk_wkt' (#123, #146). * Added `wk_crs_projjson()` to get a JSON representation of a CRS object. To make lookup possible based on shortcut-style CRS objects (e.g., `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and `wk_proj_crs_json` that contain cached versions of rendered PROJJSON based on the latest PROJ version (#147). * Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136, #147). * Conversion to sf now uses the `sfc_writer()` for all wk classes, making conversions faster and fixing at least one issue with conversion of NA geometries to sf (#135). * `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types more reliably (#142, #143, #149). * Exported EMPTY geometries to well-known text now include dimension (e.g., `POINT Z EMPTY`) (#141, #150). * Fixed bug where `wk_polygon()` doubled some points when the input contained closed rings (#134, #151). * Fixed bug where `wk_count()` exposed uninitialized values for empty input (#139, #153). * The `xy_writer()` now opportunistically avoids allocating vectors for Z or M values unless they are actually needed (#131, #154). * Added example WKT for all geometry types and dimensions plus helper `wk_example()` to access them and set various properties (#155). * Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158). * Removed `wk_chunk_map_feature()` in favour of using chunking strategies directly (#132, #159). * Optimized `wk_coords()` for `xy()` objects (#138, #160). * Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`, `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`, `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()` (#144, #161). * Added rectangle operators `rct_intersects()`, `rct_contains()`, and `rct_intersection()` (#161). # wk 0.6.0 * Fixed `wk_affine_rescale()` to apply the translate and scale operations in the correct order (#94). * Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support a chunk + apply workflow when working with large vectors (#101, #107). * C and R code was rewritten to avoid materializing ALTREP vectors (#103, #109). * Added a `wk_crs_proj_definition()` generic for foreign CRS objects (#110, #112). * Added `wk_crs_longlat()` helper to help promote authority-compliant CRS choices (#112). * Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic` in `wkt()` and `wkb()` as a flag for objects whose edges must be interpolated along a spherical/ellipsoidal trajectory (#112). * Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry vectors for better integration with sf (#113, #114). * Refactored well-known text parser to be more reusable and faster (#115, #104). * Minor performance enhancement for `is.na()` and `validate_wk_wkb()` when called on a very long `wkb()` vector (#117). * Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed for most valid objects (#119). * Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise bounding boxes (#120, #122). * Fixed headers and tests to pass on big endian systems (#105, #122). * Incorporated the geodesic attribute into vctrs methods, data frame columns, and bbox/envelope calculation (#124, #125). * Fix `as_xy()` for nested data frames and geodesic objects (#126, #128). * Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`, and `wkt_format()` (#129). * `wk_plot()` is now an S3 generic (#130). # wk 0.5.0 * Fixed bugs relating to the behaviour of wk classes as vectors (#64, #65, #67, #70). * `crc()` objects are now correctly exported as polygons with a closed loop (#66, #70). * Added `wk_vertices()` and `wk_coords()` to extract individual coordinate values from geometries with optional identifying information. For advanced users, the `wk_vertex_filter()` can be used as part of a pipeline to export coordinates as point geometries to another handler (#69, #71). * Added `wk_flatten()` to extract geometries from collections. For advanced users, the `wk_flatten_filter()` can be used as part of a pipeline (#75, #78). * `options("max.print")` is now respected by all vector classes (#72, #74). * Moved implementation of plot methods from wkutils to wk to simplify the dependency structure of both packages (#80, #76). * Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()` to construct polygons, lines, and collections. For advanced users, `wk_polygon_filter()`, `wk_linestring_filter()`, and `wk_collection_filter()` can be used as part of a pipeline (#77, #84). * Added a C-level transform struct that can be used to simplify the the common pattern of transforming coordinates. These structs can be created by other packages; however, the `wk_trans_affine()` and `wk_trans_set()` transforms are also built using this feature. These are run using the new `wk_transform()` function and power the new `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`, functions (#87, #88, #89). # wk 0.4.1 * Fix LTO and MacOS 3.6.2 check errors (#61). # wk 0.4.0 * Removed `wksxp()` in favour of improved `sf::st_sfc()` support (#21). * Rewrite existing readers, writers, and handlers, using a new C API (#13). * Use new C API in favour of header-only approach for all wk functions (#19, #22). * Use cpp11 to manage safe use of callables that may longjmp from C++. * Vector classes now propagate `attr(, "crs")`, and check that operations that involve more than one vector have compatable CRS objects as determined by `wk_crs_equal()`. * Added an R-level framework for other packages to implement wk readers and handlers: `wk_handle()`, `wk_translate()`, and `wk_writer()` (#37). * Added a native reader and writer for `sf::st_sfc()` objects and implemented R-level generics for sfc, sfg, sf, and bbox objects (#28, #29, #38, #45). * Implement `crc()` vector class to represent circles (#40). * Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42). * Refactored unit tests reflecting use of the new API and for improved test coverage (#44, #45, #46). * Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to inspect properties of vectors (#53). * Modified all internal handlers such that they work with vectors of unknown length (#54). # wk 0.3.4 * Fixed reference to `wkutils::plot.wk_wksxp()`, which no longer exists. # wk 0.3.3 * Fixed WKB import of ZM geometries that do not use EWKB. * Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes to efficiently store point geometries. * Added the `rct()` vector class to efficiently store two-dimensional rectangles. * Fixed the CRAN check failure caused by a circular dependency with the wkutils package. * Added S3 methods to coerce sf objects to and from `wkt()`, `wkb()` and `wksxp()`. # wk 0.3.2 * Fixed EWKB output for collections and multi-geometries that included SRID (#3). * Fixed CRAN check errors related to exception handling on MacOS/R 3.6.2. # wk 0.3.1 * Added a `NEWS.md` file to track changes to the package.
2.3.0 (2024-12-05) Minor Enhancements * Simplify checking if an archive type is enabled (#149) * Memoize relative_path attribute of archive pages (#153) * Memoize date attribute of date-type archive pages (#154) * Allow creating slugs for emoji characters. (#129) * Use Liquid drop to expose attributes to templates (#158) Bug Fixes * Return unless 'jekyll-archives' config is a Hash (#139) * Include LICENSE in built gem (#180) Internal Refactors * Initialize Archives generator with a hash (#135) * Remove support for legacy Jekyll versions (#136) * Read-in site's tags and categories attributes (#137) * Use private helper to append enabled archive type (#150) * Access nested Hash values with Hash#dig (#151) * Generate custom post_attr_hash with private helper (#152) Development Fixes * Migrate CI to GitHub Actions (#177) * Add style_check job to CI workflow (#178) * Add workflow to release gem via GitHub Actions (#179) Documentation Fixes * Substitute 'gems' with 'plugins' (#143)
Since GtS 0.16.0 there is a way to build with a SQLite driver that we access through WASM, which would lift the amd64 restriction currently in place as a consequence of using the modernc transpiled driver:
pkgsrc/www/gotosocial/Makefile
Lines 69 to 78 in eaf7753
There was initially an issue with that driver on the BSD family but that was resolved in the driver before we cut this release. It's safe to use and expected to perform just fine.
We're currently keeping it behind a go build tag,
wasmsqlite3
, and we do consider it slightly experimental. However, the plan is to switch to this Soon™ and a number of people including two of the maintainers run this build on their own instances without any issues.I'm not familiar enough with how pkgsrc works, but if there's some kind of way to give people the option to try it out if they want to run on aarch64, this could be a way of achieving that already before the next release.
Getting any feedback on whether this build works out well for folks running it on NetBSD would also be very helpful.
// cc @nikkicoon
The text was updated successfully, but these errors were encountered: