diff --git a/package/ctcgfw/jpcre2/Makefile b/package/ctcgfw/jpcre2/Makefile new file mode 100644 index 0000000000..0b8ef48090 --- /dev/null +++ b/package/ctcgfw/jpcre2/Makefile @@ -0,0 +1,49 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=jpcre2 +PKG_VERSION:=10.31.03 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/jpcre2/jpcre2.git +PKG_SOURCE_VERSION:=709ec0e866c3ae3ac61e5683b7f9b3b6feaac3f6 +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz +PKG_HASH:=22deb97515e48adf80383ca691229b83d13d8850f6e8b98710426b24955ae5de + +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=[CTCGFW]Project OpenWrt + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=pcre2 + +include $(INCLUDE_DIR)/package.mk + +define Package/libjpcre2 + SECTION:=lib + CATEGORY:=Libraries + TITLE:=C++ wrapper for PCRE2 Library + URL:=https://github.com/jpcre2/jpcre2 +endef + +define Package/libjpcre2/description + This provides some C++ wrapper classes/functions to perform regex operations such as regex match and regex replace. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(INSTALL_DATA) $(PKG_BUILD_DIR)/src/jpcre2.hpp $(1)/usr/include/jpcre2.hpp +endef + +$(eval $(call BuildPackage,libjpcre2)) diff --git a/package/ctcgfw/rapidjson/Makefile b/package/ctcgfw/rapidjson/Makefile new file mode 100644 index 0000000000..42a1ad02c6 --- /dev/null +++ b/package/ctcgfw/rapidjson/Makefile @@ -0,0 +1,51 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=rapidjson +PKG_VERSION:=20200213 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/Tencent/rapidjson.git +PKG_SOURCE_VERSION:=a895ce150fa2d73f4ee55f8657761a6b3e96236f +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz +PKG_HASH:=bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e + +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=[CTCGFW]Project OpenWrt + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/$(PKG_NAME) + SECTION:=lib + CATEGORY:=Libraries + URL:=https://github.com/Tencent/rapidjson + TITLE:=rapidjson JSON parser/generator for C++ + MAINTAINER:=[CTCGFW]Project OpenWrt +endef + +define Package/$(PKG_NAME)/description + A fast JSON parser/generator for C++ with both SAX/DOM style API +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_BUILD_DIR)/include/rapidjson $(1)/usr/include/rapidjson +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/ctcgfw/subconverter/Makefile b/package/ctcgfw/subconverter/Makefile new file mode 100644 index 0000000000..0c4982361d --- /dev/null +++ b/package/ctcgfw/subconverter/Makefile @@ -0,0 +1,78 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=subconverter +PKG_VERSION:=0.3.1 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/tindy2013/subconverter.git +PKG_SOURCE_VERSION:=41b9f97d4ce1b7dea62f9b4a85396fefb7b18b38 +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz +PKG_HASH:=5b84efb52c6a907402dd95f20bdbe196c574a45f192aed68a1377cfff67157a6 + +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=[CTCGFW]Project OpenWrt + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=jpcre2 rapidjson + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=net + CATEGORY:=Network + TITLE:=Utility to convert between various subscription format. + URL:=https://github.com/tindy2013/subconverter + DEPENDS:=+libpthread +libstdcpp +libevent2 +libyaml-cpp +libpcre2 +libcurl +libopenssl +endef + +define Package/$(PKG_NAME)/description + Utility to convert between various subscription format. +endef + +define Build/Configure + mkdir -p $(PKG_BUILD_DIR)/obj +endef + +define Build/Compile + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/interfaces.cpp -o $(PKG_BUILD_DIR)/obj/interfaces.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/logger.cpp -o $(PKG_BUILD_DIR)/obj/logger.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/main.cpp -o $(PKG_BUILD_DIR)/obj/main.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/misc.cpp -o $(PKG_BUILD_DIR)/obj/misc.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/multithread.cpp -o $(PKG_BUILD_DIR)/obj/multithread.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/nodemanip.cpp -o $(PKG_BUILD_DIR)/obj/nodemanip.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/rapidjson_extra.cpp -o $(PKG_BUILD_DIR)/obj/rapidjson_extra.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/speedtestutil.cpp -o $(PKG_BUILD_DIR)/obj/speedtestutil.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/subexport.cpp -o $(PKG_BUILD_DIR)/obj/subexport.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/webget.cpp -o $(PKG_BUILD_DIR)/obj/webget.o + $(TARGET_CROSS)c++ -std=c++17 -Wall -fexceptions -c $(PKG_BUILD_DIR)/src/webserver_libevent.cpp -o $(PKG_BUILD_DIR)/obj/webserver_libevent.o + $(TARGET_CROSS)c++ -o $(PKG_BUILD_DIR)/subconverter $(PKG_BUILD_DIR)/obj/*.o -lpcre2-8 -levent -lpthread -lyaml-cpp -lcurl -lssl -lcrypto -lz -O3 -s +endef + +define Build/Install +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/subconverter $(1)/usr/bin/subconverter + $(INSTALL_DIR) $(1)/etc/subconverter + $(CP) $(PKG_BUILD_DIR)/base/* $(1)/etc/subconverter/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/subconverter.init $(1)/etc/init.d/subconverter + ( cd $(1) && ln -sf usr/bin/subconverter etc/subconverter/subconverter ) +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/ctcgfw/subconverter/files/subconverter.init b/package/ctcgfw/subconverter/files/subconverter.init new file mode 100755 index 0000000000..3bf6d29bb5 --- /dev/null +++ b/package/ctcgfw/subconverter/files/subconverter.init @@ -0,0 +1,14 @@ +#!/bin/sh /etc/rc.common + +START=99 +USE_PROCD=1 + +BIN=/etc/subconverter/subconverter + +start_service() { + procd_open_instance + procd_set_param command $BIN + procd_set_param respawn + procd_set_param stderr 1 + procd_close_instance +} diff --git a/tools/Makefile b/tools/Makefile index 59f2365140..c84b25a442 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -29,7 +29,6 @@ tools-y += mm-macros missing-macros cmake bc findutils gengetopt patchelf tools-y += mtools dosfstools libressl tools-$(CONFIG_TARGET_orion_generic) += wrt350nv2-builder upslug2 tools-y += ucl upx -tools-y += jpcre2 tools-$(CONFIG_TARGET_x86) += qemu tools-$(CONFIG_TARGET_mxs) += elftosb sdimage tools-$(CONFIG_TARGET_ar71xx) += lzma-old diff --git a/tools/jpcre2/Makefile b/tools/jpcre2/Makefile deleted file mode 100644 index bf523a67a4..0000000000 --- a/tools/jpcre2/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright (C) 2019 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk - -PKG_NAME:=jpcre2 -PKG_VERSION:=10.31.03 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/jpcre2/jpcre2.git -PKG_SOURCE_VERSION:=709ec0e866c3ae3ac61e5683b7f9b3b6feaac3f6 -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz -PKG_HASH:=22deb97515e48adf80383ca691229b83d13d8850f6e8b98710426b24955ae5de - -HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION) - -include $(INCLUDE_DIR)/host-build.mk - -HOSTCC :=g++ -HOST_CFLAGS +=-g -O2 - -define Host/Configure - (cd $(HOST_BUILD_DIR); \ - CC="$(HOSTCC)" \ - CFLAGS="$(HOST_CFLAGS)" \ - ./configure --prefix=$(STAGING_DIR_HOST) \ - ); - $(call Host/Configure/Default) -endef - -define Host/Compile - $(MAKE) -C $(HOST_BUILD_DIR) -endef - -define Host/Install - $(MAKE) -C $(HOST_BUILD_DIR) install -endef - -define Host/Clean - $(MAKE) -C $(HOST_BUILD_DIR) uninstall - rm -rf $(HOST_BUILD_DIR) -endef - -$(eval $(call HostBuild))