package ctcgfw: sync with upstream source

This commit is contained in:
CN_SZTL 2020-02-18 20:59:22 +08:00
parent 7e95b15230
commit d45b51fe79
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
4 changed files with 192 additions and 0 deletions

View File

@ -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))

View File

@ -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)))

View File

@ -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 +zlib
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)))

View File

@ -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
}