{"id":16604706,"url":"https://github.com/jonaski/libgnurx","last_synced_at":"2026-04-21T19:34:32.271Z","repository":{"id":122880416,"uuid":"390870344","full_name":"jonaski/libgnurx","owner":"jonaski","description":":ox: regex functionality from glibc extracted into a separate library","archived":false,"fork":false,"pushed_at":"2021-07-31T17:37:38.000Z","size":150,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-09T04:21:41.275Z","etag":null,"topics":["regex","regex-engine"],"latest_commit_sha":null,"homepage":"https://github.com/jonaski/libgnurx","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonaski.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING.LIB","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-29T23:02:43.000Z","updated_at":"2021-07-31T17:37:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"93fcbbb5-66c1-4c8f-8793-aa79fd13c710","html_url":"https://github.com/jonaski/libgnurx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jonaski/libgnurx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonaski%2Flibgnurx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonaski%2Flibgnurx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonaski%2Flibgnurx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonaski%2Flibgnurx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonaski","download_url":"https://codeload.github.com/jonaski/libgnurx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonaski%2Flibgnurx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32106733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["regex","regex-engine"],"created_at":"2024-10-12T00:58:57.560Z","updated_at":"2026-04-21T19:34:32.245Z","avatar_url":"https://github.com/jonaski.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":":ox: libgnurx\n=============\n\nThis is the regex functionality from glibc 2.33 extracted into a\nseparate library, for Win32. The original port was based on glibc\n2.5, and the original README file (recorded below) is still of\nhigh validity.\n\nUpdated to glibc 2.33 by [jonaski](https://github.com/jonaski)\n\nOriginal regex from glibc 2.22 by:\n\n--Timothy Gu  \u003ctimothygu99@gmail.com\u003e\n\nThis is the regex functionality from glibc 2.5 extracted into a\nseparate library, for Win32.  It may be built, from the sources\nprovided, using the command sequence:--\n\n  ./configure [--options...] \u0026\u0026 make\n\nFor a list of available configuration options, run:--\n\n  ./configure --help\n\nAfter building, as above, the resultant DLL, and optionally the\nassociated development kit, may be installed by:--\n\n  make install\n\nwhile redistributable binary DLL and development library kits may\nbe created by:--\n\n  make dist\n\n\nThe original sources, on which this port is based, remain\ncopyright of their respective authors, or of the Free Software\nFoundation Inc., as indicated in individual file headers; all are\nredistributed with permission, as granted by the GNU Lesser\nGeneral Public License.\n\nThis is free software.  It is provided AS IS, in the hope that\nit may be useful, but WITHOUT WARRANTY OF ANY KIND, not even an\nIMPLIED WARRANTY of MERCHANTABILITY, nor of FITNESS FOR ANY\nPARTICULAR PURPOSE.\n\nPermission is granted to redistribute this software, either\n\"as is\" or in modified form, under the terms of the GNU Lesser\nGeneral Public License, as published by the Free Software\nFoundation; either version 2.1, or (at your option) any later\nversion.\n\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this software; see the file COPYING.LIB.  If\nnot, write to the Free Software Foundation, 51 Franklin St -\nFifth Floor, Boston, MA 02110-1301, USA.\n\nThe original port of this functionality was implemented by Tor\nLillqvist; I've adapted his work, to make it somewhat more MinGW\nfriendly.  I have *not* modified any of the `C' sources provided\nby Tor; nor have I changed the naming conventions he adopted for\ngenerated distributables.  I *have*:--\n\n1) Replaced Tor's original `Makefile' with an autoconf generated\n   configure script, and a backwardly compatible `Makefile.in';\n   this provides a more flexible build procedure, which I find\n   more convenient, when cross-compiling on a GNU/Linux host.\n\n2) Added VPATH support, for `out of tree' builds.\n\n3) Adapted the build procedure, to avoid a dependency on the `lib'\n   program from Microsoft's MSVC tool chain.  This is achieved by\n   providing an option to configure, which is disabled by default;\n   it may by activated by specifying `--enable-msvc-implib' on the\n   configure command line.  If this option is not activated, or if\n   the MSVC `lib' tool is not present, the Makefile is configured\n   without binding the rule for building an MSVC compatible import\n   library, to the default target, (although the rule is left in\n   place for explicit use).\n\n   If the `--enable-msvc-implib' option is specified, but `lib' is\n   not present, then configure will issue a warning message, and\n   will again configure the Makefile without binding this rule to\n   the default target.\n\n   Only if the `--enable-msvc-implib' option is specified, *and*\n   the `lib' tool is present, will building of an MSVC compatible\n   import library be configured as a default deliverable.\n\n4) Added `install', `install-dll' and `install-dev' targets, to\n   support direct installation of the DLL, and its associated\n   development kit.\n\n5) Changed the default packaging format for distributables, from\n   Tor's exclusive choice of `zip', to my own preferred `tar.gz';\n   `zip' format remains available, as an option, by configuring\n   with `--enable-dist=zip'.\n\n6) Added `bindist', `devdist' and `srcdist' targets, for greater\n   flexibility in building distribution kits.\n\nThe original text of Tor's README file will be found below.\n\n--Keith Marshall  \u003ckeithmarshall@users.sourceforge.net\u003e\n\nI call the DLL libgnurx-0.dll which hopefully should be unique. At\nleast it isn't \"regex.dll\" which has been used by the\ngnuwin32.sourceforge.net site for *two* incompatible DLLs. (That mess,\nand the mess with their build of Henry Spencer's regex library, was\nwhat lead me to build my own GNU regex library. See the\ngnuwin32-users mailing list archives from December 2006.)\n\nThe \"-0\" is so that if at some point I build a release that isn't\nbinary compatible, I can then increment that and use a different name.\n\nThe import library for gcc is called libgnurx.dll.a, but I also\ndistribute a copy of it called libregex.a so that configure scripts\nthat look for -lregex will work.\n\nNote that none of the wide-character and i18n functionality which is\nbuilt when this is part of glibc gets compiled. Thus things like\ncharacter classes most probably work only for single-byte codepages.\n\nCompiling that stuff would drag in lots of glibc's locale handling\nstuff which is completely incompatible with Microsoft's C library's\nlocale handling anyway. Also, I am not sure whether the GNU regex code\nis prepared to handle a two-byte wchar_t, or does it assume that\nwchar_t is int as it is on Linux? Hmm, actually there is lots of\nsizeof(wchar_t) in glibc, so maybe it *is* prepared? Maybe\nlater... But anyway, it would presumably mean we should have not just\nthe regex functionality but a larger subset of glibc that would\ninclude all locale, ctype, wchar, mbs, etc stuff, presumably ending up\nwith a very large part of glibc (not the system calls,\nobviously). Indeed, something to save for later, or never...\n\n--Tor Lillqvist \u003ctml@iki.fi\u003e, \u003ctml@novell.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonaski%2Flibgnurx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonaski%2Flibgnurx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonaski%2Flibgnurx/lists"}